hub-launch 1.11.1 → 1.13.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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.13.0] - 2026-07-14
11
+
12
+ ### Changed
13
+
14
+ - `hula init` now prompts for **only** the two required API keys (Anthropic OAuth token and Daytona API key). Every other setting is written to `.hublaunch/hublaunch.config.js` with a sensible default (documented inline) for the user to edit manually, instead of being asked one field at a time. Re-running `hula init` preserves all previously-set values, including non-prompted fields such as `daytonaTier` and `envVars`.
15
+ - The generated config no longer includes commented-out placeholder sections for `teamMembers`, `commandAliases`, `priorityLevels`, `issueSortOrder`, `services`, and `hooks`. These sections are written only when they hold a real value (or are preserved from an existing config on re-init); an unset optional setting is simply omitted, keeping the file compact.
16
+ - The generated config no longer writes `trackingFile`, `createIssuesPreference`, `planChoices`, `pollingProvider`, `pollIntervalSeconds`, or `browserHeadless`. Each falls back to its documented default at load time, so behavior is unchanged; setting any of them manually in the config file still works and is preserved across re-runs.
17
+ - Reworded the `hula init` intro and "Next steps" output to reflect the minimal prompt and point users to the config file for further customization.
18
+
19
+ ### Fixed
20
+
21
+ - `hula init` now creates (and logs) the plans directory at the config's actual `planPath` on re-init, instead of always using the default `.hublaunch/plans`.
22
+
23
+ ### Removed
24
+
25
+ - Removed the `daytonaTier`, `editorCommand`, `planPath`, `trackingFile`, `createIssuesPreference`, `planChoices`, `skipUntrackedPrompt`, `teamMembers`, `authProvider`, `configureVsCodeAutoApproval`, and `envVars` prompts from `hula init`. These are now configured by editing the generated config file. (VS Code auto-approval is still applied by default; auth provider defaults to `none`.)
26
+
27
+ ## [1.12.0] - 2026-07-13
28
+
29
+ ### Changed
30
+
31
+ - `hula init` now preserves **all** existing config values on re-run, including custom/arbitrary keys and `hulaProject`/`hulaProjectUrl`, emitting any keys not in the documented template under a `// Preserved custom settings` block.
32
+ - `hula init` loads an existing config via native dynamic `import()` only; the lossy regex config parser has been removed. A syntactically broken config now fails fast with guidance to fix the file or run `hula init --force` to regenerate a fresh config (custom edits will be lost). `hula init --force` now correctly skips parsing the existing file.
33
+
34
+ ### Removed
35
+
36
+ - Removed the `overrideStartupScript` prompt from `hula init`. An existing `.hublaunch/hooks/deploymentStartupScript.ts` is never overwritten (created only when missing).
37
+
10
38
  ## [1.11.1] - 2026-07-09
11
39
 
12
40
  ### Added
package/README.md CHANGED
@@ -246,10 +246,8 @@ tracking name, the behavior depends on the context:
246
246
 
247
247
  Tests that need credentials (a test user login, a third-party API key, etc.) can
248
248
  have those values forwarded from your local `.env` into the launch container.
249
- The easiest way to set this up is the **`hula init`** prompt the last question,
250
- _"Environment variables to forward to tests…"_, accepts a comma-separated list of
251
- names or the literal `all`. You can also list the variable **names** in `envVars`
252
- in `.hublaunch/hublaunch.config.js` directly:
249
+ Configure this by listing the variable **names** in `envVars` in
250
+ `.hublaunch/hublaunch.config.js`:
253
251
 
254
252
  ```js
255
253
  export const config = {
@@ -259,7 +257,7 @@ export const config = {
259
257
  ```
260
258
 
261
259
  To forward **every** non-reserved variable from `.env` without listing each one,
262
- set `envVars` to the string `"all"` (or type `all` at the init prompt):
260
+ set `envVars` to the string `"all"`:
263
261
 
264
262
  ```js
265
263
  export const config = {
@@ -1,8 +1,46 @@
1
1
  import type { Command } from 'commander';
2
2
  import type { Config } from '../types/index.js';
3
+ /**
4
+ * Keys whose **actual runtime value** is written by the config template below.
5
+ * A key belongs here if and only if emitting it a second time would duplicate
6
+ * it. Any key the template does NOT write with its real value is intentionally
7
+ * excluded so a user's real value survives via the `// Preserved custom
8
+ * settings` block. Two categories are excluded:
9
+ * - Comment-only keys the template never renders as a real value:
10
+ * `commandAliases`, `priorityLevels`, `issueSortOrder`.
11
+ * - Optional keys omitted entirely from a fresh config (they fall back to
12
+ * their Zod schema default at load time): `trackingFile`,
13
+ * `createIssuesPreference`, `planChoices`, `pollingProvider`,
14
+ * `pollIntervalSeconds`, `browserHeadless`. A user who sets any of these
15
+ * manually keeps it — it round-trips through the preserved block on re-init.
16
+ *
17
+ * When adding any future documented field to the template, add its key here in
18
+ * the same change so it is not double-written (once documented, once preserved).
19
+ */
20
+ export declare const TEMPLATE_EMITTED_KEYS: Set<string>;
21
+ /**
22
+ * Build the `// Preserved custom settings` block for any keys present in the
23
+ * final config that the template does not itself emit (arbitrary/custom keys,
24
+ * plus `hulaProject`/`hulaProjectUrl`). Each value is serialized with
25
+ * `JSON.stringify`, which produces valid JS for all JSON-compatible values.
26
+ *
27
+ * Returns an empty string when there are no unknown keys, so no empty block is
28
+ * ever emitted. The returned string, when non-empty, begins with a newline and
29
+ * is intended to be concatenated immediately before the closing `};`.
30
+ *
31
+ * Note: preserved values may contain secrets — only key names are logged, never
32
+ * values.
33
+ */
34
+ export declare function buildPreservedSection(finalConfig: Record<string, any>): string;
3
35
  /**
4
36
  * Init command - Initialize HubLaunch configuration
5
37
  */
6
38
  export declare function initCommand(program: Command, _config: Config): void;
7
- export declare function executeInit(): Promise<void>;
39
+ /**
40
+ * Generate hook templates based on authentication provider
41
+ */
42
+ export declare function generateHookTemplates(projectRoot: string, authProvider: string): Promise<void>;
43
+ export declare function executeInit(options?: {
44
+ force?: boolean;
45
+ }): Promise<void>;
8
46
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AA2ChD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAmBnE;AA01BD,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAgrBjD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAahD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,qBAAqB,aAkBhC,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAe9E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAmBnE;AA0bD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAoXD,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAogBhB"}
@@ -7,37 +7,65 @@ import { form, UserCancelledError } from '../utils/prompts.js';
7
7
  import { fileURLToPath } from 'url';
8
8
  import { dirname } from 'path';
9
9
  import { DEFAULT_CONFIG } from '../types/config.schema.js';
10
- import { DEFAULT_POLL_INTERVAL_SECONDS } from '../types/common.schema.js';
11
10
  import { checkGhVersion } from '../utils/github-cli.js';
12
- import { parseExistingConfig, mergeConfigs } from '../utils/config-parser.js';
11
+ import { parseExistingConfig, mergeConfigs, CONFIG_PARSE_FAILED_PREFIX, } from '../utils/config-parser.js';
13
12
  import { getCliVersion } from '../utils/version.js';
14
- import { RESERVED_ENV_VARS } from '../utils/env-vars.js';
15
13
  /**
16
- * Validate envVars input from the init form. Accepts an empty string (clears the
17
- * setting), the literal "all", or a comma-separated list of variable names. Each
18
- * name is checked against the reserved blocklist; "all" is always accepted since
19
- * its expansion is validated at launch time when the .env contents are known.
14
+ * Keys whose **actual runtime value** is written by the config template below.
15
+ * A key belongs here if and only if emitting it a second time would duplicate
16
+ * it. Any key the template does NOT write with its real value is intentionally
17
+ * excluded so a user's real value survives via the `// Preserved custom
18
+ * settings` block. Two categories are excluded:
19
+ * - Comment-only keys the template never renders as a real value:
20
+ * `commandAliases`, `priorityLevels`, `issueSortOrder`.
21
+ * - Optional keys omitted entirely from a fresh config (they fall back to
22
+ * their Zod schema default at load time): `trackingFile`,
23
+ * `createIssuesPreference`, `planChoices`, `pollingProvider`,
24
+ * `pollIntervalSeconds`, `browserHeadless`. A user who sets any of these
25
+ * manually keeps it — it round-trips through the preserved block on re-init.
26
+ *
27
+ * When adding any future documented field to the template, add its key here in
28
+ * the same change so it is not double-written (once documented, once preserved).
20
29
  */
