@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
@@ -18,6 +18,25 @@ const chalk_1 = __importDefault(require("chalk"));
18
18
  const setup_wizard_1 = require("./setup-wizard");
19
19
  const deploy_1 = require("./deploy");
20
20
  const next_steps_generator_1 = require("../../lib/next-steps-generator");
21
+ /**
22
+ * Phase titles for the install command
23
+ * This is the single source of truth for install phase headers
24
+ */
25
+ const PHASE_TITLES = {
26
+ setup: "Configuration Setup",
27
+ deployment: "Deployment",
28
+ };
29
+ /**
30
+ * Prints a phase header for the install command
31
+ * Uses distinct visual style from wizard steps (double borders, cyan color)
32
+ * @param phaseNumber - The phase number
33
+ * @param title - The phase title
34
+ */
35
+ function printPhaseHeader(phaseNumber, title) {
36
+ console.log(chalk_1.default.blue("\n═══════════════════════════════════════════════════════════"));
37
+ console.log(chalk_1.default.bold.cyan(` PHASE ${phaseNumber}: ${title}`));
38
+ console.log(chalk_1.default.blue("═══════════════════════════════════════════════════════════\n"));
39
+ }
21
40
  /**
22
41
  * Install command - orchestrates setup → deploy workflow
23
42
  *
@@ -34,9 +53,8 @@ async function installCommand(options = {}) {
34
53
  const { profile = "default", inheritFrom, awsProfile, awsRegion, setupOnly = false, yes = false, } = options;
35
54
  // Validate flags
36
55
  validateFlags({ setupOnly, yes });
37
- // Step 1: Run setup wizard
38
- console.log(chalk_1.default.blue("\n═══════════════════════════════════════════════════════════\n"));
39
- console.log(chalk_1.default.bold("Step 1: Configuration Setup\n"));
56
+ // Phase 1: Run setup wizard
57
+ printPhaseHeader(1, PHASE_TITLES.setup);
40
58
  let setupResult;
41
59
  try {
42
60
  setupResult = await (0, setup_wizard_1.setupWizardCommand)({
@@ -58,6 +76,23 @@ async function installCommand(options = {}) {
58
76
  throw new Error("Setup failed. Please check the errors above and try again.");
59
77
  }
60
78
  console.log(chalk_1.default.green("\n✓ Setup complete!\n"));
79
+ // Check if integrated stack mode - no deployment needed
80
+ const isIntegratedMode = setupResult.config.integratedStack === true;
81
+ if (isIntegratedMode) {
82
+ // Integrated stack mode - no deployment needed
83
+ console.log(chalk_1.default.blue("═══════════════════════════════════════════════════════════\n"));
84
+ console.log(chalk_1.default.bold("Using Integrated Stack Mode"));
85
+ console.log(chalk_1.default.dim("─".repeat(80)));
86
+ console.log(chalk_1.default.green("✓ BenchlingSecret updated in Quilt stack"));
87
+ console.log(chalk_1.default.dim("✓ No separate webhook deployment needed"));
88
+ console.log(chalk_1.default.dim("✓ Quilt stack will handle webhook events\n"));
89
+ console.log(chalk_1.default.bold("Next steps:"));
90
+ console.log(" 1. Configure webhook URL in Benchling app settings");
91
+ console.log(` (Get the webhook URL from your Quilt stack outputs)`);
92
+ console.log(" 2. Test the webhook integration");
93
+ console.log(` 3. Monitor logs: npx ts-node scripts/check-logs.ts --profile ${setupResult.profile}\n`);
94
+ return;
95
+ }
61
96
  // Step 2: Determine if we should deploy
62
97
  if (setupOnly) {
63
98
  // User explicitly requested setup only
@@ -76,8 +111,7 @@ async function installCommand(options = {}) {
76
111
  // Step 3: Prompt for deployment (unless --yes)
77
112
  let shouldDeploy = yes;
78
113
  if (!yes && !yes) {
79
- console.log(chalk_1.default.blue("═══════════════════════════════════════════════════════════\n"));
80
- console.log(chalk_1.default.bold("Step 2: Deployment\n"));
114
+ printPhaseHeader(2, PHASE_TITLES.deployment);
81
115
  const answers = await inquirer_1.default.prompt([
82
116
  {
83
117
  type: "confirm",
@@ -103,8 +137,7 @@ async function installCommand(options = {}) {
103
137
  return;
104
138
  }
105
139
  // Step 4: Execute deployment
106
- console.log(chalk_1.default.blue("\n═══════════════════════════════════════════════════════════\n"));
107
- console.log(chalk_1.default.bold("Step 2: Deployment\n"));
140
+ printPhaseHeader(2, PHASE_TITLES.deployment);
108
141
  console.log("Deploying to AWS... This may take 5-10 minutes.\n");
109
142
  const stage = determineStage(setupResult.profile);
110
143
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../bin/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../bin/commands/install.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,22 @@
1
- import { type ConfigOptions } from "../../lib/utils/config";
2
- export declare function manifestCommand(options: ConfigOptions & {
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Manifest Command
4
+ *
5
+ * Pure function to generate Benchling app manifest file.
6
+ * Catalog URL is passed in as parameter.
7
+ */
8
+ interface ManifestOptions {
3
9
  output?: string;
4
- }): Promise<void>;
10
+ catalog?: string;
11
+ }
12
+ /**
13
+ * Pure function to generate manifest YAML content
14
+ */
15
+ export declare function generateManifest(catalogUrl?: string): string;
16
+ /**
17
+ * Manifest command - generates Benchling app manifest file
18
+ * This is a pure function - catalog URL must be passed in
19
+ */
20
+ export declare function manifestCommand(options: ManifestOptions): Promise<void>;
21
+ export {};
5
22
  //# sourceMappingURL=manifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../bin/commands/manifest.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAK5E,wBAAsB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDjG"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../bin/commands/manifest.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AASH,UAAU,eAAe;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAyB5D;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B7E"}
