@bloomreach/brxm-upgrade 0.1.1 → 0.1.3

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 (58) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +1 -82
  3. package/dist/commands/execute.d.ts.map +1 -1
  4. package/dist/commands/execute.js +4 -2
  5. package/dist/commands/execute.js.map +1 -1
  6. package/dist/commands/finalize.js +1 -1
  7. package/dist/commands/finalize.js.map +1 -1
  8. package/dist/commands/log-change.js +1 -1
  9. package/dist/commands/log-change.js.map +1 -1
  10. package/dist/commands/plan.d.ts.map +1 -1
  11. package/dist/commands/plan.js +3 -1
  12. package/dist/commands/plan.js.map +1 -1
  13. package/dist/commands/setup-manifests.js +1 -1
  14. package/dist/commands/setup-manifests.js.map +1 -1
  15. package/dist/config/ai-status.d.ts +22 -0
  16. package/dist/config/ai-status.d.ts.map +1 -0
  17. package/dist/config/ai-status.js +54 -0
  18. package/dist/config/ai-status.js.map +1 -0
  19. package/dist/config/index.js +1 -1
  20. package/dist/config/index.js.map +1 -1
  21. package/dist/config/schema.js +2 -2
  22. package/dist/config/schema.js.map +1 -1
  23. package/dist/core/upgrade-state.d.ts +6 -0
  24. package/dist/core/upgrade-state.d.ts.map +1 -1
  25. package/dist/core/upgrade-state.js.map +1 -1
  26. package/dist/guide/GuideRunner.d.ts +28 -3
  27. package/dist/guide/GuideRunner.d.ts.map +1 -1
  28. package/dist/guide/GuideRunner.js +139 -43
  29. package/dist/guide/GuideRunner.js.map +1 -1
  30. package/dist/guide/env-status.d.ts +56 -0
  31. package/dist/guide/env-status.d.ts.map +1 -0
  32. package/dist/guide/env-status.js +274 -0
  33. package/dist/guide/env-status.js.map +1 -0
  34. package/dist/guide/phases/ExecutionPhase.d.ts +8 -0
  35. package/dist/guide/phases/ExecutionPhase.d.ts.map +1 -1
  36. package/dist/guide/phases/ExecutionPhase.js +60 -13
  37. package/dist/guide/phases/ExecutionPhase.js.map +1 -1
  38. package/dist/guide/phases/PlanPhase.d.ts.map +1 -1
  39. package/dist/guide/phases/PlanPhase.js +3 -1
  40. package/dist/guide/phases/PlanPhase.js.map +1 -1
  41. package/dist/guide/rendering/formatters.d.ts +2 -0
  42. package/dist/guide/rendering/formatters.d.ts.map +1 -1
  43. package/dist/guide/rendering/formatters.js +1 -2
  44. package/dist/guide/rendering/formatters.js.map +1 -1
  45. package/dist/index.d.ts +8 -1
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +59 -36
  48. package/dist/index.js.map +1 -1
  49. package/dist/manifests/maven-settings.d.ts.map +1 -1
  50. package/dist/manifests/maven-settings.js +9 -0
  51. package/dist/manifests/maven-settings.js.map +1 -1
  52. package/dist/types/index.d.ts +1 -1
  53. package/dist/types/index.d.ts.map +1 -1
  54. package/dist/utils/git.d.ts +19 -0
  55. package/dist/utils/git.d.ts.map +1 -0
  56. package/dist/utils/git.js +52 -0
  57. package/dist/utils/git.js.map +1 -0
  58. package/package.json +3 -2