21
- function validateEnvVarsInput(input) {
22
- if (!input || input.trim() === '') {
23
- return true; // Empty is valid (user can clear it)
24
- }
25
- const trimmed = input.trim();
26
- // "all" is always valid (validation happens at launch time)
27
- if (trimmed.toLowerCase() === 'all') {
28
- return true;
29
- }
30
- // Parse comma-separated list
31
- const vars = trimmed
32
- .split(',')
33
- .map((v) => v.trim())
34
- .filter((v) => v.length > 0);
35
- // Check each against reserved list
36
- const blocked = vars.filter((v) => RESERVED_ENV_VARS.has(v));
37
- if (blocked.length > 0) {
38
- return `Cannot use reserved variables: ${blocked.join(', ')}. These are blocked to prevent shadowing system/server behavior.`;
30
+ export const TEMPLATE_EMITTED_KEYS = new Set([
31
+ 'version',
32
+ 'hulaApiKey',
33
+ 'anthropicApiKey',
34
+ 'daytonaApiKey',
35
+ 'daytonaTier',
36
+ 'containerResources',
37
+ 'updateNotificationUrl',
38
+ 'updateNotificationNameTag',
39
+ 'usageTier',
40
+ 'editorCommand',
41
+ 'planPath',
42
+ 'skipUntrackedPrompt',
43
+ 'teamMembers',
44
+ 'services',
45
+ 'hooks',
46
+ 'worktreeBasePath',
47
+ 'envVars',
48
+ ]);
49
+ /**
50
+ * Build the `// Preserved custom settings` block for any keys present in the
51
+ * final config that the template does not itself emit (arbitrary/custom keys,
52
+ * plus `hulaProject`/`hulaProjectUrl`). Each value is serialized with
53
+ * `JSON.stringify`, which produces valid JS for all JSON-compatible values.
54
+ *
55
+ * Returns an empty string when there are no unknown keys, so no empty block is
56
+ * ever emitted. The returned string, when non-empty, begins with a newline and
57
+ * is intended to be concatenated immediately before the closing `};`.
58
+ *
59
+ * Note: preserved values may contain secrets — only key names are logged, never
60
+ * values.
61
+ */
62
+ export function buildPreservedSection(finalConfig) {
63
+ const unknownKeys = Object.keys(finalConfig).filter((key) => !TEMPLATE_EMITTED_KEYS.has(key) && finalConfig[key] !== undefined);
64
+ if (unknownKeys.length === 0) {
65
+ return '';
39
66
  }
40
- return true;
67
+ const lines = unknownKeys.map((key) => ` ${key}: ${JSON.stringify(finalConfig[key])},`);
68
+ return `\n\n // Preserved custom settings\n${lines.join('\n')}`;
41
69
  }
42
70
  /**
43
71
  * Init command - Initialize HubLaunch configuration
@@ -47,9 +75,9 @@ export function initCommand(program, _config) {
47
75
  .command('init')
48
76
  .description('Initialize HubLaunch configuration (interactive)')
49
77
  .option('--force', 'Overwrite existing configuration')
50
- .action(async () => {
78
+ .action(async (options) => {
51
79
  try {
52
- await executeInit();
80
+ await executeInit(options);
53
81
  }
54
82
  catch (error) {
55
83
  // Handle user cancellation gracefully
@@ -492,13 +520,14 @@ Templates are automatically detected and used by HubLaunch when creating issues
492
520
  /**
493
521
  * Generate hook templates based on authentication provider
494
522
  */
495
- async function generateHookTemplates(projectRoot, authProvider, overrideStartupScript) {
523
+ export async function generateHookTemplates(projectRoot, authProvider) {
496
524
  const hooksDir = join(projectRoot, '.hublaunch/hooks');
497
525
  // Create hooks directory
498
526
  await mkdir(hooksDir, { recursive: true });
499
527
  logger.success(`Created directory: .hublaunch/hooks/`);
500
528
  // Generate deploymentStartupScript.ts template based on auth provider
501
- // Only create if auth provider is configured (not "none")
529
+ // Only create if auth provider is configured (not "none"). An existing script
530
+ // is never overwritten — the user may have customized it.
502
531
  if (authProvider !== 'none') {
503
532
  const startupScriptPath = join(hooksDir, 'deploymentStartupScript.ts');
504
533
  if (!existsSync(startupScriptPath)) {
@@ -506,11 +535,6 @@ async function generateHookTemplates(projectRoot, authProvider, overrideStartupS
506
535
  await writeFile(startupScriptPath, template, 'utf-8');
507
536
  logger.success(`Created: .hublaunch/hooks/deploymentStartupScript.ts`);
508
537
  }
509
- else if (overrideStartupScript) {
510
- const template = getDeploymentStartupTemplate(authProvider);
511
- await writeFile(startupScriptPath, template, 'utf-8');
512
- logger.success(`Overridden: .hublaunch/hooks/deploymentStartupScript.ts`);
513
- }
514
538
  else {
515
539
  logger.info('Keeping existing deploymentStartupScript.ts');
516
540
  }
@@ -789,9 +813,6 @@ function displayConfigSummary(config) {
789
813
  logger.info('📝 Basic Settings:');
790
814
  logger.listItem(`Editor: ${config.editorCommand}`, 1);
791
815
  logger.listItem(`Plan Path: ${config.planPath}`, 1);
792
- logger.listItem(`Tracking File: ${config.trackingFile}`, 1);
793
- logger.listItem(`Create Issues: ${config.createIssuesPreference}`, 1);
794
- logger.listItem(`Plan Choices: ${config.planChoices}`, 1);
795
816
  logger.listItem(`Skip Untracked Prompt: ${config.skipUntrackedPrompt}`, 1);
796
817
  logger.listItem(`Worktree Base Path: ${config.worktreeBasePath ?? '.hula-worktrees'}`, 1);
797
818
  if (config.teamMembers && config.teamMembers.length > 0) {
@@ -807,7 +828,7 @@ function displayConfigSummary(config) {
807
828
  }
808
829
  logger.blank();
809
830
  }
810
- export async function executeInit() {
831
+ export async function executeInit(options) {
811
832
  logger.section('Initialize HubLaunch Configuration');
812
833
  // Validate GitHub CLI version
813
834
  logger.info('Checking GitHub CLI version...');
@@ -830,9 +851,24 @@ export async function executeInit() {
830
851
  : existsSync(configPath)
831
852
  ? configPath
832
853
  : null;
833
- if (existingConfigPath) {
854
+ // With --force, skip parsing entirely so a broken existing file does not
855
+ // block regeneration (custom edits are intentionally lost, as documented).
856
+ if (existingConfigPath && !options?.force) {
834
857
  logger.info(`📋 Detected existing config: ${relative(repoRoot, existingConfigPath)}`);
835
- existingConfig = await parseExistingConfig(existingConfigPath);
858
+ try {
859
+ existingConfig = await parseExistingConfig(existingConfigPath);
860
+ }
861
+ catch (error) {
862
+ const message = error instanceof Error ? error.message : String(error);
863
+ if (message.startsWith(CONFIG_PARSE_FAILED_PREFIX)) {
864
+ logger.error(`Existing config at ${relative(repoRoot, existingConfigPath)} could not be parsed (syntax error).`);
865
+ logger.error('Fix the file, or run `hula init --force` to regenerate a fresh config (custom edits will be lost).');
866
+ process.exit(1);
867
+ }
868
+ // Any other error (e.g. the hulaRepository legacy-key guard) is a real
869
+ // configuration problem — surface it as-is.
870
+ throw error;
871
+ }
836
872
  if (existingConfig) {
837
873
  const preservedKeys = [];
838
874
  if (existingConfig.hulaApiKey)
@@ -867,16 +903,6 @@ export async function executeInit() {
867
903
  if (existsSync(configPath)) {
868
904
  logger.info('Configuration file already exists. Proceeding with reinitialization...');
869
905
  }
870
- // Helper to convert absolute paths back to relative paths for display/editing
871
- const toRelativePath = (absolutePath, defaultPath) => {
872
- if (!absolutePath)
873
- return defaultPath;
874
- if (!isAbsolute(absolutePath))
875
- return absolutePath;
876
- // Convert absolute path to relative by removing repoRoot prefix
877
- const relativePath = relative(repoRoot, absolutePath);
878
- return relativePath || defaultPath;
879
- };
880
906
  // Display existing config if present
881
907
  // Display existing config if present (for reference)
882
908
  if (existingConfig && existingConfig.planPath) {
@@ -886,13 +912,12 @@ export async function executeInit() {
886
912
  logger.info("Let's set up your HubLaunch configuration...");
887
913
  }
888
914
  logger.blank();
889
- logger.info('📝 Configure ALL settings (use ↑↓ arrows to navigate, Enter to edit each field):');
890
- logger.info('💡 Hint: For enum fields, valid values are shown in parentheses');
891
- logger.info('💡 Leave fields unchanged to keep current values, or edit to update');
915
+ logger.info('📝 Enter your API keys (use ↑↓ arrows to navigate, Enter to edit each field):');
916
+ logger.info('💡 Everything else is written to .hublaunch/hublaunch.config.js edit it afterward to customize.');
892
917
  logger.blank();
893
- // Check if override files exist - only ask about overriding if they exist
894
- const startupScriptExists = existsSync(join(repoRoot, '.hublaunch/hooks/deploymentStartupScript.ts'));
895
- // Build form choices dynamically - only include override options for files that exist
918
+ // Only the two required API keys are prompted. Every other setting is written
919
+ // to the config file with a sensible default (or preserved from an existing
920
+ // config on re-init) for the user to edit manually.
896
921
  const formChoices = [
897
922
  {
898
923
  name: 'anthropicApiKey',
@@ -904,110 +929,8 @@ export async function executeInit() {
904
929
  message: 'Daytona API Key (required for hula launch) — get it at https://app.daytona.io',
905
930
  initial: existingConfig?.daytonaApiKey || '',
906
931
  },
907
- {
908
- name: 'daytonaTier',
909
- message: 'Daytona Org Tier (1=Starter, 2=Standard, 3=Pro, 4=Enterprise)',
910
- initial: (existingConfig?.daytonaTier ?? 1).toString(),
911
- validate: (value) => {
912
- const n = parseInt(value, 10);
913
- return ([1, 2, 3, 4].includes(n)) || 'Must be 1, 2, 3, or 4';
914
- },
915
- },
916
- {
917
- name: 'editorCommand',
918
- message: 'Editor (cursor|vsCode|other)',
919
- initial: existingConfig?.editorCommand || DEFAULT_CONFIG.editorCommand,
920
- validate: (value) => {
921
- const valid = ['cursor', 'vsCode', 'other'];
922
- return valid.includes(value) || `Must be one of: ${valid.join(', ')}`;
923
- },
924
- },
925
- {
926
- name: 'planPath',
927
- message: 'Plan files directory',
928
- initial: toRelativePath(existingConfig?.planPath, DEFAULT_CONFIG.planPath),
929
- },
930
- {
931
- name: 'trackingFile',
932
- message: 'Tracking file path',
933
- initial: toRelativePath(existingConfig?.trackingFile, DEFAULT_CONFIG.trackingFile),
934
- },
935
- {
936
- name: 'createIssuesPreference',
937
- message: 'Create issues (alwaysLatest|chooseRecentPlan)',
938
- initial: existingConfig?.createIssuesPreference ||
939
- DEFAULT_CONFIG.createIssuesPreference,
940
- validate: (value) => {
941
- const valid = ['alwaysLatest', 'chooseRecentPlan'];
942
- return valid.includes(value) || `Must be one of: ${valid.join(', ')}`;
943
- },
944
- },
945
- {
946
- name: 'planChoices',
947
- message: 'Number of recent plans to show',
948
- initial: (existingConfig?.planChoices || DEFAULT_CONFIG.planChoices).toString(),
949
- validate: (value) => {
950
- const num = parseInt(value, 10);
951
- return (!isNaN(num) && num > 0) || 'Please enter a positive number';
952
- },
953
- },
954
- {
955
- name: 'skipUntrackedPrompt',
956
- message: 'Skip untracked prompt (true|false)',
957
- initial: (existingConfig?.skipUntrackedPrompt ??
958
- DEFAULT_CONFIG.skipUntrackedPrompt).toString(),
959
- validate: (value) => {
960
- const valid = ['true', 'false', 'yes', 'no'];
961
- return valid.includes(value.toLowerCase()) || 'Must be true or false';
962
- },
963
- },
964
- {
965
- name: 'teamMembers',
966
- message: 'Team members (comma-separated)',
967
- initial: existingConfig?.teamMembers?.join(', ') || '',
968
- },
969
- {
970
- name: 'authProvider',
971
- message: 'Auth provider (none|clerk|auth0|custom)',
972
- initial: existingConfig?.services?.authentication?.provider || 'clerk',
973
- validate: (value) => {
974
- const valid = ['none', 'clerk', 'auth0', 'custom'];
975
- return valid.includes(value) || `Must be one of: ${valid.join(', ')}`;
976
- },
977
- },
978
- {
979
- name: 'configureVsCodeAutoApproval',
980
- message: 'Configure VS Code auto-approval for hula agent commands? (true|false)',
981
- initial: 'true',
982
- validate: (value) => {
983
- const valid = ['true', 'false', 'yes', 'no'];
984
- return valid.includes(value.toLowerCase()) || 'Must be true or false';
985
- },
986
- },
987
- {
988
- name: 'envVars',
989
- message: 'Environment variables to forward to tests (comma-separated, e.g. TEST_USER_EMAIL,API_KEY), or type "all" to forward all .env variables',
990
- initial: existingConfig?.envVars
991
- ? Array.isArray(existingConfig.envVars)
992
- ? existingConfig.envVars.join(', ')
993
- : existingConfig.envVars // If it's "all", show "all"
994
- : '',
995
- validate: validateEnvVarsInput,
996
- },
997
932
  ];
998
- // Only add override options for files that already exist
999
- if (startupScriptExists) {
1000
- formChoices.push({
1001
- name: 'overrideStartupScript',
1002
- message: 'Override existing deploymentStartupScript.ts? (true|false)',
1003
- initial: 'false',
1004
- validate: (value) => {
1005
- const valid = ['true', 'false', 'yes', 'no'];
1006
- return valid.includes(value.toLowerCase()) || 'Must be true or false';
1007
- },
1008
- });
1009
- }
1010
- // Single Unified Form for ALL fields
933
+ // Prompt for the two required API keys.
1011
934
  const formData = await form('HubLaunch Configuration', formChoices);
1012
935
  // Parse form results with fallbacks
1013
936
  const anthropicApiKey = (formData.anthropicApiKey || '').trim() || undefined;
@@ -1016,20 +939,12 @@ export async function executeInit() {
1016
939
  const editorCommand = (formData.editorCommand ||
1017
940
  DEFAULT_CONFIG.editorCommand);
1018
941
  const planPath = (formData.planPath || DEFAULT_CONFIG.planPath).replace(/\\/g, '/');
1019
- const trackingFile = (formData.trackingFile || DEFAULT_CONFIG.trackingFile).replace(/\\/g, '/');
1020
- const createIssuesPreference = (formData.createIssuesPreference ||
1021
- DEFAULT_CONFIG.createIssuesPreference);
1022
- const planChoices = parseInt(formData.planChoices || DEFAULT_CONFIG.planChoices.toString(), 10);
1023
942
  const skipUntrackedPrompt = ['true', 'yes'].includes((formData.skipUntrackedPrompt || 'false').toLowerCase());
1024
943
  const teamMembers = (formData.teamMembers || '')
1025
944
  .split(',')
1026
945
  .map((m) => m.trim())
1027
946
  .filter((m) => m.length > 0);
1028
947
  const authProvider = (formData.authProvider || 'none');
1029
- // Override defaults to true for new files (they will be created), false for existing
1030
- const overrideStartupScript = startupScriptExists
1031
- ? ['true', 'yes'].includes((formData.overrideStartupScript || 'false').toLowerCase())
1032
- : true;
1033
948
  // Parse VS Code auto-approval preference
1034
949
  const configureVsCodeAutoApproval = ['true', 'yes'].includes((formData.configureVsCodeAutoApproval || 'true').toLowerCase());
1035
950
  // Parse envVars: can be "all" or comma-separated array
@@ -1051,11 +966,9 @@ export async function executeInit() {
1051
966
  const baseConfig = {
1052
967
  editorCommand,
1053
968
  planPath,
1054
- trackingFile,
1055
- createIssuesPreference,
1056
- planChoices,
1057
969
  skipUntrackedPrompt,
1058
970
  teamMembers,
971
+ daytonaTier,
1059
972
  envVars,
1060
973
  };
1061
974
  // Add services if configured
@@ -1081,9 +994,6 @@ export async function executeInit() {
1081
994
  // post-merge so the user's typed value (including cleared) is what gets written.
1082
995
  finalConfig.anthropicApiKey = anthropicApiKey;
1083
996
  finalConfig.daytonaApiKey = daytonaApiKey;
1084
- finalConfig.daytonaTier = daytonaTier;
1085
- // Assign post-merge so the user can clear a previously-saved envVars value.
1086
- finalConfig.envVars = envVars;
1087
997
  // Always record the CURRENT CLI version (not the value preserved by
1088
998
  // mergeConfigs) so the runtime staleness check can detect upgrades. Assigned
1089
999
  // post-merge for the same reason as the keys above. If the version cannot be
@@ -1091,34 +1001,18 @@ export async function executeInit() {
1091
1001
  const cliVersion = getCliVersion();
1092
1002
  if (cliVersion)
1093
1003
  finalConfig.version = cliVersion;
1094
- // Generate hooks config section
1095
- let hooksConfigSection;
1096
- if (finalConfig.hooks) {
1097
- hooksConfigSection = `
1098
- // Lifecycle hooks
1099
- hooks: ${JSON.stringify(finalConfig.hooks, null, 2).replace(/\n/g, '\n ')},`;
1100
- }
1101
- else {
1102
- hooksConfigSection = `
1103
- // Lifecycle hooks (optional)
1104
- // hooks: {
1105
- // deploymentStartup: ".hublaunch/hooks/deploymentStartupScript.ts",
1106
- // },`;
1107
- }
1108
- // Generate services config section (without credentials)
1109
- let servicesConfigSection;
1110
- if (finalConfig.services) {
1111
- servicesConfigSection = `
1112
- // Service configuration
1113
- services: ${JSON.stringify(finalConfig.services, null, 2).replace(/\n/g, '\n ')},`;
1114
- }
1115
- else {
1116
- servicesConfigSection = `
1117
- // Service configuration (optional)
1118
- // services: {
1119
- // authentication: { provider: "none" },
1120
- // },`;
1121
- }
1004
+ // Generate hooks config section (omitted entirely when not configured)
1005
+ const hooksConfigSection = finalConfig.hooks
1006
+ ? `\n\n // Lifecycle hooks\n hooks: ${JSON.stringify(finalConfig.hooks, null, 2).replace(/\n/g, '\n ')},`
1007
+ : '';
1008
+ // Generate services config section without credentials (omitted when not configured)
1009
+ const servicesConfigSection = finalConfig.services
1010
+ ? `\n\n // Service configuration\n services: ${JSON.stringify(finalConfig.services, null, 2).replace(/\n/g, '\n ')},`
1011
+ : '';
1012
+ // Generate team members section (omitted when none are configured)
1013
+ const teamMembersSection = finalConfig.teamMembers && finalConfig.teamMembers.length > 0
1014
+ ? `\n\n // Team members\n teamMembers: ${JSON.stringify(finalConfig.teamMembers)},`
1015
+ : '';
1122
1016
  // Generate config content with preserved API key
1123
1017
  const apiKeyLine = finalConfig.hulaApiKey
1124
1018
  ? `\n hulaApiKey: "${finalConfig.hulaApiKey}",`
@@ -1176,61 +1070,27 @@ export async function executeInit() {
1176
1070
 
1177
1071
  // Plan files configuration
1178
1072
  planPath: "${finalConfig.planPath || planPath}",
1179
- trackingFile: "${finalConfig.trackingFile || trackingFile}",
1180
- createIssuesPreference: "${finalConfig.createIssuesPreference || createIssuesPreference}",
1181
- planChoices: ${finalConfig.planChoices ?? planChoices},
1182
1073
 
1183
1074
  // Tracking behavior
1184
- skipUntrackedPrompt: ${finalConfig.skipUntrackedPrompt ?? skipUntrackedPrompt},
1185
-
1186
- // Polling / auto-refresh
1187
- pollingProvider: "${finalConfig.pollingProvider || 'hula-server'}", // "hula-server" | "github"
1188
- pollIntervalSeconds: ${finalConfig.pollIntervalSeconds ?? DEFAULT_POLL_INTERVAL_SECONDS}, // Minimum 60
1189
-
1190
- // Team members${finalConfig.teamMembers && finalConfig.teamMembers.length > 0
1191
- ? `\n teamMembers: ${JSON.stringify(finalConfig.teamMembers)},`
1192
- : '\n // teamMembers: [],'}
1193
-
1194
- // Command aliases (optional)
1195
- // commandAliases: {
1196
- // primary: ["hula", "hub-launch", "hl"],
1197
- // },
1198
-
1199
- // Priority levels (optional)
1200
- // priorityLevels: [
1201
- // { name: "Critical", color: "red", emoji: "🔴" },
1202
- // { name: "High", color: "orange", emoji: "🟠" },
1203
- // { name: "Medium", color: "yellow", emoji: "🟡" },
1204
- // { name: "Low", color: "green", emoji: "🟢" },
1205
- // { name: "Minimal", color: "gray", emoji: "⚪" },
1206
- // ],
1207
-
1208
- // Issue sorting (optional)
1209
- // issueSortOrder: {
1210
- // groupBy: "priority",
1211
- // sortBy: "created",
1212
- // direction: "desc",
1213
- // },
1214
- ${servicesConfigSection}
1215
- ${hooksConfigSection}
1216
-
1217
- // Browser automation
1218
- browserHeadless: "auto", // "auto" | "always" | "never"
1075
+ skipUntrackedPrompt: ${finalConfig.skipUntrackedPrompt ?? skipUntrackedPrompt},${teamMembersSection}${servicesConfigSection}${hooksConfigSection}
1219
1076
 
1220
1077
  // Worktree base path (used by /hula-fix, /hula-merge, /hula-upload)
1221
1078
  worktreeBasePath: "${(finalConfig.worktreeBasePath || '.hula-worktrees').replace(/\\/g, '\\\\').replace(/"/g, '\\"')}",
1222
- ${envVarsLine}
1079
+ ${envVarsLine}${buildPreservedSection(finalConfig)}
1223
1080
  };
1224
1081
  `;
1225
1082
  // Create directory if it doesn't exist
1226
1083
  if (!existsSync(configDir)) {
1227
1084
  await mkdir(configDir, { recursive: true });
1228
1085
  }
1229
- // Create plans directory if it doesn't exist
1230
- const plansDir = join(repoRoot, planPath);
1086
+ // Create plans directory if it doesn't exist. Use the resolved config value
1087
+ // (preserved from an existing config on re-init) rather than the local
1088
+ // `planPath`, which is always the default now that planPath is not prompted.
1089
+ const resolvedPlanPath = finalConfig.planPath || planPath;
1090
+ const plansDir = join(repoRoot, resolvedPlanPath);
1231
1091
  if (!existsSync(plansDir)) {
1232
1092
  await mkdir(plansDir, { recursive: true });
1233
- logger.success(`Created plans directory: ${planPath}`);
1093
+ logger.success(`Created plans directory: ${resolvedPlanPath}`);
1234
1094
  }
1235
1095
  // Create worktrees directory if it doesn't exist
1236
1096
  const worktreeBasePath = finalConfig.worktreeBasePath || '.hula-worktrees';
@@ -1307,7 +1167,7 @@ ${envVarsLine}
1307
1167
  // Always generate hooks directory structure (with README and optionally script)
1308
1168
  logger.blank();
1309
1169
  logger.info('Generating hooks directory structure...');
1310
- await generateHookTemplates(repoRoot, authProvider, overrideStartupScript);
1170
+ await generateHookTemplates(repoRoot, authProvider);
1311
1171
  // Always generate adapters directory structure
1312
1172
  logger.blank();
1313
1173
  logger.info('Generating adapter directory structure...');
@@ -1337,7 +1197,13 @@ ${envVarsLine}
1337
1197
  logger.blank();
1338
1198
  logger.blank();
1339
1199
  logger.info('Next steps:');
1340
- logger.listItem('Review and customize the configuration if needed', 1);
1200
+ logger.listItem(existingConfig
1201
+ ? 'Only your API keys were requested — every other setting was preserved from your existing config or uses a sensible default'
1202
+ : 'Only your API keys were requested — every other setting uses a sensible default', 1);
1203
+ logger.listItem('📝 Edit .hublaunch/hublaunch.config.js to customize (each field is documented inline):', 1);
1204
+ logger.listItem('daytonaTier, containerResources — sandbox sizing', 2);
1205
+ logger.listItem('teamMembers, envVars — project specifics', 2);
1206
+ logger.listItem('updateNotificationUrl, updateNotificationNameTag — Slack notifications', 2);
1341
1207
  // Show credential setup instructions based on selected services
1342
1208
  if (authProvider !== 'none') {
1343
1209
  logger.listItem('⚠️ Configure credentials in .env file at project root:', 1);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,KAAK,EACL,EAAE,EACF,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAS;IACnD,SAAS;IACT,YAAY;IACZ,iBAAiB;IACjB,eAAe;IACf,aAAa;IACb,oBAAoB;IACpB,uBAAuB;IACvB,2BAA2B;IAC3B,WAAW;IACX,eAAe;IACf,UAAU;IACV,qBAAqB;IACrB,aAAa;IACb,UAAU;IACV,OAAO;IACP,kBAAkB;IAClB,SAAS;CACV,CAAC,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAgC;IACpE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CACjD,CAAC,GAAG,EAAE,EAAE,CACN,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,SAAS,CACpE,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAC3B,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAC1D,CAAC;IAEF,OAAO,uCAAuC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,OAAe;IAC3D,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CAAC,SAAS,EAAE,kCAAkC,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAS,4BAA4B,CAAC,YAAoB;IACxD,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ChB,CAAC;IAEA,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,CACL,MAAM;YACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CL,CACI,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,CACL,MAAM;YACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCL,CACI,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,OAAO,CACL,MAAM;QACN;;;;;;;;;;;;;;;;;;;;;;;;CAwBH,CACE,CAAC;AACJ,CAAC;AAED,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8H7B,CAAC;AAEF,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2ChC,CAAC;AAEF,MAAM,kCAAkC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiD1C,CAAC;AAEF,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCjC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAmB,EACnB,YAAoB;IAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAEvD,yBAAyB;IACzB,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;IAEvD,sEAAsE;IACtE,8EAA8E;IAC9E,0DAA0D;IAC1D,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;QAEvE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,4BAA4B,CAAC,YAAY,CAAC,CAAC;YAC5D,MAAM,SAAS,CAAC,iBAAiB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,SAAS,CAAC,UAAU,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,wBAAwB,CAAC,WAAmB;IACzD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAEtD,6BAA6B;IAC7B,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IAE1D,gCAAgC;IAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACpC,MAAM,SAAS,CAAC,kBAAkB,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;IAC3D,CAAC;IAED,qCAAqC;IACrC,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACtC,MAAM,SAAS,CACb,oBAAoB,EACpB,kCAAkC,EAClC,OAAO,CACR,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,0BAA0B,CAAC,WAAmB;IAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IAE/D,6BAA6B;IAC7B,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;IAE3D,4BAA4B;IAC5B,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACrC,MAAM,SAAS,CAAC,mBAAmB,EAAE,yBAAyB,EAAE,OAAO,CAAC,CAAC;QACzE,MAAM,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAsD;IACtE,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE;IACpD,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE;IAC1D,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE;IAClD,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE;IACxD,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE;IACxD,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE;IACtD,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE;IACxD,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE;IAC5D,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE;IACxD,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE;CACnD,CAAC;AAEF;;;GAGG;AACH,KAAK,UAAU,8BAA8B,CAC3C,WAAmB,EACnB,4BAAqC,EACrC,2BAAoC;IAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAE9D,MAAM,wBAAwB,GAAG,IAAI,CACnC,kBAAkB,EAClB,0BAA0B,CAC3B,CAAC;IACF,MAAM,oBAAoB,GAAG,IAAI,CAC/B,WAAW,EACX,YAAY,EACZ,0BAA0B,CAC3B,CAAC;IAEF,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,4BAA4B,EAAE,CAAC;QACtE,MAAM,QAAQ,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,CAAC;QAC/D,MAAM,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,+BAA+B,GAAG,IAAI,CAC1C,kBAAkB,EAClB,yBAAyB,CAC1B,CAAC;IACF,MAAM,2BAA2B,GAAG,IAAI,CACtC,WAAW,EACX,YAAY,EACZ,yBAAyB,CAC1B,CAAC;IAEF,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,IAAI,2BAA2B,EAAE,CAAC;QAC5E,MAAM,QAAQ,CACZ,+BAA+B,EAC/B,2BAA2B,CAC5B,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IAED,8EAA8E;IAC9E,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,yBAAyB,GAAG,IAAI,CACpC,kBAAkB,EAClB,gCAAgC,CACjC,CAAC;IACF,MAAM,qBAAqB,GAAG,IAAI,CAChC,WAAW,EACX,YAAY,EACZ,gCAAgC,CACjC,CAAC;IACF,MAAM,QAAQ,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,CAAC;IACjE,MAAM,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;IAErE,4EAA4E;IAC5E,8EAA8E;IAC9E,0EAA0E;IAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IACtD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAErE,+CAA+C;IAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/D,MAAM,KAAK,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAElD,4CAA4C;IAC5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACnE,MAAM,KAAK,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,4EAA4E;IAC5E,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;IAED,KAAK,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,YAAY,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAElE,gCAAgC;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACvD,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;QAE5D,6EAA6E;QAC7E,mEAAmE;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,IAAI,CACxB,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CACvD,CAAC;QACF,yDAAyD;QACzD,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAE1C,MAAM,CAAC,OAAO,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,IAAI,CACT,6FAA6F,CAC9F,CAAC;IACF,MAAM,CAAC,IAAI,CACT,oFAAoF,CACrF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,eAAe,GAAG;IACtB,qBAAqB;IACrB,mBAAmB;IACnB,oBAAoB;IACpB,uBAAuB;IACvB,qBAAqB;IACrB,qBAAqB;IACrB,sBAAsB;IACtB,oBAAoB;IACpB,4EAA4E;IAC5E,0EAA0E;IAC1E,2BAA2B;IAC3B,sBAAsB;IACtB,yBAAyB;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IACtD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAE/D,mCAAmC;IACnC,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjD,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAElD,qGAAqG;QACrG,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAClC,MAAM,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,OAAO,CAAC,mCAAmC,UAAU,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,4BAA4B,GAA4B;IAC5D,oBAAoB;IACpB,YAAY,EAAE,IAAI;IAElB,yBAAyB;IACzB,8EAA8E,EAAE,IAAI;IAEpF,4CAA4C;IAC5C,mEAAmE,EAAE,IAAI;IAEzE,2BAA2B;IAC3B,yDAAyD,EAAE,IAAI;IAE/D,mDAAmD;IACnD,6BAA6B,EAAE,IAAI;IAEnC,iDAAiD;IACjD,qCAAqC,EAAE,IAAI;IAE3C,uBAAuB;IACvB,qDAAqD,EAAE,IAAI;CAC5D,CAAC;AAEF;;;;GAIG;AACH,KAAK,UAAU,sBAAsB,CAAC,WAAmB;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAEtD,mCAAmC;IACnC,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,IAAI,gBAAgB,GAA4B,EAAE,CAAC;IAEnD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAClD,oDAAoD;YACpD,MAAM,QAAQ,GAAG,GAAG;iBACjB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;iBACxB,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;YACpC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAA4B,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,OAAO,CACZ,sEAAsE,CACvE,CAAC;YACF,gBAAgB,GAAG,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,gBAAgB,CAAC,iCAAiC,CAAC;QACjD,4BAA4B,CAAC;IAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACjE,MAAM,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAEhD,MAAM,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClC,MAAM,CAAC,QAAQ,CAAC,WAAW,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,QAAQ,CAAC,cAAc,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,QAAQ,CAAC,0BAA0B,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,CAAC,QAAQ,CACb,uBAAuB,MAAM,CAAC,gBAAgB,IAAI,iBAAiB,EAAE,EACrE,CAAC,CACF,CAAC;IAEF,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YACnC,MAAM,CAAC,QAAQ,CACb,kBAAkB,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,EAC3D,CAAC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAEjC;IACC,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IAErD,8BAA8B;IAC9B,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IACrD,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAE5D,gEAAgE;IAChE,IAAI,cAAc,GAA2B,IAAI,CAAC;IAClD,MAAM,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC;QACjD,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;YACtB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,IAAI,CAAC;IAEX,yEAAyE;IACzE,2EAA2E;IAC3E,IAAI,kBAAkB,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CACT,gCAAgC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CACzE,CAAC;QACF,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC;gBACnD,MAAM,CAAC,KAAK,CACV,sBAAsB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,sCAAsC,CACnG,CAAC;gBACF,MAAM,CAAC,KAAK,CACV,oGAAoG,CACrG,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,uEAAuE;YACvE,4CAA4C;YAC5C,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,IAAI,cAAc,CAAC,UAAU;gBAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChE,IAAI,cAAc,CAAC,WAAW,IAAI,cAAc,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBACrE,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACpC,IAAI,cAAc,CAAC,eAAe;gBAAE,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC1E,IAAI,cAAc,CAAC,aAAa;gBAAE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACtE,IAAI,cAAc,CAAC,WAAW,KAAK,SAAS;gBAC1C,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACpC,IAAI,cAAc,CAAC,SAAS,KAAK,KAAK;gBAAE,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxE,IAAI,cAAc,CAAC,QAAQ;gBAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5D,IAAI,cAAc,CAAC,KAAK;gBAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtD,IACE,cAAc,CAAC,OAAO;gBACtB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;oBAClC,cAAc,CAAC,OAAO,KAAK,KAAK,CAAC,EACnC,CAAC;gBACD,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,OAAO,CAAC,yBAAyB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CACT,wEAAwE,CACzE,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,qDAAqD;IACrD,IAAI,cAAc,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC9C,oBAAoB,CAAC,cAAwB,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,IAAI,CACT,+EAA+E,CAChF,CAAC;IACF,MAAM,CAAC,IAAI,CACT,mGAAmG,CACpG,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,8EAA8E;IAC9E,4EAA4E;IAC5E,oDAAoD;IACpD,MAAM,WAAW,GAKZ;QACH;YACE,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,iFAAiF;YAC1F,OAAO,EAAE,cAAc,EAAE,eAAe,IAAI,EAAE;SAC/C;QACD;YACE,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,+EAA+E;YACxF,OAAO,EAAE,cAAc,EAAE,aAAa,IAAI,EAAE;SAC7C;KACF,CAAC;IAEF,wCAAwC;IACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CACzB,yBAAyB,EACzB,WAAW,CACZ,CAAC;IAEF,oCAAoC;IACpC,MAAM,eAAe,GAAG,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IAC7E,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IACzE,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAC,aAAa;QAC3C,cAAc,CAAC,aAAa,CAAkC,CAAC;IACjE,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,CACrE,KAAK,EACL,GAAG,CACJ,CAAC;IACF,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAClD,CAAC,QAAQ,CAAC,mBAAmB,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,CACxD,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;SAC7C,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,MAAM,CAIzC,CAAC;IAEb,yCAAyC;IACzC,MAAM,2BAA2B,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAC1D,CAAC,QAAQ,CAAC,2BAA2B,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAC/D,CAAC;IAEF,uDAAuD;IACvD,IAAI,OAAqC,CAAC;IAC1C,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;QACxB,OAAO,GAAG,SAAS,CAAC,CAAC,oBAAoB;IAC3C,CAAC;SAAM,IAAI,YAAY,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;QAChD,OAAO,GAAG,KAAK,CAAC,CAAC,uBAAuB;IAC1C,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,YAAY;aACnB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B;IAC5D,CAAC;IAED,0BAA0B;IAC1B,MAAM,UAAU,GAAoB;QAClC,aAAa;QACb,QAAQ;QACR,mBAAmB;QACnB,WAAW;QACX,WAAW;QACX,OAAO;KACR,CAAC;IAEF,6BAA6B;IAC7B,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,UAAU,CAAC,QAAQ,GAAG;YACpB,cAAc,EAAE;gBACd,QAAQ,EAAE,YAA4C;aACvD;SACF,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,UAAU,CAAC,KAAK,GAAG;YACjB,iBAAiB,EAAE,6CAA6C;SACjE,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,MAAM,WAAW,GAAG,cAAc;QAChC,CAAC,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC;QAC1C,CAAC,CAAC,UAAU,CAAC;IAEf,4EAA4E;IAC5E,2EAA2E;IAC3E,iFAAiF;IACjF,WAAW,CAAC,eAAe,GAAG,eAAe,CAAC;IAC9C,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;IAE1C,oEAAoE;IACpE,6EAA6E;IAC7E,6EAA6E;IAC7E,gEAAgE;IAChE,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,UAAU;QAAE,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC;IAEjD,uEAAuE;IACvE,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK;QAC1C,CAAC,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;QAC5G,CAAC,CAAC,EAAE,CAAC;IAEP,qFAAqF;IACrF,MAAM,qBAAqB,GAAG,WAAW,CAAC,QAAQ;QAChD,CAAC,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;QACxH,CAAC,CAAC,EAAE,CAAC;IAEP,mEAAmE;IACnE,MAAM,kBAAkB,GACtB,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAC3D,CAAC,CAAC,yCAAyC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG;QACrF,CAAC,CAAC,EAAE,CAAC;IAET,iDAAiD;IACjD,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU;QACvC,CAAC,CAAC,oBAAoB,WAAW,CAAC,UAAU,IAAI;QAChD,CAAC,CAAC,yCAAyC,CAAC;IAE9C,MAAM,gBAAgB,GAAG,WAAW,CAAC,eAAe;QAClD,CAAC,CAAC,yBAAyB,WAAW,CAAC,eAAe,IAAI;QAC1D,CAAC,CAAC,+JAA+J,CAAC;IAEpK,MAAM,cAAc,GAAG,WAAW,CAAC,aAAa;QAC9C,CAAC,CAAC,uBAAuB,WAAW,CAAC,aAAa,IAAI;QACtD,CAAC,CAAC,yHAAyH,CAAC;IAE9H,MAAM,eAAe,GAAG,oBAAoB,WAAW,CAAC,WAAW,IAAI,CAAC,sIAAsI,CAAC;IAE/M,MAAM,sBAAsB,GAAG,WAAW,CAAC,kBAAkB;QAC3D,CAAC,CAAC,6BAA6B;YAC3B,WAAW,CAAC,kBAAkB,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI;YACtG,WAAW,CAAC,kBAAkB,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,WAAW,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;YAC/G,WAAW,CAAC,kBAAkB,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;SAC1G,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kJAAkJ;QAChL,CAAC,CAAC,uMAAuM,CAAC;IAE5M,MAAM,yBAAyB,GAAG,WAAW,CAAC,qBAAqB;QACjE,CAAC,CAAC,+BAA+B,WAAW,CAAC,qBAAqB,IAAI;QACtE,CAAC,CAAC,+MAA+M,CAAC;IAEpN,MAAM,6BAA6B,GAAG,WAAW,CAAC,yBAAyB;QACzE,CAAC,CAAC,mCAAmC,WAAW,CAAC,yBAAyB,IAAI;QAC9E,CAAC,CAAC,sQAAsQ,CAAC;IAE3Q,MAAM,aAAa,GAAG,mBAAmB,WAAW,CAAC,SAAS,IAAI,MAAM,+EAA+E,CAAC;IAExJ,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO;QACrC,CAAC,CAAC,iBAAiB,WAAW,CAAC,OAAO,uGAAuG;QAC7I,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,WAAmB,CAAC;IACxB,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,mBAAmB;YACnB,WAAW,GAAG,sEAAsE,CAAC;QACvF,CAAC;aAAM,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,+BAA+B;YAC/B,WAAW,GAAG,gBAAgB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,sEAAsE,CAAC;QAC1I,CAAC;aAAM,CAAC;YACN,iCAAiC;YACjC,WAAW;gBACT,oHAAoH,CAAC;QACzH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,UAAU;QACV,WAAW;YACT,oHAAoH,CAAC;IACzH,CAAC;IAED,MAAM,aAAa,GAAG,0BAA0B,WAAW;wBACrC,UAAU,GAAG,gBAAgB,GAAG,cAAc,GAAG,eAAe,GAAG,sBAAsB,GAAG,yBAAyB,GAAG,6BAA6B,GAAG,aAAa;;;oBAGzK,WAAW,CAAC,aAAa,IAAI,aAAa;;;eAG/C,WAAW,CAAC,QAAQ,IAAI,QAAQ;;;yBAGtB,WAAW,CAAC,mBAAmB,IAAI,mBAAmB,IAAI,kBAAkB,GAAG,qBAAqB,GAAG,kBAAkB;;;uBAG3H,CAAC,WAAW,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;EACpH,WAAW,GAAG,qBAAqB,CAAC,WAAW,CAAC;;CAEjD,CAAC;IAEA,uCAAuC;IACvC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,4EAA4E;IAC5E,uEAAuE;IACvE,6EAA6E;IAC7E,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,CAAC,4BAA4B,gBAAgB,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,iDAAiD;IACjD,MAAM,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,IAAI,iBAAiB,CAAC;IAC3E,MAAM,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAAC;QAC/C,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,OAAO,CAAC,gCAAgC,gBAAgB,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,oBAAoB;IACpB,MAAM,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAEpD,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,OAAO,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;IAEzD,wCAAwC;IACxC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,gBAAgB,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACzD,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CACpC,CAAC;QACJ,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACtD,yBAAyB;YACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC9C,CAAC,CAAC,kDAAkD;gBACpD,CAAC,CAAC,oDAAoD,CAAC;YACzD,gBAAgB,IAAI,QAAQ,CAAC;YAC7B,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACtC,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,gBAAgB,EAAE,OAAO,CAAC,CACvD,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;QAC9D,CAAC;QAED,wGAAwG;QACxG,IACE,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAC7B,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAC5C,CAAC;YACD,gBAAgB,IAAI,4BAA4B,gBAAgB,KAAK,CAAC;YACtE,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACtC,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,gBAAgB,EAAE,OAAO,CAAC,CACvD,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,WAAW,gBAAgB,iBAAiB,CAAC,CAAC;QAC/D,CAAC;QAED,wEAAwE;QACxE,2DAA2D;QAC3D,IAAI,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,OAAO,CACZ,oHAAoH,CACrH,CAAC;YACF,MAAM,CAAC,OAAO,CACZ,2FAA2F,CAC5F,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,OAAO,CACZ,gCACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG;QACf,mCAAmC;QACnC,2FAA2F;QAC3F,2CAA2C;QAC3C,EAAE;KACH,CAAC;IAEF,sDAAsD;IACtD,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACrE,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,4CAA4C;IAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,CAAC,OAAO,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CACT,mCAAmC,OAAO,qDAAqD,CAChG,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IAC9E,CAAC;IAED,gFAAgF;IAChF,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACvD,MAAM,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEpD,+CAA+C;IAC/C,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IACzD,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAEzC,gDAAgD;IAChD,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC3D,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAE3C,wFAAwF;IACxF,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC1D,MAAM,8BAA8B,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAE3D,iGAAiG;IACjG,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACnE,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAEtC,kEAAkE;IAClE,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACtE,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAEtC,0DAA0D;IAC1D,IAAI,2BAA2B,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC5E,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3B,MAAM,CAAC,QAAQ,CACb,cAAc;QACZ,CAAC,CAAC,4HAA4H;QAC9H,CAAC,CAAC,iFAAiF,EACrF,CAAC,CACF,CAAC;IACF,MAAM,CAAC,QAAQ,CACb,wFAAwF,EACxF,CAAC,CACF,CAAC;IACF,MAAM,CAAC,QAAQ,CAAC,kDAAkD,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,CAAC,QAAQ,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,QAAQ,CACb,wEAAwE,EACxE,CAAC,CACF,CAAC;IAEF,gEAAgE;IAChE,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,QAAQ,CACb,yDAAyD,EACzD,CAAC,CACF,CAAC;QACF,MAAM,CAAC,QAAQ,CACb,2DAA2D,EAC3D,CAAC,CACF,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,QAAQ,CACb,iEAAiE,EACjE,CAAC,CACF,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,QAAQ,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,CAAC,QAAQ,CAAC,mDAAmD,EAAE,CAAC,CAAC,CAAC;IACxE,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IACzE,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IAC5E,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IACjE,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC9D,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACnE,MAAM,CAAC,IAAI,CACT,wFAAwF,CACzF,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IAClE,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAC9E,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACvE,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACpE,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,IAAI,CACT,2GAA2G,CAC5G,CAAC;AACJ,CAAC"}
@@ -1,13 +1,29 @@
1
1
  /**
2
- * Parse existing config file and extract current values
3
- * Handles both .js and .ts config files
2
+ * Prefix used to mark errors that originate from a failed dynamic `import()` of
3
+ * an existing config file (i.e. a syntactically broken config). Callers can test
4
+ * for this prefix to distinguish a parse failure from any other error and turn it
5
+ * into an actionable, user-facing hard failure.
4
6
  */
5
- export declare function parseExistingConfig(configPath: string): Promise<Partial<Record<string, any>> | null>;
7
+ export declare const CONFIG_PARSE_FAILED_PREFIX = "CONFIG_PARSE_FAILED: ";
6
8
  /**
7
- * Extract config values using regex patterns (fallback method)
8
- * Useful when dynamic import fails due to syntax errors
9
+ * Parse an existing config file by loading it via native dynamic `import()`.
10
+ * Handles both `.js` and `.ts` config files (the latter through the `tsx`
11
+ * loader already registered for the process).
12
+ *
13
+ * Returns the full config object — including any arbitrary/custom keys — so the
14
+ * caller can preserve every value across regeneration. Returns `null` only when
15
+ * the file does not exist.
16
+ *
17
+ * On a syntactically broken config the dynamic import throws; this function
18
+ * re-throws a wrapped error prefixed with {@link CONFIG_PARSE_FAILED_PREFIX} so
19
+ * the caller can hard-fail with guidance instead of silently preserving only a
20
+ * subset of keys. It never falls back to lossy regex extraction.
21
+ *
22
+ * @throws Error prefixed with {@link CONFIG_PARSE_FAILED_PREFIX} when the config
23
+ * cannot be imported, or the `hulaRepository` remediation error when the
24
+ * legacy key is present.
9
25
  */
10
- export declare function extractConfigViaRegex(content: string): Partial<Record<string, any>>;
26
+ export declare function parseExistingConfig(configPath: string): Promise<Partial<Record<string, any>> | null>;
11
27
  /**
12
28
  * Merge existing config values with new config values
13
29
  * Priority: existing > new (preserve user customizations)
@@ -1 +1 @@
1
- {"version":3,"file":"config-parser.d.ts","sourceRoot":"","sources":["../../src/utils/config-parser.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAoD9C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CA6K9B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,EAC7C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAkBrB"}
1
+ {"version":3,"file":"config-parser.d.ts","sourceRoot":"","sources":["../../src/utils/config-parser.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAyC9C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,EAC7C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAkBrB"}
@@ -1,189 +1,61 @@
1
- import { readFile } from 'fs/promises';
2
1
  import { existsSync } from 'fs';
3
2
  import { pathToFileURL } from 'url';
4
3
  import { logger } from './logger.js';
5
4
  /**
6
- * Parse existing config file and extract current values
7
- * Handles both .js and .ts config files
5
+ * Prefix used to mark errors that originate from a failed dynamic `import()` of
6
+ * an existing config file (i.e. a syntactically broken config). Callers can test
7
+ * for this prefix to distinguish a parse failure from any other error and turn it
8
+ * into an actionable, user-facing hard failure.
9
+ */
10
+ export const CONFIG_PARSE_FAILED_PREFIX = 'CONFIG_PARSE_FAILED: ';
11
+ /**
12
+ * Parse an existing config file by loading it via native dynamic `import()`.
13
+ * Handles both `.js` and `.ts` config files (the latter through the `tsx`
14
+ * loader already registered for the process).
15
+ *
16
+ * Returns the full config object — including any arbitrary/custom keys — so the
17
+ * caller can preserve every value across regeneration. Returns `null` only when
18
+ * the file does not exist.
19
+ *
20
+ * On a syntactically broken config the dynamic import throws; this function
21
+ * re-throws a wrapped error prefixed with {@link CONFIG_PARSE_FAILED_PREFIX} so
22
+ * the caller can hard-fail with guidance instead of silently preserving only a
23
+ * subset of keys. It never falls back to lossy regex extraction.
24
+ *
25
+ * @throws Error prefixed with {@link CONFIG_PARSE_FAILED_PREFIX} when the config
26
+ * cannot be imported, or the `hulaRepository` remediation error when the
27
+ * legacy key is present.
8
28
  */
9
29
  export async function parseExistingConfig(configPath) {
10
30
  if (!existsSync(configPath)) {
11
31
  return null;
12
32
  }
13
33
  const spinner = logger.spinner('Parsing existing configuration...');
34
+ let parsed;
14
35
  try {
15
- // Try dynamic import first (best for valid JS/TS files)
36
+ // Load via dynamic import (best for valid JS/TS files). This mirrors the
37
+ // runtime ConfigLoader.load() in src/config/index.ts.
16
38
  const configUrl = pathToFileURL(configPath).href;
17
39
  const moduleUrl = `${configUrl}?parse=${Date.now()}`;
18
40
  const configModule = (await import(moduleUrl));
19
- const parsed = (configModule.default ||
41
+ parsed = (configModule.default ||
20
42
  configModule.config ||
21
43
  configModule);
22
- spinner.stop();
23
- return parsed;
24
44
  }
25
45
  catch (importError) {
26
- // Fallback: Regex extraction for malformed files
27
- spinner.update('Config has errors, using fallback parser...');
28
- logger.debug(`Dynamic import failed: ${importError instanceof Error ? importError.message : String(importError)}`);
29
- try {
30
- const content = await readFile(configPath, 'utf-8');
31
- const result = extractConfigViaRegex(content);
32
- spinner.stop();
33
- logger.warning('⚠️ Config file has syntax errors. Preserved values using regex extraction.');
34
- return result;
35
- }
36
- catch (readError) {
37
- spinner.stop();
38
- logger.error(`Failed to parse existing config: ${readError instanceof Error ? readError.message : String(readError)}`);
39
- logger.warning('Config preservation failed. Proceeding with fresh initialization.');
40
- return null;
41
- }
42
- }
43
- }
44
- /**
45
- * Extract config values using regex patterns (fallback method)
46
- * Useful when dynamic import fails due to syntax errors
47
- */
48
- export function extractConfigViaRegex(content) {
49
- const extracted = {};
50
- // Extract hulaApiKey
51
- const apiKeyMatch = content.match(/hulaApiKey:\s*['"]([^'"]+)['"]/);
52
- if (apiKeyMatch) {
53
- extracted.hulaApiKey = apiKeyMatch[1];
54
- }
55
- // Extract anthropicApiKey
56
- const anthropicKeyMatch = content.match(/anthropicApiKey:\s*['"]([^'"]+)['"]/);
57
- if (anthropicKeyMatch) {
58
- extracted.anthropicApiKey = anthropicKeyMatch[1];
59
- }
60
- // Extract daytonaApiKey
61
- const daytonaKeyMatch = content.match(/daytonaApiKey:\s*['"]([^'"]+)['"]/);
62
- if (daytonaKeyMatch) {
63
- extracted.daytonaApiKey = daytonaKeyMatch[1];
64
- }
65
- // Extract daytonaTier (number)
66
- const daytonaTierMatch = content.match(/daytonaTier:\s*(\d+)/);
67
- if (daytonaTierMatch && daytonaTierMatch[1]) {
68
- extracted.daytonaTier = parseInt(daytonaTierMatch[1], 10);
69
- }
70
- // Extract hulaProjectUrl
71
- const urlMatch = content.match(/hulaProjectUrl:\s*['"]([^'"]+)['"]/);
72
- if (urlMatch) {
73
- extracted.hulaProjectUrl = urlMatch[1];
74
- }
75
- // Detect legacy hulaRepository key and fail fast with remediation
76
- if (/hulaRepository\s*:/.test(content)) {
46
+ spinner.stop();
47
+ const message = importError instanceof Error ? importError.message : String(importError);
48
+ throw new Error(`${CONFIG_PARSE_FAILED_PREFIX}${message}`);
49
+ }
50
+ spinner.stop();
51
+ // Detect legacy hulaRepository key and fail fast with remediation. Runs
52
+ // against the imported object so the guard survives the removal of the regex
53
+ // parser.
54
+ if (parsed && Object.prototype.hasOwnProperty.call(parsed, 'hulaRepository')) {
77
55
  throw new Error('Config key `hulaRepository` is no longer supported. Rename it to ' +
78
56
  '`hulaProject` in .hublaunch/hublaunch.config.js. See CHANGELOG.md.');
79
57
  }
80
- // Extract hulaProject (formerly hulaRepository)
81
- const repoMatch = content.match(/hulaProject:\s*['"]([^'"]+)['"]/);
82
- if (repoMatch) {
83
- extracted.hulaProject = repoMatch[1];
84
- }
85
- // Extract editorCommand
86
- const editorMatch = content.match(/editorCommand:\s*['"]([^'"]+)['"]/);
87
- if (editorMatch) {
88
- extracted.editorCommand = editorMatch[1];
89
- }
90
- // Extract planPath
91
- const planPathMatch = content.match(/planPath:\s*['"]([^'"]+)['"]/);
92
- if (planPathMatch) {
93
- extracted.planPath = planPathMatch[1];
94
- }
95
- // Extract trackingFile
96
- const trackingMatch = content.match(/trackingFile:\s*['"]([^'"]+)['"]/);
97
- if (trackingMatch) {
98
- extracted.trackingFile = trackingMatch[1];
99
- }
100
- // Extract createIssuesPreference
101
- const createIssuesMatch = content.match(/createIssuesPreference:\s*['"]([^'"]+)['"]/);
102
- if (createIssuesMatch) {
103
- extracted.createIssuesPreference = createIssuesMatch[1];
104
- }
105
- // Extract planChoices (number)
106
- const planChoicesMatch = content.match(/planChoices:\s*(\d+)/);
107
- if (planChoicesMatch && planChoicesMatch[1]) {
108
- extracted.planChoices = parseInt(planChoicesMatch[1], 10);
109
- }
110
- // Extract skipUntrackedPrompt (boolean)
111
- const skipMatch = content.match(/skipUntrackedPrompt:\s*(true|false)/);
112
- if (skipMatch) {
113
- extracted.skipUntrackedPrompt = skipMatch[1] === 'true';
114
- }
115
- // Extract teamMembers array
116
- const teamMembersMatch = content.match(/teamMembers:\s*\[([\s\S]*?)\]/);
117
- if (teamMembersMatch) {
118
- try {
119
- const arrayContent = teamMembersMatch[1];
120
- // Extract quoted strings
121
- const members = arrayContent?.match(/['"]([^'"]+)['"]/g);
122
- if (members) {
123
- extracted.teamMembers = members.map((m) => m.slice(1, -1));
124
- }
125
- }
126
- catch {
127
- // Ignore parsing errors
128
- }
129
- }
130
- // Extract services object (simplified)
131
- const servicesMatch = content.match(/services:\s*{([\s\S]*?)},?\s*\n/);
132
- if (servicesMatch) {
133
- const servicesContent = servicesMatch[1];
134
- const services = {};
135
- // Extract authentication provider
136
- const authMatch = servicesContent?.match(/authentication:\s*{\s*provider:\s*['"]([^'"]+)['"]/);
137
- if (authMatch) {
138
- services.authentication = { provider: authMatch[1] };
139
- }
140
- if (Object.keys(services).length > 0) {
141
- extracted.services = services;
142
- }
143
- }
144
- // Extract hooks object
145
- const hooksMatch = content.match(/hooks:\s*{([\s\S]*?)},?\s*\n/);
146
- if (hooksMatch) {
147
- const hooksContent = hooksMatch[1];
148
- const hooks = {};
149
- // Extract deploymentStartup
150
- const deployMatch = hooksContent?.match(/deploymentStartup:\s*['"]([^'"]+)['"]/);
151
- if (deployMatch && deployMatch[1]) {
152
- hooks.deploymentStartup = deployMatch[1];
153
- }
154
- if (Object.keys(hooks).length > 0) {
155
- extracted.hooks = hooks;
156
- }
157
- }
158
- // Extract worktreeBasePath
159
- const worktreeBaseMatch = content.match(/worktreeBasePath:\s*['"]([^'"]+)['"]/);
160
- if (worktreeBaseMatch) {
161
- extracted.worktreeBasePath = worktreeBaseMatch[1];
162
- }
163
- // Extract browserHeadless
164
- const browserMatch = content.match(/browserHeadless:\s*['"]([^'"]+)['"]/);
165
- if (browserMatch) {
166
- extracted.browserHeadless = browserMatch[1];
167
- }
168
- // Extract containerResources object
169
- const containerResourcesMatch = content.match(/containerResources:\s*\{([^}]+)\}/);
170
- if (containerResourcesMatch && containerResourcesMatch[1]) {
171
- const resourcesContent = containerResourcesMatch[1];
172
- const resources = {};
173
- const cpuMatch = resourcesContent.match(/cpu:\s*(\d+)/);
174
- if (cpuMatch && cpuMatch[1])
175
- resources.cpu = parseInt(cpuMatch[1], 10);
176
- const memoryMatch = resourcesContent.match(/memory:\s*(\d+)/);
177
- if (memoryMatch && memoryMatch[1])
178
- resources.memory = parseInt(memoryMatch[1], 10);
179
- const diskMatch = resourcesContent.match(/disk:\s*(\d+)/);
180
- if (diskMatch && diskMatch[1])
181
- resources.disk = parseInt(diskMatch[1], 10);
182
- if (Object.keys(resources).length > 0) {
183
- extracted.containerResources = resources;
184
- }
185
- }
186
- return extracted;
58
+ return parsed;
187
59
  }
188
60
  /**
189
61
  * Merge existing config values with new config values
@@ -1 +1 @@
1
- {"version":3,"file":"config-parser.js","sourceRoot":"","sources":["../../src/utils/config-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-parser.js","sourceRoot":"","sources":["../../src/utils/config-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,uBAAuB,CAAC;AAElE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB;IAElB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAEpE,IAAI,MAA2B,CAAC;IAChC,IAAI,CAAC;QACH,yEAAyE;QACzE,sDAAsD;QACtD,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;QACjD,MAAM,SAAS,GAAG,GAAG,SAAS,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACrD,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAG5C,CAAC;QAEF,MAAM,GAAG,CAAC,YAAY,CAAC,OAAO;YAC5B,YAAY,CAAC,MAAM;YACnB,YAAY,CAAwB,CAAC;IACzC,CAAC;IAAC,OAAO,WAAW,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,OAAO,GACX,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,GAAG,0BAA0B,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,wEAAwE;IACxE,6EAA6E;IAC7E,UAAU;IACV,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CACb,mEAAmE;YACjE,oEAAoE,CACvE,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,QAA6C,EAC7C,SAA8B;IAE9B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,GAAG,SAAS;QACZ,GAAG,QAAQ;QACX,gCAAgC;QAChC,QAAQ,EAAE;YACR,GAAG,SAAS,CAAC,QAAQ;YACrB,GAAG,QAAQ,CAAC,QAAQ;SACrB;QACD,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,KAAK;YAClB,GAAG,QAAQ,CAAC,KAAK;SAClB;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hub-launch",
3
- "version": "1.11.1",
3
+ "version": "1.13.0",
4
4
  "description": "GitHub Issue and PR automation CLI tool with plugin/hook system for project-specific customizations",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",