@quiltdata/benchling-webhook 0.11.0-20251227T023057Z → 0.11.0

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 (30) hide show
  1. package/dist/bin/commands/deploy.d.ts.map +1 -1
  2. package/dist/bin/commands/deploy.js +2 -34
  3. package/dist/bin/commands/deploy.js.map +1 -1
  4. package/dist/bin/commands/setup-wizard.d.ts +11 -9
  5. package/dist/bin/commands/setup-wizard.d.ts.map +1 -1
  6. package/dist/bin/commands/setup-wizard.js +117 -360
  7. package/dist/bin/commands/setup-wizard.js.map +1 -1
  8. package/dist/lib/benchling-webhook-stack.d.ts.map +1 -1
  9. package/dist/lib/benchling-webhook-stack.js +1 -17
  10. package/dist/lib/benchling-webhook-stack.js.map +1 -1
  11. package/dist/lib/wizard/types.d.ts +0 -40
  12. package/dist/lib/wizard/types.d.ts.map +1 -1
  13. package/dist/package.json +2 -2
  14. package/package.json +2 -2
  15. package/dist/lib/wizard/benchling-secret.d.ts +0 -17
  16. package/dist/lib/wizard/benchling-secret.d.ts.map +0 -1
  17. package/dist/lib/wizard/benchling-secret.js +0 -68
  18. package/dist/lib/wizard/benchling-secret.js.map +0 -1
  19. package/dist/lib/wizard/phase5-unified-flow.d.ts +0 -13
  20. package/dist/lib/wizard/phase5-unified-flow.d.ts.map +0 -1
  21. package/dist/lib/wizard/phase5-unified-flow.js +0 -173
  22. package/dist/lib/wizard/phase5-unified-flow.js.map +0 -1
  23. package/dist/lib/wizard/profile-config-builder.d.ts +0 -32
  24. package/dist/lib/wizard/profile-config-builder.d.ts.map +0 -1
  25. package/dist/lib/wizard/profile-config-builder.js +0 -162
  26. package/dist/lib/wizard/profile-config-builder.js.map +0 -1
  27. package/dist/lib/wizard/stack-waiter.d.ts +0 -22
  28. package/dist/lib/wizard/stack-waiter.d.ts.map +0 -1
  29. package/dist/lib/wizard/stack-waiter.js +0 -77
  30. package/dist/lib/wizard/stack-waiter.js.map +0 -1
@@ -1,22 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  /**
4
- * Interactive Configuration Wizard (v0.10.0)
4
+ * Interactive Configuration Wizard (v0.8.0)
5
5
  *
6
- * Unified setup wizard that orchestrates:
6
+ * Phase-based modular setup wizard that orchestrates:
7
7
  * 1. Catalog discovery and confirmation
8
8
  * 2. Stack query for infrastructure details
9
- * 3. Context display and flow decision
10
- * 4. Parameter collection (only when needed)
11
- * 5. Execution (update secrets, enable/disable integration, deploy)
9
+ * 3. Parameter collection from user
10
+ * 4. Configuration validation
11
+ * 5. Deployment mode decision (integrated vs standalone)
12
+ * 6. Mode-specific setup (integrated or standalone)
12
13
  *
13
14
  * Architecture:
14
- * - Context first, then targeted questions
15
- * - Parameter collection is deferred until required
16
- * - Integrated and standalone paths share execution helpers
15
+ * - Each phase is a separate, testable module
16
+ * - Explicit data flow between phases via TypeScript types
17
+ * - Cannot skip phases or execute out of order
18
+ * - Integrated mode has explicit return (no deployment)
17
19
  *
18
20
  * @module commands/setup-wizard
19
- * @version 0.10.0
21
+ * @version 0.8.0
20
22
  */