@@ -27,6 +27,21 @@ export declare class GuideRunner {
27
27
  * Create the initial shared context for all phases.
28
28
  */
29
29
  private createContext;
30
+ /**
31
+ * On fresh tool launch, capture the current git HEAD so the reject-and-abort
32
+ * flow (Bug #3) can offer a hard reset back to the user's pre-tool state.
33
+ * Idempotent: never overwrites a previously captured HEAD. Failures are
34
+ * silent — if git is unavailable, the reject flow simply skips the reset
35
+ * offer.
36
+ */
37
+ private captureInitialGitHead;
38
+ /**
39
+ * Delete all known state files under .brxm-upgrade/ but preserve the
40
+ * manifests/ subdirectory and any user-managed configuration.
41
+ *
42
+ * Called when the user chooses "Start fresh" at the resume prompt — Bug #5.
43
+ */
44
+ private clearStateFiles;
30
45
  /**
31
46
  * Check for existing upgrade artifacts on disk to detect a previous session.
32
47
  */
@@ -38,9 +53,9 @@ export declare class GuideRunner {
38
53
  */
39
54
  private handleResume;
40
55
  /**
41
- * Prompt the user to retry a failed phase or exit.
42
- *
43
- * @returns true if the user chose to retry
56
+ * Prompt the user with recovery options when a phase fails. Bug #7:
57
+ * the Execution phase has additional recovery paths (skip failed steps,
58
+ * return to plan) that other phases don't.
44
59
  */
45
60
  private promptRetryOrExit;
46
61
  /**
@@ -53,6 +68,16 @@ export declare class GuideRunner {
53
68
  * Export the upgrade plan as a markdown file for use by an AI agent.
54
69
  */
55
70
  private exportPlan;
71
+ /**
72
+ * Bug #7: move every failed step into skippedSteps so the next ExecutionPhase
73
+ * iteration moves past them. No-op when no state has been persisted.
74
+ */
75
+ private skipFailedSteps;
76
+ /**
77
+ * Bug #7: drop the plan and execution state but keep discovery so the
78
+ * next loop iteration restarts at PlanPhase with the same project context.
79
+ */
80
+ private returnToPlanPhase;
56
81
  /**
57
82
  * Build a fallback GuideSummary when the ExecutionPhase did not provide one
58
83
  * (e.g., early exit due to failure).
@@ -1 +1 @@
1
- {"version":3,"file":"GuideRunner.d.ts","sourceRoot":"","sources":["../../src/guide/GuideRunner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,KAAK,EAA4B,YAAY,EAA4B,MAAM,YAAY,CAAC;AACnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAezD;;;;;;GAMG;AACH,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAJX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,iBAAiB,EACzB,eAAe,EAAE,mBAAmB,EACpC,EAAE,CAAC,EAAE,QAAQ,YAAA,EACb,UAAU,CAAC,EAAE,UAAU,YAAA;IAG1C;;;;OAIG;IACG,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;IAmFlC;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;YACW,iBAAiB;IA0D/B;;;;OAIG;YACW,YAAY;IA+C1B;;;;OAIG;YACW,iBAAiB;IAiB/B;;;;OAIG;YACW,eAAe;IA4H7B;;OAEG;YACW,UAAU;IAiBxB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;CAiB7B"}
1
+ {"version":3,"file":"GuideRunner.d.ts","sourceRoot":"","sources":["../../src/guide/GuideRunner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAA4B,YAAY,EAA4B,MAAM,YAAY,CAAC;AACnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAmBzD;;;;;;GAMG;AACH,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAJX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,iBAAiB,EACzB,eAAe,EAAE,mBAAmB,EACpC,EAAE,CAAC,EAAE,QAAQ,YAAA,EACb,UAAU,CAAC,EAAE,UAAU,YAAA;IAG1C;;;;OAIG;IACG,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;IAkGlC;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;;;;;OAMG;YACW,qBAAqB;IAgBnC;;;;;OAKG;YACW,eAAe;IAgB7B;;OAEG;YACW,iBAAiB;IA0D/B;;;;OAIG;YACW,YAAY;IAgD1B;;;;OAIG;YACW,iBAAiB;IA6B/B;;;;OAIG;YACW,eAAe;IA4H7B;;OAEG;YACW,UAAU;IAiBxB;;;OAGG;YACW,eAAe;IAY7B;;;OAGG;YACW,iBAAiB;IAU/B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;CAiB7B"}
@@ -1,15 +1,18 @@
1
1
  /* eslint-disable no-console */
2
2
  import chalk from 'chalk';
3
3
  import inquirer from 'inquirer';
4
- import { getAvailableVersions } from '../planning/manifest-loader.js';
5
4
  import { DiscoveryPhase } from './phases/DiscoveryPhase.js';
6
5
  import { PlanPhase } from './phases/PlanPhase.js';
7
6
  import { ExecutionPhase } from './phases/ExecutionPhase.js';
8
7
  import { formatWelcomeBanner, formatIntroExplanation, formatResumeBanner, formatTransition, } from './rendering/formatters.js';
9
8
  import { ChatContextBuilder } from './chat/ChatContextBuilder.js';
10
9
  import { ChatLoop } from './chat/ChatLoop.js';
11
- import { pathExists, readTextFile, writeTextFile, joinPaths } from '../utils/fs.js';
10
+ import { pathExists, readTextFile, writeTextFile, joinPaths, removeDir } from '../utils/fs.js';
12
11
  import { generateExportMarkdown } from '../commands/export.js';
12
+ import { checkEnvironment, formatEnvPanel, formatBlockers } from './env-status.js';
13
+ import { getCurrentHead } from '../utils/git.js';
14
+ import { loadUpgradeState, saveUpgradeState } from '../core/upgrade-state.js';
15
+ import { StateManager } from '../execution/state-manager.js';
13
16
  /**
14
17
  * Main orchestrator for the guided upgrade experience.
15
18
  *
@@ -38,40 +41,39 @@ export class GuideRunner {
38
41
  async run() {
39
42
  try {
40
43
  const context = this.createContext();
44
+ await this.captureInitialGitHead();
41
45
  const resumeState = await this.detectResumeState();
42
- let startPhaseIndex = 0;
46
+ const env = await checkEnvironment(this.config, this.projectRoot, this.manifestOptions);
43
47
  const hasResumeState = resumeState.hasDiscovery || resumeState.hasPlan || resumeState.hasExecution;
48
+ // Hard blockers always exit, regardless of resume state. Welcome banner
49
+ // first per design — user always sees they're in the right tool — then
50
+ // actionable blocker text, then exit.
51
+ if (env.blockers.length > 0) {
52
+ console.log(formatWelcomeBanner());
53
+ console.log(formatBlockers(env.blockers));
54
+ process.exit(1);
55
+ }
56
+ // Banner: resume or welcome.
57
+ let startPhaseIndex = 0;
44
58
  if (hasResumeState) {
45
- startPhaseIndex = await this.handleResume(resumeState, context);
59
+ console.log(formatResumeBanner(resumeState));
46
60
  }
47
61
  else {
48
62
  console.log(formatWelcomeBanner());
63
+ }
64
+ // Panel: full when --verbose, warnings-only otherwise (silent when clean).
65
+ if (this.config.output.verbose) {
66
+ console.log(formatEnvPanel(env, 'full'));
67
+ }
68
+ else if (env.warnings.length > 0) {
69
+ console.log(formatEnvPanel(env, 'warnings-only'));
70
+ }
71
+ // Intro is fresh-launch flavor only. Resume goes straight to the prompt.
72
+ if (!hasResumeState) {
49
73
  console.log(formatIntroExplanation());
50
- // Fail fast if no manifests are available — the tool can't plan or
51
- // execute without them, so there's no point starting discovery.
52
- const versions = await getAvailableVersions(this.manifestOptions);
53
- if (versions.length === 0) {
54
- console.log(chalk.yellow('No upgrade manifests found.'));
55
- console.log('');
56
- console.log('Manifests are distributed separately. To set them up:');
57
- console.log('');
58
- console.log(` ${chalk.bold('brxm-upgrade setup-manifests')}`);
59
- console.log('');
60
- console.log('Or manually:');
61
- console.log(' mvn dependency:copy \\');
62
- console.log(' -Dartifact=com.bloomreach.xm:brxm-upgrade-manifests:RELEASE:zip \\');
63
- console.log(' -DoutputDirectory=.brxm-upgrade/ \\');
64
- console.log(' -Dtransitive=false -q');
65
- console.log(' unzip .brxm-upgrade/brxm-upgrade-manifests-*.zip \\');
66
- console.log(' -d .brxm-upgrade/manifests/');
67
- console.log('');
68
- console.log('Then add to .brxmrc:');
69
- console.log(' upgrade:');
70
- console.log(' source: local');
71
- console.log(' localPath: .brxm-upgrade/manifests');
72
- console.log('');
73
- process.exit(1);
74
- }
74
+ }
75
+ else {
76
+ startPhaseIndex = await this.handleResume(resumeState, context);
75
77
  }
76
78
  const phases = [
77
79
  new DiscoveryPhase(),
@@ -83,12 +85,27 @@ export class GuideRunner {
83
85
  const phase = phases[i];
84
86
  const result = await phase.run(context);
85
87
  if (!result.success) {
86
- const shouldRetry = await this.promptRetryOrExit(phase.name, result);
87
- if (shouldRetry) {
88
- i--; // will increment back to the same index
88
+ const choice = await this.promptRetryOrExit(phase.name, result);
89
+ if (choice === 'retry') {
90
+ i--; // for-loop i++ brings us back to the same phase
89
91
  continue;
90
92
  }
91
- // Exit early with partial summary
93
+ if (choice === 'skip-step') {
94
+ await this.skipFailedSteps();
95
+ i--; // re-enter the same phase; it will skip past failed steps
96
+ continue;
97
+ }
98
+ if (choice === 'return-to-plan') {
99
+ await this.returnToPlanPhase();
100
+ // Clear context fields populated by the failed phase so the
101
+ // restarted PlanPhase rebuilds them.
102
+ delete context.plan;
103
+ delete context.executionState;
104
+ delete context.executionResults;
105
+ i = 0; // for-loop i++ advances to index 1 (PlanPhase)
106
+ continue;
107
+ }
108
+ // choice === 'exit'
92
109
  return this.buildFallbackSummary(context, startTime);
93
110
  }
94
111
  // Extract GuideSummary from ExecutionPhase data if available
@@ -121,6 +138,50 @@ export class GuideRunner {
121
138
  docsClient: this.docsClient,
122
139
  };
123
140
  }
141
+ /**
142
+ * On fresh tool launch, capture the current git HEAD so the reject-and-abort
143
+ * flow (Bug #3) can offer a hard reset back to the user's pre-tool state.
144
+ * Idempotent: never overwrites a previously captured HEAD. Failures are
145
+ * silent — if git is unavailable, the reject flow simply skips the reset
146
+ * offer.
147
+ */
148
+ async captureInitialGitHead() {
149
+ try {
150
+ const existing = await loadUpgradeState(this.projectRoot);
151
+ if (existing?.initialGitHead) {
152
+ return;
153
+ }
154
+ const sha = getCurrentHead(this.projectRoot);
155
+ await saveUpgradeState(this.projectRoot, {
156
+ ...(existing ?? {}),
157
+ initialGitHead: sha,
158
+ });
159
+ }
160
+ catch {
161
+ // Silent — git unavailable just disables the reset offer
162
+ }
163
+ }
164
+ /**
165
+ * Delete all known state files under .brxm-upgrade/ but preserve the
166
+ * manifests/ subdirectory and any user-managed configuration.
167
+ *
168
+ * Called when the user chooses "Start fresh" at the resume prompt — Bug #5.
169
+ */
170
+ async clearStateFiles() {
171
+ const baseDir = joinPaths(this.projectRoot, '.brxm-upgrade');
172
+ const stateFiles = [
173
+ 'discovery.json',
174
+ 'plan.json',
175
+ 'execution-state.json',
176
+ 'upgrade-state.json',
177
+ ];
178
+ for (const file of stateFiles) {
179
+ const filePath = joinPaths(baseDir, file);
180
+ if (await pathExists(filePath)) {
181
+ await removeDir(filePath);
182
+ }
183
+ }
184
+ }
124
185
  /**
125
186
  * Check for existing upgrade artifacts on disk to detect a previous session.
126
187
  */
@@ -186,7 +247,6 @@ export class GuideRunner {
186
247
  * @returns The phase index to start from (0 = fresh start)
187
248
  */
188
249
  async handleResume(resumeState, context) {
189
- console.log(formatResumeBanner(resumeState));
190
250
  const { choice } = (await inquirer.prompt([
191
251
  {
192
252
  type: 'select',
@@ -198,8 +258,10 @@ export class GuideRunner {
198
258
  ],
199
259
  },
200
260
  ]));
201
- if (choice === 'fresh')
261
+ if (choice === 'fresh') {
262
+ await this.clearStateFiles();
202
263
  return 0;
264
+ }
203
265
  // Populate context from resume state and determine start phase
204
266
  if (resumeState.hasExecution && resumeState.executionState && resumeState.plan) {
205
267
  context.discovery = resumeState.discovery;
@@ -229,24 +291,28 @@ export class GuideRunner {
229
291
  return 0;
230
292
  }
231
293
  /**
232
- * Prompt the user to retry a failed phase or exit.
233
- *
234
- * @returns true if the user chose to retry
294
+ * Prompt the user with recovery options when a phase fails. Bug #7:
295
+ * the Execution phase has additional recovery paths (skip failed steps,
296
+ * return to plan) that other phases don't.
235
297
  */
236
298
  async promptRetryOrExit(phaseName, result) {
237
299
  const errorDetail = result.error ?? result.summary;
300
+ const choices = [
301
+ { name: 'Retry this phase', value: 'retry' },
302
+ ];
303
+ if (phaseName === 'Execution') {
304
+ choices.push({ name: 'Skip failed step(s) and continue', value: 'skip-step' }, { name: 'Return to Plan phase', value: 'return-to-plan' });
305
+ }
306
+ choices.push({ name: 'Exit', value: 'exit' });
238
307
  const { choice } = (await inquirer.prompt([
239
308
  {
240
309
  type: 'select',
241
310
  name: 'choice',
242
311
  message: `Phase "${phaseName}" failed: ${errorDetail}. What would you like to do?`,
243
- choices: [
244
- { name: 'Retry this phase', value: 'retry' },
245
- { name: 'Exit', value: 'exit' },
246
- ],
312
+ choices,
247
313
  },
248
314
  ]));
249
- return choice === 'retry';
315
+ return choice;
250
316
  }
251
317
  /**
252
318
  * Pause between phases so the user can review output.
@@ -371,6 +437,36 @@ export class GuideRunner {
371
437
  + ` Exported upgrade plan to ${context.config.output.exportPath}/upgrade-plan.md (${context.plan.summary.totalSteps} steps)`);
372
438
  console.log('');
373
439
  }
440
+ /**
441
+ * Bug #7: move every failed step into skippedSteps so the next ExecutionPhase
442
+ * iteration moves past them. No-op when no state has been persisted.
443
+ */
444
+ async skipFailedSteps() {
445
+ const stateManager = new StateManager(this.projectRoot);
446
+ const state = await stateManager.loadState();
447
+ if (!state)
448
+ return;
449
+ for (const sn of state.failedSteps) {
450
+ if (!state.skippedSteps.includes(sn))
451
+ state.skippedSteps.push(sn);
452
+ }
453
+ state.failedSteps = [];
454
+ state.updatedAt = new Date().toISOString();
455
+ await stateManager.saveState(state);
456
+ }
457
+ /**
458
+ * Bug #7: drop the plan and execution state but keep discovery so the
459
+ * next loop iteration restarts at PlanPhase with the same project context.
460
+ */
461
+ async returnToPlanPhase() {
462
+ const baseDir = joinPaths(this.projectRoot, '.brxm-upgrade');
463
+ const planPath = joinPaths(baseDir, 'plan.json');
464
+ if (await pathExists(planPath)) {
465
+ await removeDir(planPath);
466
+ }
467
+ const stateManager = new StateManager(this.projectRoot);
468
+ await stateManager.clearState();
469
+ }
374
470
  /**
375
471
  * Build a fallback GuideSummary when the ExecutionPhase did not provide one
376
472
  * (e.g., early exit due to failure).
@@ -1 +1 @@
1
- {"version":3,"file":"GuideRunner.js","sourceRoot":"","sources":["../../src/guide/GuideRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GuideRunner.js","sourceRoot":"","sources":["../../src/guide/GuideRunner.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAMhC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;IAEH;IACA;IACA;IACA;IACA;IALnB,YACmB,WAAmB,EACnB,MAAyB,EACzB,eAAoC,EACpC,EAAa,EACb,UAAuB;QAJvB,gBAAW,GAAX,WAAW,CAAQ;QACnB,WAAM,GAAN,MAAM,CAAmB;QACzB,oBAAe,GAAf,eAAe,CAAqB;QACpC,OAAE,GAAF,EAAE,CAAW;QACb,eAAU,GAAV,UAAU,CAAa;IACvC,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,GAAG;QACP,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAExF,MAAM,cAAc,GAClB,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,YAAY,CAAC;YAE9E,wEAAwE;YACxE,uEAAuE;YACvE,sCAAsC;YACtC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,6BAA6B;YAC7B,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACrC,CAAC;YAED,2EAA2E;YAC3E,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;YACpD,CAAC;YAED,yEAAyE;YACzE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,MAAM,GAAiB;gBAC3B,IAAI,cAAc,EAAE;gBACpB,IAAI,SAAS,EAAE;gBACf,IAAI,cAAc,EAAE;aACrB,CAAC;YAEF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7B,KAAK,IAAI,CAAC,GAAG,eAAe,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAExC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAChE,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;wBACvB,CAAC,EAAE,CAAC,CAAC,gDAAgD;wBACrD,SAAS;oBACX,CAAC;oBACD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;wBAC3B,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;wBAC7B,CAAC,EAAE,CAAC,CAAC,0DAA0D;wBAC/D,SAAS;oBACX,CAAC;oBACD,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;wBAChC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC/B,4DAA4D;wBAC5D,qCAAqC;wBACrC,OAAO,OAAO,CAAC,IAAI,CAAC;wBACpB,OAAO,OAAO,CAAC,cAAc,CAAC;wBAC9B,OAAO,OAAO,CAAC,gBAAgB,CAAC;wBAChC,CAAC,GAAG,CAAC,CAAC,CAAC,+CAA+C;wBACtD,SAAS;oBACX,CAAC;oBACD,oBAAoB;oBACpB,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACvD,CAAC;gBAED,6DAA6D;gBAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC9C,OAAO,MAAM,CAAC,IAAoB,CAAC;gBACrC,CAAC;gBAED,uEAAuE;gBACvE,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBACzE,IAAI,aAAa,EAAE,CAAC;wBAClB,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,qBAAqB;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,QAAQ,EAAE,cAAc,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE;gBACvC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACnB,cAAc,EAAE,GAAG;aACpB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;QAC3D,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,eAAe;QAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG;YACjB,gBAAgB;YAChB,WAAW;YACX,sBAAsB;YACtB,oBAAoB;SACrB,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB;QAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAgB;YACzB,YAAY,EAAE,KAAK;YACnB,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,KAAK;SACpB,CAAC;QAEF,2BAA2B;QAC3B,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC3D,IAAI,MAAM,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;gBAClD,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA6B,CAAC;gBAClE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACjD,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC7C,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAwB,CAAC;gBACxD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;QAC5D,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC7C,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAkC,CAAC;gBAC5E,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAC7D,IAAI,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;gBAChD,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgC,CAAC;YAC1E,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,YAAY,CAAC,WAAwB,EAAE,OAAqB;QACxE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC;YACxC;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,0CAA0C;gBACnD,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACzD,EAAE,IAAI,EAAE,yCAAyC,EAAE,KAAK,EAAE,OAAO,EAAE;iBACpE;aACF;SACF,CAAC,CAAuB,CAAC;QAE1B,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7B,OAAO,CAAC,CAAC;QACX,CAAC;QAED,+DAA+D;QAC/D,IAAI,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,cAAc,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YAC/E,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;YAC1C,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;YAChC,OAAO,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;YACpD,OAAO,CAAC,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;YACtD,OAAO,CAAC,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;YACnD,OAAO,CAAC,CAAC,CAAC,yBAAyB;QACrC,CAAC;QACD,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YAC5C,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;YAC1C,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;YAChC,OAAO,CAAC,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;YACtD,OAAO,CAAC,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;YACnD,OAAO,CAAC,CAAC,CAAC,yBAAyB;QACrC,CAAC;QACD,IAAI,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;YACtD,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;YAC1C,OAAO,CAAC,cAAc,GAAG,WAAW,CAAC,YAAY,EAAE,cAAc;mBAC5D,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC;YAC7C,IAAI,WAAW,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC;gBAC5C,OAAO,CAAC,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC;gBAC/D,OAAO,CAAC,CAAC,CAAC,oBAAoB;YAChC,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,iBAAiB,CAC7B,SAAiB,EACjB,MAAmB;QAEnB,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC;QAEnD,MAAM,OAAO,GAAsF;YACjG,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE;SAC7C,CAAC;QACF,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CACV,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,WAAW,EAAE,EAChE,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAC1D,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAE9C,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC;YACxC;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,UAAU,SAAS,aAAa,WAAW,8BAA8B;gBAClF,OAAO;aACR;SACF,CAAC,CAAkE,CAAC;QAErE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,eAAe,CAC3B,KAAiB,EACjB,MAAmB,EACnB,OAAqB;QAErB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,oDAAoD;QACpD,MAAM,aAAa,GAAG,MAAM,CAAC,iBAAiB;YAC5C,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,cAAc;YACzC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,oBAAoB,MAAM,CAAC,OAAO,EAAE,CAAC;QAEtD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC;QAE7E,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,mEAAmE;YACnE,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,OAAO,GAA2C;oBACtD,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,UAAU,EAAE;iBACtD,CAAC;gBACF,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACtE,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,uCAAuC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC/E,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAE9C,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC;oBACxC;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,aAAa;wBACtB,OAAO;qBACR;iBACF,CAAC,CAAuB,CAAC;gBAE1B,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;oBAC1B,MAAM;gBACR,CAAC;gBAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACxB,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBACjC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBACjG,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;oBAChD,MAAM,WAAW,GAAG,cAAc,CAAC,iBAAiB,CAClD,KAAK,CAAC,IAAI,EACV,MAAM,CAAC,OAAO,EACd,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,IAAI,CACb,CAAC;oBACF,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACvC,MAAM,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC;oBACpE,SAAS;gBACX,CAAC;gBAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;oBACxE,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,2DAA2D;YAC3D,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC;oBACxC;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,aAAa;wBACtB,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,UAAU,EAAE;4BACpD,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE;4BACrD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;yBAChC;qBACF;iBACF,CAAC,CAAuB,CAAC;gBAE1B,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;oBAC1B,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACxB,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBACjC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBACjG,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;oBACxE,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACvC;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,GAAG,aAAa,qBAAqB;oBAC9C,OAAO,EAAE,IAAI;iBACd;aACF,CAAC,CAAuB,CAAC;YAE1B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;gBACxE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,OAAqB;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS;YAAE,OAAO;QAChD,MAAM,UAAU,GAAG,SAAS,CAC1B,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAChC,iBAAiB,CAClB,CAAC;QACF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACzE,MAAM,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;cACjB,6BAA6B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,qBAAqB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,SAAS,CAC/H,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe;QAC3B,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;QACvB,KAAK,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB;QAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACjD,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,OAAqB,EAAE,SAAiB;QACnE,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAC/C,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,cAAc,IAAI,SAAS;YAChD,SAAS,EAAE,OAAO,CAAC,aAAa,IAAI,SAAS;YAC7C,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAAM;YAClF,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;YACjE,oBAAoB,EAClB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CACxB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,OAAO,CAAC,IAAI,CACX,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAC7E,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CACjC,IAAI,EAAE;YACT,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACjC,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,56 @@
1
+ import type { BrxmUpgradeConfig } from '../config/index.js';
2
+ import type { ManifestLoadOptions } from '../planning/types.js';
3
+ export interface EnvStatus {
4
+ manifests: {
5
+ ok: boolean;
6
+ source: 'local' | 'bundled';
7
+ path?: string;
8
+ count: number;
9
+ };
10
+ ai: {
11
+ provider: string;
12
+ apiKeyEnv?: string;
13
+ apiKeyFound: boolean;
14
+ baseUrl?: string;
15
+ };
16
+ git: {
17
+ inRepo: boolean;
18
+ clean: boolean;
19
+ initialHeadCaptured: boolean;
20
+ };
21
+ build: {
22
+ mvn: {
23
+ found: boolean;
24
+ version?: string;
25
+ };
26
+ jdk: {
27
+ found: boolean;
28
+ majorVersion?: number;
29
+ };
30
+ };
31
+ blockers: Array<{
32
+ key: string;
33
+ title: string;
34
+ instructions: string[];
35
+ }>;
36
+ warnings: Array<{
37
+ key: string;
38
+ message: string;
39
+ }>;
40
+ }
41
+ export declare function checkEnvironment(config: BrxmUpgradeConfig, projectRoot: string, manifestOptions: ManifestLoadOptions): Promise<EnvStatus>;
42
+ /**
43
+ * Render the blockers list as a human-readable, copyable error block.
44
+ * Plain text (not box-drawn) so the user can copy/paste commands easily.
45
+ */
46
+ export declare function formatBlockers(blockers: EnvStatus['blockers']): string;
47
+ /**
48
+ * Render the environment status as either a compact warnings block or a
49
+ * full box-drawn 4-row panel matching the welcome banner's visual style.
50
+ *
51
+ * @param status The populated EnvStatus from checkEnvironment.
52
+ * @param mode 'warnings-only' renders only when warnings exist;
53
+ * 'full' always renders all four rows in a box.
54
+ */
55
+ export declare function formatEnvPanel(status: EnvStatus, mode: 'warnings-only' | 'full'): string;
56
+ //# sourceMappingURL=env-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-status.d.ts","sourceRoot":"","sources":["../../src/guide/env-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAShE,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF,EAAE,EAAS;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5F,GAAG,EAAQ;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,mBAAmB,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7E,KAAK,EAAM;QACT,GAAG,EAAE;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,GAAG,EAAE;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,CAAC;IACF,QAAQ,EAAG,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACzE,QAAQ,EAAG,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD;AAsGD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,mBAAmB,GACnC,OAAO,CAAC,SAAS,CAAC,CAoEpB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,CAatE;AA8DD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,eAAe,GAAG,MAAM,GAC7B,MAAM,CAgCR"}