@@ -1,25 +1,33 @@
1
+ #!/usr/bin/env node
1
2
  "use strict";
3
+ /**
4
+ * Manifest Command
5
+ *
6
+ * Pure function to generate Benchling app manifest file.
7
+ * Catalog URL is passed in as parameter.
8
+ */
2
9
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
10
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
11
  };
5
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.generateManifest = generateManifest;
6
14
  exports.manifestCommand = manifestCommand;
7
15
  const fs_1 = require("fs");
8
16
  const chalk_1 = __importDefault(require("chalk"));
9
17
  const boxen_1 = __importDefault(require("boxen"));
10
- const config_1 = require("../../lib/utils/config");
11
18
  // eslint-disable-next-line @typescript-eslint/no-require-imports
12
19
  const pkg = require("../../package.json");
13
- async function manifestCommand(options) {
14
- const config = (0, config_1.loadConfigSync)(options);
15
- const outputPath = options.output || "app-manifest.yaml";
20
+ /**
21
+ * Pure function to generate manifest YAML content
22
+ */
23
+ function generateManifest(catalogUrl) {
16
24
  // Generate app name from catalog URL if available
17
25
  let appName = "Quilt Integration";
18
- if (config.quiltCatalog) {
26
+ if (catalogUrl) {
19
27
  // Replace dots and colons with hyphens to create a valid identifier
20
- appName = config.quiltCatalog.replace(/[.:]/g, "-");
28
+ appName = catalogUrl.replace(/[.:]/g, "-");
21
29
  }
22
- const manifest = `manifestVersion: 1
30
+ return `manifestVersion: 1
23
31
  info:
24
32
  name: ${appName}
25
33
  description: Package Benchling notebook entries as Quilt data packages
@@ -36,6 +44,14 @@ subscriptions:
36
44
  - type: v2.entry.created
37
45
  - type: v2.entry.updated.fields
38
46
  `;
47
+ }
48
+ /**
49
+ * Manifest command - generates Benchling app manifest file
50
+ * This is a pure function - catalog URL must be passed in
51
+ */
52
+ async function manifestCommand(options) {
53
+ const outputPath = options.output || "app-manifest.yaml";
54
+ const manifest = generateManifest(options.catalog);
39
55
  try {
40
56
  (0, fs_1.writeFileSync)(outputPath, manifest);
41
57
  console.log(chalk_1.default.green(`✓ Created ${outputPath}`));
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../bin/commands/manifest.ts"],"names":[],"mappings":";;;;;AAQA,0CAoDC;AA5DD,2BAAmC;AACnC,kDAA0B;AAC1B,kDAA0B;AAC1B,mDAA4E;AAE5E,iEAAiE;AACjE,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEnC,KAAK,UAAU,eAAe,CAAC,OAA4C;IAC9E,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,OAAO,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,mBAAmB,CAAC;IAEzD,kDAAkD;IAClD,IAAI,OAAO,GAAG,mBAAmB,CAAC;IAClC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,oEAAoE;QACpE,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,QAAQ,GAAG;;UAEX,OAAO;;aAEJ,GAAG,CAAC,OAAO;;;;;;;;;;;;CAYvB,CAAC;IAEE,IAAI,CAAC;QACD,IAAA,kBAAa,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACP,IAAA,eAAK,EACD,GAAG,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM;YACxC,yCAAyC;YACzC,MAAM,eAAK,CAAC,IAAI,CAAC,gGAAgG,CAAC,MAAM;YACxH,8DAA8D;YAC9D,4EAA4E;YAC5E,MAAM,eAAK,CAAC,IAAI,CAAC,oFAAoF,CAAC,MAAM;YAC5G,qBAAqB;YACrB,MAAM,eAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,IAAI;YACxD,MAAM,eAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,MAAM;YACvE,yEAAyE,EACnE,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,CAC5D,CACJ,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,gCAAiC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../bin/commands/manifest.ts"],"names":[],"mappings":";;AACA;;;;;GAKG;;;;;AAiBH,4CAyBC;AAMD,0CA2BC;AAzED,2BAAmC;AACnC,kDAA0B;AAC1B,kDAA0B;AAE1B,iEAAiE;AACjE,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAO1C;;GAEG;AACH,SAAgB,gBAAgB,CAAC,UAAmB;IAChD,kDAAkD;IAClD,IAAI,OAAO,GAAG,mBAAmB,CAAC;IAClC,IAAI,UAAU,EAAE,CAAC;QACb,oEAAoE;QACpE,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;;UAED,OAAO;;aAEJ,GAAG,CAAC,OAAO;;;;;;;;;;;;CAYvB,CAAC;AACF,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,eAAe,CAAC,OAAwB;IAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,mBAAmB,CAAC;IACzD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnD,IAAI,CAAC;QACD,IAAA,kBAAa,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACP,IAAA,eAAK,EACD,GAAG,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM;YACxC,yCAAyC;YACzC,MAAM,eAAK,CAAC,IAAI,CAAC,gGAAgG,CAAC,MAAM;YACxH,8DAA8D;YAC9D,4EAA4E;YAC5E,MAAM,eAAK,CAAC,IAAI,CAAC,oFAAoF,CAAC,MAAM;YAC5G,qBAAqB;YACrB,MAAM,eAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,IAAI;YACxD,MAAM,eAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,MAAM;YACvE,yEAAyE,EACnE,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,CAC5D,CACJ,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,gCAAiC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC"}
@@ -1,45 +1,99 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Interactive Configuration Wizard (v0.7.0)
3
+ * Interactive Configuration Wizard (v0.8.0)
4
4
  *
5
- * Complete setup wizard that orchestrates:
6
- * 1. Quilt configuration inference
7
- * 2. Interactive configuration prompts
8
- * 3. Configuration validation
9
- * 4. Profile persistence via XDGConfig
5
+ * Phase-based modular setup wizard that orchestrates:
6
+ * 1. Catalog discovery and confirmation
7
+ * 2. Stack query for infrastructure details
8
+ * 3. Parameter collection from user
9
+ * 4. Configuration validation
10
+ * 5. Deployment mode decision (integrated vs standalone)
11
+ * 6. Mode-specific setup (integrated or standalone)
10
12
  *
11
- * Consolidated from scripts/install-wizard.ts, scripts/config/wizard.ts,
12
- * and scripts/config/validator.ts.
13
+ * Architecture:
14
+ * - Each phase is a separate, testable module
15
+ * - Explicit data flow between phases via TypeScript types
16
+ * - Cannot skip phases or execute out of order
17
+ * - Integrated mode has explicit return (no deployment)
13
18
  *
14
19
  * @module commands/setup-wizard
20
+ * @version 0.8.0
15
21
  */
22
+ import type { XDGBase } from "../../lib/xdg-base";
16
23
  import { ProfileConfig } from "../../lib/types/config";
17
24
  /**
18
- * Install wizard options
25
+ * Setup wizard options
19
26
  */
20
- export interface InstallWizardOptions {
27
+ export interface SetupWizardOptions {
28
+ /** Configuration profile name */
21
29
  profile?: string;
30
+ /** Inherit from another profile (legacy, unused in phase-based wizard) */
22
31
  inheritFrom?: string;
32
+ /** Non-interactive mode (use defaults/CLI args) */
23
33
  yes?: boolean;
34
+ /** Skip validation checks */
24
35
  skipValidation?: boolean;
25
- skipSecretsSync?: boolean;
36
+ /** AWS profile to use */
26
37
  awsProfile?: string;
38
+ /** AWS region to use */
27
39
  awsRegion?: string;
40
+ /** Setup only (don't prompt for deployment) */
41
+ setupOnly?: boolean;
42
+ /** Part of install command (suppress next steps) */
28
43
  isPartOfInstall?: boolean;
44
+ /** Config storage implementation (for testing) */
45
+ configStorage?: XDGBase;
46
+ catalogUrl?: string;
47
+ benchlingTenant?: string;
48
+ benchlingClientId?: string;
49
+ benchlingClientSecret?: string;
50
+ benchlingAppDefinitionId?: string;
51
+ benchlingTestEntryId?: string;
52
+ userBucket?: string;
53
+ pkgPrefix?: string;
54
+ pkgKey?: string;
55
+ logLevel?: string;
56
+ webhookAllowList?: string;
29
57
  }
30
58
  /**
31
- * Setup wizard result (for Phase 3)
59
+ * Setup wizard result
32
60
  */
33
61
  export interface SetupWizardResult {
34
62
  success: boolean;
35
63
  profile: string;
36
64
  config: ProfileConfig;
37
65
  }
66
+ /**
67
+ * Main setup wizard orchestrator
68
+ *
69
+ * This function orchestrates the 7 phases of the setup wizard in sequence.
70
+ * Each phase is isolated and testable. The flow is enforced by the code
71
+ * structure - integrated mode explicitly returns, preventing fall-through
72
+ * to deployment.
73
+ *
74
+ * Flow:
75
+ * 1. Phase 1: Catalog Discovery (local config only, no AWS)
76
+ * 2. Phase 2: Stack Query (query CloudFormation for confirmed catalog)
77
+ * 3. Phase 3: Parameter Collection (collect user inputs)
78
+ * 4. Phase 4: Validation (validate all parameters)
79
+ * 5. Phase 5: Mode Decision (choose integrated vs standalone)
80
+ * 6a. Phase 6: Integrated Mode (update secret, EXIT) OR
81
+ * 6b. Phase 7: Standalone Mode (create secret, optionally deploy, EXIT)
82
+ *
83
+ * The orchestrator prints step headers before each phase to ensure
84
+ * consistent numbering regardless of execution path.
85
+ *
86
+ * @param options - Setup wizard options
87
+ * @returns Setup wizard result
88
+ */
89
+ export declare function runSetupWizard(options?: SetupWizardOptions): Promise<SetupWizardResult>;
38
90
  /**
39
91
  * Setup wizard command handler
40
92
  *
93
+ * Wraps runSetupWizard with error handling for graceful user cancellation.
94
+ *
41
95
  * @param options - Wizard options
42
96
  * @returns Promise that resolves with setup result
43
97
  */
44
- export declare function setupWizardCommand(options?: InstallWizardOptions): Promise<SetupWizardResult>;
98
+ export declare function setupWizardCommand(options?: SetupWizardOptions): Promise<SetupWizardResult>;
45
99
  //# sourceMappingURL=setup-wizard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../../bin/commands/setup-wizard.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG;AAQH,OAAO,EAAE,aAAa,EAAoB,MAAM,wBAAwB,CAAC;AAirBzE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;CACzB;AAqND;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAevG"}
1
+ {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../../bin/commands/setup-wizard.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAavD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,6BAA6B;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oDAAoD;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kDAAkD;IAClD,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;CACzB;AAsDD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA+MjG;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiBrG"}