21
23
  var __importDefault = (this && this.__importDefault) || function (mod) {
22
24
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -34,13 +36,9 @@ const phase1_catalog_discovery_1 = require("../../lib/wizard/phase1-catalog-disc
34
36
  const phase2_stack_query_1 = require("../../lib/wizard/phase2-stack-query");
35
37
  const phase3_parameter_collection_1 = require("../../lib/wizard/phase3-parameter-collection");
36
38
  const phase4_validation_1 = require("../../lib/wizard/phase4-validation");
37
- const phase5_unified_flow_1 = require("../../lib/wizard/phase5-unified-flow");
38
- const profile_config_builder_1 = require("../../lib/wizard/profile-config-builder");
39
- const stack_waiter_1 = require("../../lib/wizard/stack-waiter");
40
- const sync_secrets_1 = require("./sync-secrets");
41
- const deploy_1 = require("./deploy");
42
- const config_1 = require("../../lib/types/config");
43
- const stack_parameter_update_1 = require("../../lib/utils/stack-parameter-update");
39
+ const phase5_mode_decision_1 = require("../../lib/wizard/phase5-mode-decision");
40
+ const phase6_integrated_mode_1 = require("../../lib/wizard/phase6-integrated-mode");
41
+ const phase7_standalone_mode_1 = require("../../lib/wizard/phase7-standalone-mode");
44
42
  /**
45
43
  * Step titles for the wizard phases
46
44
  * This is the single source of truth for step numbering and titles
@@ -48,10 +46,11 @@ const stack_parameter_update_1 = require("../../lib/utils/stack-parameter-update
48
46
  const STEP_TITLES = {
49
47
  catalogDiscovery: "Quilt Catalog Discovery",
50
48
  stackQuery: "Quilt Stack Configuration",
51
- flowDecision: "Context & Flow Selection",
52
- parameterCollection: "Benchling Parameters",
49
+ parameterCollection: "Configuration Parameters",
53
50
  validation: "Validation",
54
- execution: "Execution",
51
+ modeDecision: "Deployment Mode",
52
+ integratedMode: "Integrated Setup",
53
+ standaloneMode: "Standalone Setup",
55
54
  };
56
55
  /**
57
56
  * Gets the package version from package.json
@@ -184,362 +183,120 @@ async function runSetupWizard(options = {}) {
184
183
  throw new Error("Stack query failed");
185
184
  }
186
185
  // =========================================================================
187
- // PHASE 3: CONTEXT + FLOW DECISION
186
+ // PHASE 3: PARAMETER COLLECTION
188
187
  // =========================================================================
189
- printStepHeader(3, STEP_TITLES.flowDecision);
190
- const flowDecision = await (0, phase5_unified_flow_1.runUnifiedFlowDecision)({
188
+ // Collect user inputs, using existing config and stack query results as defaults
189
+ printStepHeader(3, STEP_TITLES.parameterCollection);
190
+ const parameters = await (0, phase3_parameter_collection_1.runParameterCollection)({
191
191
  stackQuery,
192
192
  existingConfig,
193
- configStorage: xdg,
194
- profile,
195
193
  yes,
196
- awsProfile,
194
+ profile,
195
+ benchlingTenant: options.benchlingTenant,
196
+ benchlingClientId: options.benchlingClientId,
197
+ benchlingClientSecret: options.benchlingClientSecret,
198
+ benchlingAppDefinitionId: options.benchlingAppDefinitionId,
199
+ userBucket: options.userBucket,
200
+ pkgPrefix: options.pkgPrefix,
201
+ pkgKey: options.pkgKey,
202
+ logLevel: options.logLevel,
203
+ webhookAllowList: options.webhookAllowList,
197
204
  });
198
- if (flowDecision.action === "exit") {
199
- console.log(chalk_1.default.green("✓ Exit without changes"));
200
- if (existingConfig) {
201
- return {
202
- success: true,
203
- profile,
204
- config: existingConfig,
205
- deploymentHandled: true,
206
- };
207
- }
208
- process.exit(0);
209
- }
210
- const actionsRequiringParameters = new Set([
211
- "update-integration-secret",
212
- "enable-integration",
213
- "deploy-standalone",
214
- "update-standalone-redeploy",
215
- ]);
216
- let parameters = undefined;
217
- const collectParameters = async () => {
218
- printStepHeader(4, STEP_TITLES.parameterCollection);
219
- parameters = await (0, phase3_parameter_collection_1.runParameterCollection)({
205
+ // =========================================================================
206
+ // PHASE 4: VALIDATION
207
+ // =========================================================================
208
+ // Validate all collected parameters BEFORE making mode decision
209
+ if (!skipValidation) {
210
+ printStepHeader(4, STEP_TITLES.validation);
211
+ const validation = await (0, phase4_validation_1.runValidation)({
220
212
  stackQuery,
221
- existingConfig,
222
- yes,
223
- profile,
224
- benchlingTenant: options.benchlingTenant,
225
- benchlingClientId: options.benchlingClientId,
226
- benchlingClientSecret: options.benchlingClientSecret,
227
- benchlingAppDefinitionId: options.benchlingAppDefinitionId,
228
- userBucket: options.userBucket,
229
- pkgPrefix: options.pkgPrefix,
230
- pkgKey: options.pkgKey,
231
- logLevel: options.logLevel,
232
- webhookAllowList: options.webhookAllowList,
213
+ parameters,
214
+ awsProfile,
233
215
  });
234
- if (!skipValidation) {
235
- printStepHeader(5, STEP_TITLES.validation);
236
- const validation = await (0, phase4_validation_1.runValidation)({
237
- stackQuery,
238
- parameters,
239
- awsProfile,
240
- });
241
- if (!validation.success) {
242
- if (yes) {
243
- throw new Error(`Validation failed: ${validation.errors.join(", ")}`);
244
- }
245
- const { proceed } = await inquirer_1.default.prompt([
246
- {
247
- type: "confirm",
248
- name: "proceed",
249
- message: "Save configuration anyway?",
250
- default: false,
251
- },
252
- ]);
253
- if (!proceed) {
254
- throw new Error("Setup aborted by user");
255
- }
216
+ if (!validation.success) {
217
+ if (yes) {
218
+ throw new Error(`Validation failed: ${validation.errors.join(", ")}`);
256
219
  }
257
- }
258
- };
259
- if (actionsRequiringParameters.has(flowDecision.action)) {
260
- await collectParameters();
261
- }
262
- const saveConfig = (config) => {
263
- console.log(`Saving configuration to profile: ${profile}...\n`);
264
- xdg.writeProfile(profile, config);
265
- console.log(chalk_1.default.green(`✓ Configuration saved to: ~/.config/benchling-webhook/${profile}/config.json\n`));
266
- };
267
- const requireConfig = async (integratedStack) => {
268
- try {
269
- return (0, profile_config_builder_1.buildProfileConfigFromExisting)({
270
- stackQuery,
271
- existingConfig,
272
- secretDetails: flowDecision.secretDetails,
273
- catalogDns: catalogResult.catalogDns,
274
- integratedStack,
275
- benchlingSecretArn: flowDecision.benchlingSecretArn,
276
- });
277
- }
278
- catch (_error) {
279
- if (!parameters) {
280
- await collectParameters();
281
- }
282
- return (0, profile_config_builder_1.buildProfileConfigFromParameters)({
283
- stackQuery,
284
- parameters: parameters,
285
- catalogDns: catalogResult.catalogDns,
286
- integratedStack,
287
- benchlingSecretArn: flowDecision.benchlingSecretArn,
288
- });
289
- }
290
- };
291
- printStepHeader(6, STEP_TITLES.execution);
292
- switch (flowDecision.action) {
293
- case "update-integration-secret": {
294
- const benchlingSecretArn = flowDecision.benchlingSecretArn;
295
- if (!benchlingSecretArn) {
296
- throw new Error("BenchlingSecret ARN not found for integrated update.");
297
- }
298
- const config = (0, profile_config_builder_1.buildProfileConfigFromParameters)({
299
- stackQuery,
300
- parameters: parameters,
301
- catalogDns: catalogResult.catalogDns,
302
- integratedStack: true,
303
- benchlingSecretArn,
304
- });
305
- saveConfig(config);
306
- await (0, sync_secrets_1.syncSecretsToAWS)({
307
- profile,
308
- awsProfile,
309
- region: config.deployment.region,
310
- force: true,
311
- configStorage: xdg,
312
- });
313
- break;
314
- }
315
- case "review-only": {
316
- const integratedStack = flowDecision.flow !== "standalone-existing";
317
- const config = await requireConfig(integratedStack);
318
- saveConfig(config);
319
- break;
320
- }
321
- case "disable-integration": {
322
- const confirmDisable = yes || (await inquirer_1.default.prompt([
323
- {
324
- type: "confirm",
325
- name: "confirmDisable",
326
- message: "Stop webhook? (can re-enable later)",
327
- default: false,
328
- },
329
- ])).confirmDisable;
330
- if (!confirmDisable) {
331
- console.log(chalk_1.default.green("✓ Exit without changes"));
332
- return {
333
- success: true,
334
- profile,
335
- config: existingConfig || (await requireConfig(true)),
336
- deploymentHandled: true,
337
- };
338
- }
339
- const updateResult = await (0, stack_parameter_update_1.updateStackParameter)({
340
- stackArn: stackQuery.stackArn,
341
- region: stackQuery.region,
342
- parameterKey: config_1.CFN_PARAMS.BENCHLING_WEBHOOK,
343
- parameterValue: "Disabled",
344
- awsProfile,
345
- });
346
- if (updateResult.success) {
347
- console.log(chalk_1.default.green("✓ Stack update initiated"));
348
- await (0, stack_waiter_1.pollStackStatus)({
349
- stackArn: stackQuery.stackArn,
350
- region: stackQuery.region,
351
- awsProfile,
352
- });
353
- }
354
- else {
355
- throw new Error(updateResult.error || "Failed to disable BenchlingIntegration");
356
- }
357
- const config = await requireConfig(true);
358
- saveConfig(config);
359
- break;
360
- }
361
- case "switch-standalone": {
362
- const confirmSwitch = yes || (await inquirer_1.default.prompt([
220
+ const { proceed } = await inquirer_1.default.prompt([
363
221
  {
364
222
  type: "confirm",
365
- name: "confirmSwitch",
366
- message: "Create separate infrastructure? (~8-10 min)",
223
+ name: "proceed",
224
+ message: "Save configuration anyway?",
367
225
  default: false,
368
226
  },
369
- ])).confirmSwitch;
370
- if (!confirmSwitch) {
371
- console.log(chalk_1.default.green(" Exit without changes"));
372
- return {
373
- success: true,
374
- profile,
375
- config: existingConfig || (await requireConfig(true)),
376
- deploymentHandled: true,
377
- };
378
- }
379
- const updateResult = await (0, stack_parameter_update_1.updateStackParameter)({
380
- stackArn: stackQuery.stackArn,
381
- region: stackQuery.region,
382
- parameterKey: config_1.CFN_PARAMS.BENCHLING_WEBHOOK,
383
- parameterValue: "Disabled",
384
- awsProfile,
385
- });
386
- if (updateResult.success) {
387
- console.log(chalk_1.default.green("✓ Stack update initiated"));
388
- await (0, stack_waiter_1.pollStackStatus)({
389
- stackArn: stackQuery.stackArn,
390
- region: stackQuery.region,
391
- awsProfile,
392
- });
393
- }
394
- else {
395
- throw new Error(updateResult.error || "Failed to disable BenchlingIntegration");
396
- }
397
- const config = await requireConfig(false);
398
- saveConfig(config);
399
- await (0, sync_secrets_1.syncSecretsToAWS)({
400
- profile,
401
- awsProfile,
402
- region: config.deployment.region,
403
- force: true,
404
- configStorage: xdg,
405
- });
406
- if (!setupOnly) {
407
- await (0, deploy_1.deployCommand)({
408
- profile,
409
- stage: profile === "prod" ? "prod" : "dev",
410
- yes: true,
411
- });
412
- }
413
- break;
414
- }
415
- case "enable-integration": {
416
- const confirmEnable = yes || (await inquirer_1.default.prompt([
417
- {
418
- type: "confirm",
419
- name: "confirmEnable",
420
- message: "Enable integration?",
421
- default: true,
422
- },
423
- ])).confirmEnable;
424
- if (!confirmEnable) {
425
- console.log(chalk_1.default.green("✓ Exit without changes"));
426
- return {
427
- success: true,
428
- profile,
429
- config: existingConfig || (await requireConfig(true)),
430
- deploymentHandled: true,
431
- };
432
- }
433
- const updateResult = await (0, stack_parameter_update_1.updateStackParameter)({
434
- stackArn: stackQuery.stackArn,
435
- region: stackQuery.region,
436
- parameterKey: config_1.CFN_PARAMS.BENCHLING_WEBHOOK,
437
- parameterValue: "Enabled",
438
- awsProfile,
439
- });
440
- if (updateResult.success) {
441
- console.log(chalk_1.default.green("✓ Stack update initiated"));
442
- await (0, stack_waiter_1.pollStackStatus)({
443
- stackArn: stackQuery.stackArn,
444
- region: stackQuery.region,
445
- awsProfile,
446
- });
227
+ ]);
228
+ if (!proceed) {
229
+ throw new Error("Setup aborted by user");
447
230
  }
448
- else {
449
- throw new Error(updateResult.error || "Failed to enable BenchlingIntegration");
450
- }
451
- const benchlingSecretArn = await (0, stack_waiter_1.waitForBenchlingSecretArn)({
452
- stackArn: stackQuery.stackArn,
453
- region: stackQuery.region,
454
- awsProfile,
455
- });
456
- const config = (0, profile_config_builder_1.buildProfileConfigFromParameters)({
457
- stackQuery,
458
- parameters: parameters,
459
- catalogDns: catalogResult.catalogDns,
460
- integratedStack: true,
461
- benchlingSecretArn,
462
- });
463
- saveConfig(config);
464
- await (0, sync_secrets_1.syncSecretsToAWS)({
465
- profile,
466
- awsProfile,
467
- region: config.deployment.region,
468
- force: true,
469
- configStorage: xdg,
470
- });
471
- break;
472
231
  }
473
- case "deploy-standalone": {
474
- const config = (0, profile_config_builder_1.buildProfileConfigFromParameters)({
475
- stackQuery,
476
- parameters: parameters,
477
- catalogDns: catalogResult.catalogDns,
478
- integratedStack: false,
479
- });
480
- saveConfig(config);
481
- await (0, sync_secrets_1.syncSecretsToAWS)({
482
- profile,
483
- awsProfile,
484
- region: config.deployment.region,
485
- force: true,
486
- configStorage: xdg,
487
- });
488
- if (!setupOnly) {
489
- await (0, deploy_1.deployCommand)({
490
- profile,
491
- stage: profile === "prod" ? "prod" : "dev",
492
- yes: true,
493
- });
494
- }
495
- break;
496
- }
497
- case "update-standalone-redeploy": {
498
- const config = (0, profile_config_builder_1.buildProfileConfigFromParameters)({
499
- stackQuery,
500
- parameters: parameters,
501
- catalogDns: catalogResult.catalogDns,
502
- integratedStack: false,
503
- });
504
- saveConfig(config);
505
- if (!setupOnly) {
506
- await (0, deploy_1.deployCommand)({
507
- profile,
508
- stage: profile === "prod" ? "prod" : "dev",
509
- yes: true,
510
- });
511
- }
512
- await (0, sync_secrets_1.syncSecretsToAWS)({
513
- profile,
514
- awsProfile,
515
- region: config.deployment.region,
516
- force: true,
517
- configStorage: xdg,
518
- });
519
- break;
520
- }
521
- case "update-standalone-secret": {
522
- const config = await requireConfig(false);
523
- saveConfig(config);
524
- await (0, sync_secrets_1.syncSecretsToAWS)({
525
- profile,
526
- awsProfile,
527
- region: config.deployment.region,
528
- force: true,
529
- configStorage: xdg,
530
- });
531
- break;
532
- }
533
- default:
534
- break;
535
232
  }
536
- const finalConfig = xdg.readProfile(profile);
537
- return {
538
- success: true,
539
- profile,
540
- config: finalConfig,
541
- deploymentHandled: true,
542
- };
233
+ // =========================================================================
234
+ // PHASE 5: MODE DECISION
235
+ // =========================================================================
236
+ // Decide between integrated mode (use existing BenchlingSecret) or
237
+ // standalone mode (create new dedicated secret)
238
+ printStepHeader(5, STEP_TITLES.modeDecision);
239
+ const modeDecision = await (0, phase5_mode_decision_1.runModeDecision)({
240
+ stackQuery,
241
+ yes,
242
+ });
243
+ // =========================================================================
244
+ // PHASE 6 OR 7: MODE-SPECIFIC EXECUTION
245
+ // =========================================================================
246
+ if (modeDecision.mode === "integrated") {
247
+ // =====================================================================
248
+ // PHASE 6: INTEGRATED MODE
249
+ // =====================================================================
250
+ // Update existing BenchlingSecret in Quilt stack
251
+ // NO deployment - Quilt stack handles webhook
252
+ // MUST return here to prevent fall-through
253
+ printStepHeader(6, STEP_TITLES.integratedMode);
254
+ await (0, phase6_integrated_mode_1.runIntegratedMode)({
255
+ profile,
256
+ catalogDns: catalogResult.catalogDns,
257
+ stackQuery,
258
+ parameters,
259
+ benchlingSecretArn: modeDecision.benchlingSecretArn,
260
+ configStorage: xdg,
261
+ awsProfile,
262
+ yes,
263
+ });
264
+ // CRITICAL: Explicit return for integrated mode
265
+ // Cannot fall through to deployment
266
+ const finalConfig = xdg.readProfile(profile);
267
+ return {
268
+ success: true,
269
+ profile,
270
+ config: finalConfig,
271
+ deploymentHandled: true, // Integrated mode completes in phase 6, no deployment needed
272
+ };
273
+ }
274
+ else {
275
+ // =====================================================================
276
+ // PHASE 7: STANDALONE MODE
277
+ // =====================================================================
278
+ // Create new dedicated secret
279
+ // Optionally deploy as separate stack
280
+ printStepHeader(6, STEP_TITLES.standaloneMode);
281
+ const standaloneResult = await (0, phase7_standalone_mode_1.runStandaloneMode)({
282
+ profile,
283
+ catalogDns: catalogResult.catalogDns,
284
+ stackQuery,
285
+ parameters,
286
+ configStorage: xdg,
287
+ yes,
288
+ setupOnly,
289
+ awsProfile,
290
+ });
291
+ // CRITICAL: Explicit return for standalone mode
292
+ const finalConfig = xdg.readProfile(profile);
293
+ return {
294
+ success: true,
295
+ profile,
296
+ config: finalConfig,
297
+ deploymentHandled: standaloneResult.deploymentHandled,
298
+ };
299
+ }
543
300
  }
544
301
  /**
545
302
  * Setup wizard command handler
@@ -1 +1 @@
1
- {"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../../../bin/commands/setup-wizard.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;;;;;;GAiBG;;;;;AAgJH,wCA2dC;AAUD,gDAiBC;AApoBD,kDAA0B;AAC1B,wDAAgC;AAChC,qDAAiD;AAGjD,2BAAkC;AAClC,+BAA4B;AAE5B,gBAAgB;AAChB,wFAAgF;AAChF,4EAAoE;AACpE,8FAAsF;AACtF,0EAAmE;AACnE,8EAA8E;AAC9E,oFAA2H;AAC3H,gEAA2F;AAC3F,iDAAkD;AAClD,qCAAyC;AACzC,mDAAoD;AACpD,mFAA8E;AAiD9E;;;GAGG;AACH,MAAM,WAAW,GAAG;IAChB,gBAAgB,EAAE,yBAAyB;IAC3C,UAAU,EAAE,2BAA2B;IACvC,YAAY,EAAE,0BAA0B;IACxC,mBAAmB,EAAE,sBAAsB;IAC3C,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;CACzB,CAAC;AAEF;;GAEG;AACH,SAAS,UAAU;IACf,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,OAAO,WAAW,CAAC,OAAO,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB;IACvB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,+BAA+B,CAAC;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC;IACnB,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,8BAA8B;IACrD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACrE,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC;IAEvD,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;AACjF,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,UAAkB,EAAE,KAAa;IACtD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,UAAU,UAAU,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACI,KAAK,UAAU,cAAc,CAAC,UAA8B,EAAE;IACjE,MAAM,EACF,OAAO,GAAG,SAAS,EACnB,GAAG,GAAG,KAAK,EACX,cAAc,GAAG,KAAK,EACtB,UAAU,EACV,SAAS,EACT,SAAS,GAAG,KAAK,EACjB,aAAa,GAChB,GAAG,OAAO,CAAC;IAEZ,MAAM,GAAG,GAAG,aAAa,IAAI,IAAI,sBAAS,EAAE,CAAC;IAE7C,kBAAkB,EAAE,CAAC;IAErB,2CAA2C;IAC3C,IAAI,cAAc,GAAyB,IAAI,CAAC;IAEhD,IAAI,CAAC;QACD,cAAc,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,iDAAiD,OAAO,IAAI,CAAC,CAAC,CAAC;IACzF,CAAC;IAAC,MAAM,CAAC;QACL,qDAAqD;QACrD,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC;gBACD,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAEjD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;oBACnC;wBACI,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,YAAY,OAAO,qDAAqD;wBACjF,OAAO,EAAE,IAAI;qBAChB;iBACJ,CAAC,CAAC;gBAEH,IAAI,IAAI,EAAE,CAAC;oBACP,cAAc,GAAG,aAAa,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;gBAC9E,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6CAA6C,OAAO,IAAI,CAAC,CAAC,CAAC;gBACrF,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,0CAA0C;gBAC1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6CAA6C,OAAO,IAAI,CAAC,CAAC,CAAC;YACrF,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,4CAA4C;YAC5C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6CAA6C,OAAO,IAAI,CAAC,CAAC,CAAC;QACrF,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,6BAA6B;IAC7B,4EAA4E;IAC5E,uEAAuE;IACvE,wEAAwE;IACxE,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,MAAM,IAAA,8CAAmB,EAAC;QAC5C,GAAG;QACH,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,eAAe,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO;KAClD,CAAC,CAAC;IAEH,4EAA4E;IAC5E,uBAAuB;IACvB,4EAA4E;IAC5E,0CAA0C;IAC1C,6DAA6D;IAC7D,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAM,IAAA,kCAAa,EAAC,aAAa,CAAC,UAAU,EAAE;QAC7D,UAAU;QACV,SAAS;QACT,GAAG;KACN,CAAC,CAAC;IAEH,6BAA6B;IAC7B,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAC,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC1C,CAAC;IAED,4EAA4E;IAC5E,mCAAmC;IACnC,4EAA4E;IAC5E,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM,IAAA,4CAAsB,EAAC;QAC9C,UAAU;QACV,cAAc;QACd,aAAa,EAAE,GAAG;QAClB,OAAO;QACP,GAAG;QACH,UAAU;KACb,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACnD,IAAI,cAAc,EAAE,CAAC;YACjB,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,OAAO;gBACP,MAAM,EAAE,cAAc;gBACtB,iBAAiB,EAAE,IAAI;aAC1B,CAAC;QACN,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;QACvC,2BAA2B;QAC3B,oBAAoB;QACpB,mBAAmB;QACnB,4BAA4B;KAC/B,CAAC,CAAC;IAEH,IAAI,UAAU,GAAG,SAA2E,CAAC;IAE7F,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;QAChD,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACpD,UAAU,GAAG,MAAM,IAAA,oDAAsB,EAAC;YACtC,UAAU;YACV,cAAc;YACd,GAAG;YACH,OAAO;YACP,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;YACpD,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;YAC1D,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC7C,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,EAAC;gBACnC,UAAU;gBACV,UAAU;gBACV,UAAU;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACtB,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,sBAAsB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;oBACtC;wBACI,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,4BAA4B;wBACrC,OAAO,EAAE,KAAK;qBACjB;iBACJ,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC7C,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,0BAA0B,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,MAAM,iBAAiB,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,MAAqB,EAAQ,EAAE;QAC/C,OAAO,CAAC,GAAG,CAAC,oCAAoC,OAAO,OAAO,CAAC,CAAC;QAChE,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,yDAAyD,OAAO,gBAAgB,CAAC,CAAC,CAAC;IAC/G,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,eAAwB,EAA0B,EAAE;QAC7E,IAAI,CAAC;YACD,OAAO,IAAA,uDAA8B,EAAC;gBAClC,UAAU;gBACV,cAAc;gBACd,aAAa,EAAE,YAAY,CAAC,aAAa;gBACzC,UAAU,EAAE,aAAa,CAAC,UAAU;gBACpC,eAAe;gBACf,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;aACtD,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM,iBAAiB,EAAE,CAAC;YAC9B,CAAC;YACD,OAAO,IAAA,yDAAgC,EAAC;gBACpC,UAAU;gBACV,UAAU,EAAE,UAAW;gBACvB,UAAU,EAAE,aAAa,CAAC,UAAU;gBACpC,eAAe;gBACf,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;aACtD,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC;IAEF,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAE1C,QAAQ,YAAY,CAAC,MAAM,EAAE,CAAC;QAC9B,KAAK,2BAA2B,CAAC,CAAC,CAAC;YAC/B,MAAM,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC;YAC3D,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,MAAM,GAAG,IAAA,yDAAgC,EAAC;gBAC5C,UAAU;gBACV,UAAU,EAAE,UAAW;gBACvB,UAAU,EAAE,aAAa,CAAC,UAAU;gBACpC,eAAe,EAAE,IAAI;gBACrB,kBAAkB;aACrB,CAAC,CAAC;YAEH,UAAU,CAAC,MAAM,CAAC,CAAC;YACnB,MAAM,IAAA,+BAAgB,EAAC;gBACnB,OAAO;gBACP,UAAU;gBACV,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;gBAChC,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,GAAG;aACrB,CAAC,CAAC;YACH,MAAM;QACV,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACjB,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,KAAK,qBAAqB,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,CAAC;YACpD,UAAU,CAAC,MAAM,CAAC,CAAC;YACnB,MAAM;QACV,CAAC;QACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;YACzB,MAAM,cAAc,GAAG,GAAG,IAAI,CAAC,MAAM,kBAAQ,CAAC,MAAM,CAAC;gBACjD;oBACI,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,qCAAqC;oBAC9C,OAAO,EAAE,KAAK;iBACjB;aACJ,CAAC,CAAC,CAAC,cAAc,CAAC;YAEnB,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACnD,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,OAAO;oBACP,MAAM,EAAE,cAAc,IAAI,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;oBACrD,iBAAiB,EAAE,IAAI;iBAC1B,CAAC;YACN,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAA,6CAAoB,EAAC;gBAC5C,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,YAAY,EAAE,mBAAU,CAAC,iBAAiB;gBAC1C,cAAc,EAAE,UAAU;gBAC1B,UAAU;aACb,CAAC,CAAC;YAEH,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBACrD,MAAM,IAAA,8BAAe,EAAC;oBAClB,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,UAAU;iBACb,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,wCAAwC,CAAC,CAAC;YACpF,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;YACzC,UAAU,CAAC,MAAM,CAAC,CAAC;YACnB,MAAM;QACV,CAAC;QACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACvB,MAAM,aAAa,GAAG,GAAG,IAAI,CAAC,MAAM,kBAAQ,CAAC,MAAM,CAAC;gBAChD;oBACI,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,6CAA6C;oBACtD,OAAO,EAAE,KAAK;iBACjB;aACJ,CAAC,CAAC,CAAC,aAAa,CAAC;YAElB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACnD,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,OAAO;oBACP,MAAM,EAAE,cAAc,IAAI,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;oBACrD,iBAAiB,EAAE,IAAI;iBAC1B,CAAC;YACN,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAA,6CAAoB,EAAC;gBAC5C,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,YAAY,EAAE,mBAAU,CAAC,iBAAiB;gBAC1C,cAAc,EAAE,UAAU;gBAC1B,UAAU;aACb,CAAC,CAAC;YAEH,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBACrD,MAAM,IAAA,8BAAe,EAAC;oBAClB,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,UAAU;iBACb,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,wCAAwC,CAAC,CAAC;YACpF,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1C,UAAU,CAAC,MAAM,CAAC,CAAC;YAEnB,MAAM,IAAA,+BAAgB,EAAC;gBACnB,OAAO;gBACP,UAAU;gBACV,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;gBAChC,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,GAAG;aACrB,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,MAAM,IAAA,sBAAa,EAAC;oBAChB,OAAO;oBACP,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;oBAC1C,GAAG,EAAE,IAAI;iBACZ,CAAC,CAAC;YACP,CAAC;YACD,MAAM;QACV,CAAC;QACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;YACxB,MAAM,aAAa,GAAG,GAAG,IAAI,CAAC,MAAM,kBAAQ,CAAC,MAAM,CAAC;gBAChD;oBACI,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,qBAAqB;oBAC9B,OAAO,EAAE,IAAI;iBAChB;aACJ,CAAC,CAAC,CAAC,aAAa,CAAC;YAElB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACnD,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,OAAO;oBACP,MAAM,EAAE,cAAc,IAAI,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;oBACrD,iBAAiB,EAAE,IAAI;iBAC1B,CAAC;YACN,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAA,6CAAoB,EAAC;gBAC5C,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,YAAY,EAAE,mBAAU,CAAC,iBAAiB;gBAC1C,cAAc,EAAE,SAAS;gBACzB,UAAU;aACb,CAAC,CAAC;YAEH,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBACrD,MAAM,IAAA,8BAAe,EAAC;oBAClB,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,UAAU;iBACb,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,uCAAuC,CAAC,CAAC;YACnF,CAAC;YAED,MAAM,kBAAkB,GAAG,MAAM,IAAA,wCAAyB,EAAC;gBACvD,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,UAAU;aACb,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAA,yDAAgC,EAAC;gBAC5C,UAAU;gBACV,UAAU,EAAE,UAAW;gBACvB,UAAU,EAAE,aAAa,CAAC,UAAU;gBACpC,eAAe,EAAE,IAAI;gBACrB,kBAAkB;aACrB,CAAC,CAAC;YAEH,UAAU,CAAC,MAAM,CAAC,CAAC;YACnB,MAAM,IAAA,+BAAgB,EAAC;gBACnB,OAAO;gBACP,UAAU;gBACV,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;gBAChC,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,GAAG;aACrB,CAAC,CAAC;YACH,MAAM;QACV,CAAC;QACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,IAAA,yDAAgC,EAAC;gBAC5C,UAAU;gBACV,UAAU,EAAE,UAAW;gBACvB,UAAU,EAAE,aAAa,CAAC,UAAU;gBACpC,eAAe,EAAE,KAAK;aACzB,CAAC,CAAC;YAEH,UAAU,CAAC,MAAM,CAAC,CAAC;YACnB,MAAM,IAAA,+BAAgB,EAAC;gBACnB,OAAO;gBACP,UAAU;gBACV,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;gBAChC,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,GAAG;aACrB,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,MAAM,IAAA,sBAAa,EAAC;oBAChB,OAAO;oBACP,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;oBAC1C,GAAG,EAAE,IAAI;iBACZ,CAAC,CAAC;YACP,CAAC;YACD,MAAM;QACV,CAAC;QACD,KAAK,4BAA4B,CAAC,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,IAAA,yDAAgC,EAAC;gBAC5C,UAAU;gBACV,UAAU,EAAE,UAAW;gBACvB,UAAU,EAAE,aAAa,CAAC,UAAU;gBACpC,eAAe,EAAE,KAAK;aACzB,CAAC,CAAC;YAEH,UAAU,CAAC,MAAM,CAAC,CAAC;YAEnB,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,MAAM,IAAA,sBAAa,EAAC;oBAChB,OAAO;oBACP,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;oBAC1C,GAAG,EAAE,IAAI;iBACZ,CAAC,CAAC;YACP,CAAC;YAED,MAAM,IAAA,+BAAgB,EAAC;gBACnB,OAAO;gBACP,UAAU;gBACV,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;gBAChC,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,GAAG;aACrB,CAAC,CAAC;YACH,MAAM;QACV,CAAC;QACD,KAAK,0BAA0B,CAAC,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1C,UAAU,CAAC,MAAM,CAAC,CAAC;YACnB,MAAM,IAAA,+BAAgB,EAAC;gBACnB,OAAO;gBACP,UAAU;gBACV,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;gBAChC,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,GAAG;aACrB,CAAC,CAAC;YACH,MAAM;QACV,CAAC;QACD;YACI,MAAM;IACV,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO;QACH,OAAO,EAAE,IAAI;QACb,OAAO;QACP,MAAM,EAAE,WAAW;QACnB,iBAAiB,EAAE,IAAI;KAC1B,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,kBAAkB,CAAC,UAA8B,EAAE;IACrE,IAAI,CAAC;QACD,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,+CAA+C;QAC/C,MAAM,GAAG,GAAG,KAAkC,CAAC;QAC/C,IACI,GAAG;YACH,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC;gBACvC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC;gBAC5C,GAAG,CAAC,IAAI,KAAK,qBAAqB,CAAC,EACzC,CAAC;YACC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../../../bin/commands/setup-wizard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"benchling-webhook-stack.d.ts","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAInC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD;;;;;;GAMG;AACH,MAAM,WAAW,0BAA2B,SAAQ,GAAG,CAAC,UAAU;IAC9D;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAChC;AAED,qBAAa,qBAAsB,SAAQ,GAAG,CAAC,KAAK;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;IACrC,SAAgB,eAAe,EAAE,MAAM,CAAC;gBAGpC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,0BAA0B;CA0UxC"}
1
+ {"version":3,"file":"benchling-webhook-stack.d.ts","sourceRoot":"","sources":["../../lib/benchling-webhook-stack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAGnC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD;;;;;;GAMG;AACH,MAAM,WAAW,0BAA2B,SAAQ,GAAG,CAAC,UAAU;IAC9D;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAChC;AAED,qBAAa,qBAAsB,SAAQ,GAAG,CAAC,KAAK;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;IACrC,SAAgB,eAAe,EAAE,MAAM,CAAC;gBAGpC,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,0BAA0B;CAmTxC"}
@@ -40,7 +40,6 @@ exports.BenchlingWebhookStack = void 0;
40
40
  const cdk = __importStar(require("aws-cdk-lib"));
41
41
  const ec2 = __importStar(require("aws-cdk-lib/aws-ec2"));
42
42
  const ecr = __importStar(require("aws-cdk-lib/aws-ecr"));
43
- const athena = __importStar(require("aws-cdk-lib/aws-athena"));
44
43
  const fargate_service_1 = require("./fargate-service");
45
44
  const rest_api_gateway_1 = require("./rest-api-gateway");
46
45
  const network_load_balancer_1 = require("./network-load-balancer");
@@ -137,21 +136,6 @@ class BenchlingWebhookStack extends cdk.Stack {
137
136
  const imageTagValue = imageTagParam.valueAsString;
138
137
  const packageBucketValue = packageBucketParam.valueAsString;
139
138
  const quiltDatabaseValue = quiltDatabaseParam.valueAsString;
140
- const createAthenaWorkgroupCondition = new cdk.CfnCondition(this, "CreateAthenaWorkgroup", {
141
- expression: cdk.Fn.conditionEquals(athenaUserWorkgroupValue, ""),
142
- });
143
- const fallbackAthenaWorkgroupName = cdk.Fn.sub("${AWS::StackName}-athena-workgroup");
144
- const athenaWorkgroup = new athena.CfnWorkGroup(this, "BenchlingAthenaWorkgroup", {
145
- name: fallbackAthenaWorkgroupName,
146
- description: "Athena workgroup for Benchling webhook package queries",
147
- workGroupConfiguration: {
148
- enforceWorkGroupConfiguration: true,
149
- publishCloudWatchMetricsEnabled: true,
150
- },
151
- state: "ENABLED",
152
- });
153
- athenaWorkgroup.cfnOptions.condition = createAthenaWorkgroupCondition;
154
- const resolvedAthenaUserWorkgroup = cdk.Fn.conditionIf(createAthenaWorkgroupCondition.logicalId, fallbackAthenaWorkgroupName, athenaUserWorkgroupValue).toString();
155
139
  // Bucket name will be resolved at runtime from CloudFormation outputs
156
140
  // For CDK purposes, we use a placeholder for IAM permissions
157
141
  // VPC Configuration
@@ -247,7 +231,7 @@ class BenchlingWebhookStack extends cdk.Stack {
247
231
  quiltWebHost: quiltWebHostValue,
248
232
  // NEW: Optional Athena workgroup (from Quilt stack discovery)
249
233
  // Query results are managed automatically by the workgroup's AWS-managed configuration
250
- athenaUserWorkgroup: resolvedAthenaUserWorkgroup,
234
+ athenaUserWorkgroup: athenaUserWorkgroupValue,
251
235
  // IAM managed policy ARNs for S3 and Athena access
252
236
  bucketWritePolicyArn: config.quilt.bucketWritePolicyArn,
253
237
  athenaUserPolicyArn: config.quilt.athenaUserPolicyArn,