maestro-flow 0.4.1 → 0.4.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 (115) hide show
  1. package/.claude/commands/maestro-analyze.md +1 -1
  2. package/.claude/commands/maestro-brainstorm.md +1 -1
  3. package/.claude/commands/maestro-collab.md +1 -1
  4. package/.claude/commands/maestro-execute.md +10 -1
  5. package/.claude/commands/maestro-guard.md +101 -0
  6. package/.claude/commands/maestro-impeccable.md +77 -74
  7. package/.claude/commands/maestro-plan.md +15 -2
  8. package/.claude/commands/maestro-ralph-execute.md +9 -2
  9. package/.claude/commands/maestro-ralph.md +8 -1
  10. package/.claude/commands/maestro-verify.md +15 -1
  11. package/.claude/commands/quality-auto-test.md +1 -1
  12. package/.claude/commands/quality-debug.md +1 -1
  13. package/.claude/commands/quality-refactor.md +1 -1
  14. package/.claude/commands/quality-retrospective.md +1 -1
  15. package/.claude/commands/quality-review.md +15 -1
  16. package/.claude/commands/quality-test.md +1 -1
  17. package/.claude/commands/security-audit.md +154 -0
  18. package/.claude/skills/maestro-help/index/catalog.json +2 -0
  19. package/.codex/skills/maestro-analyze/SKILL.md +18 -1
  20. package/.codex/skills/maestro-brainstorm/SKILL.md +17 -4
  21. package/.codex/skills/maestro-collab/SKILL.md +7 -1
  22. package/.codex/skills/maestro-execute/SKILL.md +365 -348
  23. package/.codex/skills/maestro-guard/SKILL.md +97 -0
  24. package/.codex/skills/maestro-impeccable/SKILL.md +76 -73
  25. package/.codex/skills/maestro-plan/SKILL.md +66 -7
  26. package/.codex/skills/maestro-ralph/SKILL.md +1 -1
  27. package/.codex/skills/maestro-verify/SKILL.md +18 -1
  28. package/.codex/skills/quality-auto-test/SKILL.md +13 -3
  29. package/.codex/skills/quality-debug/SKILL.md +362 -346
  30. package/.codex/skills/quality-refactor/SKILL.md +1 -1
  31. package/.codex/skills/quality-retrospective/SKILL.md +292 -292
  32. package/.codex/skills/quality-review/SKILL.md +374 -365
  33. package/.codex/skills/quality-test/SKILL.md +1 -1
  34. package/.codex/skills/security-audit/SKILL.md +154 -0
  35. package/bin/maestro-hook-runner.js +21 -1
  36. package/dashboard/dist-server/src/coordinator/output-parser.js +27 -0
  37. package/dashboard/dist-server/src/coordinator/output-parser.js.map +1 -1
  38. package/dist/src/commands/coordinate.d.ts.map +1 -1
  39. package/dist/src/commands/coordinate.js +2 -0
  40. package/dist/src/commands/coordinate.js.map +1 -1
  41. package/dist/src/commands/hooks.d.ts +49 -0
  42. package/dist/src/commands/hooks.d.ts.map +1 -1
  43. package/dist/src/commands/hooks.js +236 -33
  44. package/dist/src/commands/hooks.js.map +1 -1
  45. package/dist/src/commands/install-backend.d.ts +2 -0
  46. package/dist/src/commands/install-backend.d.ts.map +1 -1
  47. package/dist/src/commands/install-backend.js +72 -0
  48. package/dist/src/commands/install-backend.js.map +1 -1
  49. package/dist/src/commands/install.d.ts.map +1 -1
  50. package/dist/src/commands/install.js +15 -2
  51. package/dist/src/commands/install.js.map +1 -1
  52. package/dist/src/coordinator/output-parser.d.ts.map +1 -1
  53. package/dist/src/coordinator/output-parser.js +27 -0
  54. package/dist/src/coordinator/output-parser.js.map +1 -1
  55. package/dist/src/hooks/delegate-monitor.d.ts +1 -0
  56. package/dist/src/hooks/delegate-monitor.d.ts.map +1 -1
  57. package/dist/src/hooks/delegate-monitor.js +1 -1
  58. package/dist/src/hooks/delegate-monitor.js.map +1 -1
  59. package/dist/src/hooks/guards/workflow-guard.d.ts +15 -0
  60. package/dist/src/hooks/guards/workflow-guard.d.ts.map +1 -1
  61. package/dist/src/hooks/guards/workflow-guard.js +61 -1
  62. package/dist/src/hooks/guards/workflow-guard.js.map +1 -1
  63. package/dist/src/hooks/plugins/decision-log-plugin.d.ts +19 -0
  64. package/dist/src/hooks/plugins/decision-log-plugin.d.ts.map +1 -0
  65. package/dist/src/hooks/plugins/decision-log-plugin.js +28 -0
  66. package/dist/src/hooks/plugins/decision-log-plugin.js.map +1 -0
  67. package/dist/src/hooks/plugins/index.d.ts +2 -0
  68. package/dist/src/hooks/plugins/index.d.ts.map +1 -1
  69. package/dist/src/hooks/plugins/index.js +1 -0
  70. package/dist/src/hooks/plugins/index.js.map +1 -1
  71. package/dist/src/hooks/session-context.d.ts +1 -0
  72. package/dist/src/hooks/session-context.d.ts.map +1 -1
  73. package/dist/src/hooks/session-context.js +1 -1
  74. package/dist/src/hooks/session-context.js.map +1 -1
  75. package/dist/src/hooks/skill-context.d.ts +1 -0
  76. package/dist/src/hooks/skill-context.d.ts.map +1 -1
  77. package/dist/src/hooks/skill-context.js +1 -1
  78. package/dist/src/hooks/skill-context.js.map +1 -1
  79. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  80. package/dist/src/hooks/spec-injector.js +2 -0
  81. package/dist/src/hooks/spec-injector.js.map +1 -1
  82. package/dist/src/i18n/locales/en.d.ts.map +1 -1
  83. package/dist/src/i18n/locales/en.js +13 -0
  84. package/dist/src/i18n/locales/en.js.map +1 -1
  85. package/dist/src/i18n/locales/zh.d.ts.map +1 -1
  86. package/dist/src/i18n/locales/zh.js +13 -0
  87. package/dist/src/i18n/locales/zh.js.map +1 -1
  88. package/dist/src/i18n/types.d.ts +7 -0
  89. package/dist/src/i18n/types.d.ts.map +1 -1
  90. package/dist/src/tui/install-ui/InstallConfirm.d.ts +5 -0
  91. package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -1
  92. package/dist/src/tui/install-ui/InstallConfirm.js +1 -1
  93. package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -1
  94. package/dist/src/tui/install-ui/InstallExecution.d.ts +2 -0
  95. package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
  96. package/dist/src/tui/install-ui/InstallExecution.js +22 -3
  97. package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
  98. package/dist/src/tui/install-ui/InstallFlow.d.ts +1 -1
  99. package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
  100. package/dist/src/tui/install-ui/InstallFlow.js +25 -4
  101. package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
  102. package/dist/src/tui/install-ui/InstallHub.d.ts +5 -0
  103. package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -1
  104. package/dist/src/tui/install-ui/InstallHub.js +16 -0
  105. package/dist/src/tui/install-ui/InstallHub.js.map +1 -1
  106. package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -1
  107. package/dist/src/tui/install-ui/InstallResult.js +1 -1
  108. package/dist/src/tui/install-ui/InstallResult.js.map +1 -1
  109. package/package.json +1 -1
  110. package/workflows/debug.md +73 -0
  111. package/workflows/execute.md +27 -0
  112. package/workflows/plan.md +11 -0
  113. package/workflows/review.md +33 -1
  114. package/workflows/tdd.md +257 -0
  115. package/workflows/verify.md +57 -0
@@ -3,7 +3,7 @@ import { join, resolve } from 'node:path';
3
3
  import { homedir } from 'node:os';
4
4
  import { paths } from '../config/paths.js';
5
5
  import { loadConfig, saveConfig, loadHooksConfig } from '../config/index.js';
6
- import { evaluateWorkflowGuard } from '../hooks/guards/workflow-guard.js';
6
+ import { evaluateWorkflowGuard, evaluatePathGuard, loadPathGuardConfig } from '../hooks/guards/workflow-guard.js';
7
7
  import { evaluatePreflightGuard, loadPreflightConfig } from '../hooks/guards/preflight-guard.js';
8
8
  import { evaluatePromptGuard } from '../hooks/guards/prompt-guard.js';
9
9
  import { evaluateSpecValidator } from '../hooks/guards/spec-validator.js';
@@ -35,6 +35,23 @@ export const HOOK_DEFS = {
35
35
  'keyword-spec-injector': { event: 'UserPromptSubmit', level: 'standard', requiresWorkspace: true },
36
36
  'workflow-guard': { event: 'PreToolUse', matcher: 'Bash|Write|Edit', level: 'full', requiresWorkspace: true },
37
37
  };
38
+ export const CODEX_HOOK_DEFS = {
39
+ 'session-context': { event: 'SessionStart', matcher: 'startup|resume', level: 'minimal', requiresWorkspace: true, statusMessage: 'Loading workflow context' },
40
+ 'spec-injector': { event: 'SessionStart', matcher: 'startup', level: 'standard', requiresWorkspace: true, statusMessage: 'Loading project specs' },
41
+ 'skill-context': { event: 'UserPromptSubmit', level: 'standard', requiresWorkspace: true },
42
+ 'keyword-spec-injector': { event: 'UserPromptSubmit', level: 'standard', requiresWorkspace: true },
43
+ 'delegate-monitor': { event: 'PostToolUse', matcher: 'Bash', level: 'standard' },
44
+ 'coordinator-tracker': { event: 'Stop', level: 'standard', requiresWorkspace: true },
45
+ 'team-monitor': { event: 'Stop', level: 'standard' },
46
+ 'telemetry': { event: 'Stop', level: 'standard' },
47
+ 'workflow-guard': { event: 'PreToolUse', matcher: 'Bash', level: 'full', requiresWorkspace: true, statusMessage: 'Checking command safety' },
48
+ };
49
+ export const CODEX_HOOK_LEVEL_DESCRIPTIONS = {
50
+ none: 'No hooks',
51
+ minimal: 'Session context (SessionStart)',
52
+ standard: '+ spec/keyword-injector + skill-context + delegate-monitor + coordinator/team/telemetry(Stop)',
53
+ full: '+ workflow-guard (PreToolUse, Bash only)',
54
+ };
38
55
  /** Numeric ordering for level comparison */
39
56
  const LEVEL_ORDER = { none: 0, minimal: 1, standard: 2, full: 3 };
40
57
  function hookIncludedInLevel(hookLevel, targetLevel) {
@@ -168,6 +185,95 @@ export function installHooksByLevel(level, opts = {}) {
168
185
  writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
169
186
  return { settingsPath, installedHooks, level };
170
187
  }
188
+ export function getCodexHooksPath(opts = {}) {
189
+ return opts.project
190
+ ? join(process.cwd(), '.codex', 'hooks.json')
191
+ : join(homedir(), '.codex', 'hooks.json');
192
+ }
193
+ export function loadCodexHooks(hooksPath) {
194
+ if (!existsSync(hooksPath))
195
+ return {};
196
+ try {
197
+ return JSON.parse(readFileSync(hooksPath, 'utf8'));
198
+ }
199
+ catch {
200
+ return {};
201
+ }
202
+ }
203
+ export function removeCodexMaestroHooks(hooksFile) {
204
+ if (!hooksFile.hooks)
205
+ return;
206
+ const events = ['SessionStart', 'PreToolUse', 'PostToolUse', 'UserPromptSubmit', 'Stop'];
207
+ for (const eventKey of events) {
208
+ const groups = hooksFile.hooks[eventKey];
209
+ if (!groups)
210
+ continue;
211
+ for (const group of groups) {
212
+ group.hooks = group.hooks.filter((h) => !h.command.includes(HOOK_MARKER));
213
+ }
214
+ hooksFile.hooks[eventKey] = groups.filter((g) => g.hooks.length > 0);
215
+ if (hooksFile.hooks[eventKey].length === 0) {
216
+ delete hooksFile.hooks[eventKey];
217
+ }
218
+ }
219
+ if (Object.keys(hooksFile.hooks).length === 0) {
220
+ delete hooksFile.hooks;
221
+ }
222
+ }
223
+ /**
224
+ * Check whether `codex_hooks = true` is set in config.toml.
225
+ * Returns true if the flag is found; prints a hint otherwise.
226
+ */
227
+ export function checkCodexHooksFeatureFlag(opts = {}) {
228
+ const configPath = opts.project
229
+ ? join(process.cwd(), '.codex', 'config.toml')
230
+ : join(homedir(), '.codex', 'config.toml');
231
+ if (!existsSync(configPath))
232
+ return false;
233
+ const content = readFileSync(configPath, 'utf8');
234
+ return /codex_hooks\s*=\s*true/i.test(content);
235
+ }
236
+ /**
237
+ * Install hooks at the given level into Codex hooks.json.
238
+ */
239
+ export function installCodexHooksByLevel(level, opts = {}) {
240
+ if (level === 'none') {
241
+ return { settingsPath: '', installedHooks: [], level };
242
+ }
243
+ const hooksPath = opts.hooksPath ?? getCodexHooksPath({ project: opts.project });
244
+ const hooksFile = loadCodexHooks(hooksPath);
245
+ // Remove existing maestro hooks to avoid duplicates
246
+ removeCodexMaestroHooks(hooksFile);
247
+ // Register hooks matching the requested level
248
+ if (!hooksFile.hooks)
249
+ hooksFile.hooks = {};
250
+ const installedHooks = [];
251
+ for (const [name, def] of Object.entries(CODEX_HOOK_DEFS)) {
252
+ if (!hookIncludedInLevel(def.level, level))
253
+ continue;
254
+ const eventKey = def.event;
255
+ if (!hooksFile.hooks[eventKey])
256
+ hooksFile.hooks[eventKey] = [];
257
+ const groups = hooksFile.hooks[eventKey];
258
+ const hookEntry = {
259
+ type: 'command',
260
+ command: `maestro hooks run ${name}`,
261
+ };
262
+ if (def.statusMessage)
263
+ hookEntry.statusMessage = def.statusMessage;
264
+ if (def.timeout)
265
+ hookEntry.timeout = def.timeout;
266
+ const group = { hooks: [hookEntry] };
267
+ if (def.matcher)
268
+ group.matcher = def.matcher;
269
+ groups.push(group);
270
+ installedHooks.push(name);
271
+ }
272
+ // Ensure parent directory exists
273
+ paths.ensure(join(hooksPath, '..'));
274
+ writeFileSync(hooksPath, JSON.stringify(hooksFile, null, 2));
275
+ return { settingsPath: hooksPath, installedHooks, level };
276
+ }
171
277
  // ---------------------------------------------------------------------------
172
278
  // Stdin reader for hook runners
173
279
  // ---------------------------------------------------------------------------
@@ -261,7 +367,7 @@ const HOOK_RUNNERS = {
261
367
  if (result.inject && result.content) {
262
368
  process.stdout.write(JSON.stringify({
263
369
  hookSpecificOutput: {
264
- hookEventName: 'UserPromptSubmit',
370
+ hookEventName: data.hook_event_name || 'UserPromptSubmit',
265
371
  additionalContext: result.content,
266
372
  },
267
373
  }));
@@ -287,6 +393,24 @@ const HOOK_RUNNERS = {
287
393
  }));
288
394
  process.exit(2);
289
395
  }
396
+ // PathGuard: check Write/Edit file paths against directory boundaries
397
+ if (toolName === 'Write' || toolName === 'Edit') {
398
+ const filePath = data.tool_input?.file_path ?? data.tool_input?.path ?? '';
399
+ if (filePath) {
400
+ const workspace = resolveWorkspace(data);
401
+ if (workspace) {
402
+ const guardConfig = loadPathGuardConfig(workspace);
403
+ const pathResult = evaluatePathGuard(toolName, filePath, workspace, guardConfig);
404
+ if (pathResult.blocked) {
405
+ process.stdout.write(JSON.stringify({
406
+ decision: 'block',
407
+ reason: pathResult.reason,
408
+ }));
409
+ process.exit(2);
410
+ }
411
+ }
412
+ }
413
+ }
290
414
  },
291
415
  'prompt-guard': async () => {
292
416
  const config = loadHooksConfig();
@@ -301,7 +425,7 @@ const HOOK_RUNNERS = {
301
425
  if (result.flagged) {
302
426
  process.stdout.write(JSON.stringify({
303
427
  hookSpecificOutput: {
304
- hookEventName: 'UserPromptSubmit',
428
+ hookEventName: data.hook_event_name || 'UserPromptSubmit',
305
429
  additionalContext: result.warning,
306
430
  },
307
431
  }));
@@ -321,6 +445,24 @@ const HOOK_RUNNERS = {
321
445
  return;
322
446
  const raw = await readStdin();
323
447
  const data = JSON.parse(raw);
448
+ const hookEventName = data.hook_event_name ?? '';
449
+ const isSessionStart = hookEventName === 'SessionStart';
450
+ // Codex SessionStart: inject specs as additionalContext (no agentType available)
451
+ if (isSessionStart) {
452
+ const cwd = resolveWorkspace(data) ?? data.cwd ?? process.cwd();
453
+ const sessionId = data.session_id ?? '';
454
+ const result = evaluateSpecInjection('general', cwd, sessionId);
455
+ if (result.inject && result.content) {
456
+ process.stdout.write(JSON.stringify({
457
+ hookSpecificOutput: {
458
+ hookEventName: 'SessionStart',
459
+ additionalContext: result.content,
460
+ },
461
+ }));
462
+ }
463
+ return;
464
+ }
465
+ // Claude Code PreToolUse:Agent — rewrite agent prompt
324
466
  const toolInput = data.tool_input ?? {};
325
467
  const agentType = toolInput.subagent_type ?? '';
326
468
  if (!agentType)
@@ -440,7 +582,7 @@ export function registerHooksCommand(program) {
440
582
  // Workspace gate — hooks with requiresWorkspace exit silently
441
583
  // when no Maestro workspace (.workflow/ + valid state.json) is found.
442
584
  // This avoids stdin parsing + evaluator overhead for non-workflow projects.
443
- const def = HOOK_DEFS[name];
585
+ const def = HOOK_DEFS[name] ?? CODEX_HOOK_DEFS[name];
444
586
  if (def?.requiresWorkspace) {
445
587
  const cwd = process.cwd();
446
588
  if (!resolveWorkspace({ cwd })) {
@@ -458,10 +600,11 @@ export function registerHooksCommand(program) {
458
600
  // --- maestro hooks install ---
459
601
  hooks
460
602
  .command('install')
461
- .description('Install maestro hooks into Claude Code settings')
462
- .option('--global', 'Install to global ~/.claude/settings.json (default)')
463
- .option('--project', 'Install to project .claude/settings.json')
603
+ .description('Install maestro hooks into Claude Code or Codex settings')
604
+ .option('--global', 'Install to global settings (default)')
605
+ .option('--project', 'Install to project settings')
464
606
  .option('--level <level>', 'Hook level: minimal, standard, full (default: full)', 'full')
607
+ .option('--target <target>', 'Target: claude (default) or codex', 'claude')
465
608
  .action((opts) => {
466
609
  const level = (opts.level ?? 'full');
467
610
  if (!HOOK_LEVELS.includes(level) || level === 'none') {
@@ -469,46 +612,82 @@ export function registerHooksCommand(program) {
469
612
  process.exitCode = 1;
470
613
  return;
471
614
  }
472
- const result = installHooksByLevel(level, { project: opts.project });
473
- console.log(`Maestro hooks installed (level: ${level}):`);
474
- console.log(` Statusline: installed`);
475
- for (const name of result.installedHooks) {
476
- const def = HOOK_DEFS[name];
477
- const matcher = def.matcher ? ` [${def.matcher}]` : '';
478
- console.log(` ${name}: ${def.event}${matcher}`);
615
+ if (opts.target === 'codex') {
616
+ // Windows warning
617
+ if (process.platform === 'win32') {
618
+ console.log('Warning: Codex hooks are not yet supported on Windows.');
619
+ }
620
+ // Feature flag hint
621
+ if (!checkCodexHooksFeatureFlag({ project: opts.project })) {
622
+ console.log('Hint: Add codex_hooks = true to [features] in ~/.codex/config.toml to enable hooks.');
623
+ }
624
+ const result = installCodexHooksByLevel(level, { project: opts.project });
625
+ console.log(`Maestro hooks installed for Codex (level: ${level}):`);
626
+ for (const name of result.installedHooks) {
627
+ const def = CODEX_HOOK_DEFS[name];
628
+ const matcher = def.matcher ? ` [${def.matcher}]` : '';
629
+ console.log(` ${name}: ${def.event}${matcher}`);
630
+ }
631
+ console.log(` Config: ${result.settingsPath}`);
632
+ }
633
+ else {
634
+ const result = installHooksByLevel(level, { project: opts.project });
635
+ console.log(`Maestro hooks installed (level: ${level}):`);
636
+ console.log(` Statusline: installed`);
637
+ for (const name of result.installedHooks) {
638
+ const def = HOOK_DEFS[name];
639
+ const matcher = def.matcher ? ` [${def.matcher}]` : '';
640
+ console.log(` ${name}: ${def.event}${matcher}`);
641
+ }
642
+ console.log(` Settings: ${result.settingsPath}`);
479
643
  }
480
- console.log(` Settings: ${result.settingsPath}`);
481
644
  });
482
645
  // --- maestro hooks uninstall ---
483
646
  hooks
484
647
  .command('uninstall')
485
- .description('Remove maestro hooks from Claude Code settings')
486
- .option('--global', 'Uninstall from global ~/.claude/settings.json (default)')
487
- .option('--project', 'Uninstall from project .claude/settings.json')
648
+ .description('Remove maestro hooks from Claude Code or Codex settings')
649
+ .option('--global', 'Uninstall from global settings (default)')
650
+ .option('--project', 'Uninstall from project settings')
651
+ .option('--target <target>', 'Target: claude (default) or codex', 'claude')
488
652
  .action((opts) => {
489
- const settingsPath = opts.project
490
- ? join(process.cwd(), '.claude', 'settings.json')
491
- : getClaudeSettingsPath();
492
- if (!existsSync(settingsPath)) {
493
- console.log('No settings file found — nothing to uninstall.');
494
- return;
653
+ if (opts.target === 'codex') {
654
+ const hooksPath = getCodexHooksPath({ project: opts.project });
655
+ if (!existsSync(hooksPath)) {
656
+ console.log('No Codex hooks.json found — nothing to uninstall.');
657
+ return;
658
+ }
659
+ const hooksFile = loadCodexHooks(hooksPath);
660
+ removeCodexMaestroHooks(hooksFile);
661
+ writeFileSync(hooksPath, JSON.stringify(hooksFile, null, 2));
662
+ console.log(`Maestro hooks removed from ${hooksPath}`);
495
663
  }
496
- const settings = loadClaudeSettings(settingsPath);
497
- if (settings.statusLine?.command?.includes(HOOK_MARKER)) {
498
- delete settings.statusLine;
664
+ else {
665
+ const settingsPath = opts.project
666
+ ? join(process.cwd(), '.claude', 'settings.json')
667
+ : getClaudeSettingsPath();
668
+ if (!existsSync(settingsPath)) {
669
+ console.log('No settings file found — nothing to uninstall.');
670
+ return;
671
+ }
672
+ const settings = loadClaudeSettings(settingsPath);
673
+ if (settings.statusLine?.command?.includes(HOOK_MARKER)) {
674
+ delete settings.statusLine;
675
+ }
676
+ removeMaestroHooks(settings);
677
+ writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
678
+ console.log(`Maestro hooks removed from ${settingsPath}`);
499
679
  }
500
- removeMaestroHooks(settings);
501
- writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
502
- console.log(`Maestro hooks removed from ${settingsPath}`);
503
680
  });
504
681
  // --- maestro hooks status ---
505
682
  hooks
506
683
  .command('status')
507
684
  .description('Show current hook installation status')
508
685
  .action(() => {
686
+ // Claude Code hooks
509
687
  const globalPath = getClaudeSettingsPath();
510
688
  const projectPath = join(process.cwd(), '.claude', 'settings.json');
511
- for (const [label, p] of [['Global', globalPath], ['Project', projectPath]]) {
689
+ console.log('Claude Code:');
690
+ for (const [label, p] of [[' Global', globalPath], [' Project', projectPath]]) {
512
691
  if (!existsSync(p)) {
513
692
  console.log(`${label}: no settings file`);
514
693
  continue;
@@ -516,10 +695,28 @@ export function registerHooksCommand(program) {
516
695
  const s = loadClaudeSettings(p);
517
696
  const hasStatusline = s.statusLine?.command?.includes(HOOK_MARKER) || false;
518
697
  console.log(`${label} (${p}):`);
519
- console.log(` Statusline: ${hasStatusline ? 'installed' : 'not installed'}`);
698
+ console.log(` Statusline: ${hasStatusline ? 'installed' : 'not installed'}`);
520
699
  for (const name of Object.keys(HOOK_DEFS)) {
521
700
  const installed = findHookInSettings(s, name);
522
- console.log(` ${name}: ${installed ? 'installed' : 'not installed'}`);
701
+ console.log(` ${name}: ${installed ? 'installed' : 'not installed'}`);
702
+ }
703
+ }
704
+ // Codex hooks
705
+ const codexGlobalPath = getCodexHooksPath();
706
+ const codexProjectPath = getCodexHooksPath({ project: true });
707
+ console.log('\nCodex:');
708
+ for (const [label, p] of [[' Global', codexGlobalPath], [' Project', codexProjectPath]]) {
709
+ if (!existsSync(p)) {
710
+ console.log(`${label}: no hooks.json`);
711
+ continue;
712
+ }
713
+ const hf = loadCodexHooks(p);
714
+ console.log(`${label} (${p}):`);
715
+ for (const name of Object.keys(CODEX_HOOK_DEFS)) {
716
+ const def = CODEX_HOOK_DEFS[name];
717
+ const groups = hf.hooks?.[def.event] ?? [];
718
+ const installed = groups.some((g) => g.hooks.some((h) => h.command.includes(`hooks run ${name}`)));
719
+ console.log(` ${name}: ${installed ? 'installed' : 'not installed'}`);
523
720
  }
524
721
  }
525
722
  });
@@ -574,6 +771,12 @@ export function registerHooksCommand(program) {
574
771
  const wf = def.requiresWorkspace ? ' (workspace)' : '';
575
772
  console.log(` ${name}: ${def.event}${matcher} — ${enabled ? 'enabled' : 'disabled'} (level: ${def.level})${wf}`);
576
773
  }
774
+ console.log('\nCodex hooks (subprocess):');
775
+ for (const [name, def] of Object.entries(CODEX_HOOK_DEFS)) {
776
+ const matcher = def.matcher ? ` [${def.matcher}]` : '';
777
+ const wf = def.requiresWorkspace ? ' (workspace)' : '';
778
+ console.log(` ${name}: ${def.event}${matcher} (level: ${def.level})${wf}`);
779
+ }
577
780
  console.log('\nCoordinator hooks (in-process):');
578
781
  const INTERNAL_HOOKS = [
579
782
  'beforeRun', 'afterRun', 'beforeNode', 'afterNode',
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/commands/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GAEjB,MAAM,iCAAiC,CAAC;AA6CzC,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAEzF,MAAM,CAAC,MAAM,uBAAuB,GAA8B;IAChE,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE,yFAAyF;IACnG,IAAI,EAAE,+BAA+B;CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAA4B;IAChD,eAAe,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE;IACrG,kBAAkB,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE;IACtF,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE;IACpD,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE;IACjD,iBAAiB,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE;IAC/D,eAAe,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE;IAC1F,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE;IACpF,iBAAiB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE;IACxH,gBAAgB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE;IAC5G,uBAAuB,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE;IAClG,gBAAgB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE;CAC9G,CAAC;AAEF,4CAA4C;AAC5C,MAAM,WAAW,GAA8B,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAE7F,SAAS,mBAAmB,CAAC,SAAoB,EAAE,WAAsB;IACvE,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;AAC5D,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,UAAU,qBAAqB;IACnC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACrD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,gBAAgB;IACvB,wEAAwE;IACxE,OAAO,OAAO,CAAC,IAAI,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,WAAW,GAAG,SAAS,CAAC;AAE9B,MAAM,UAAU,kBAAkB,CAAC,QAAwB;IACzD,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,OAAO;IAC5B,KAAK,MAAM,QAAQ,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,CAAU,EAAE,CAAC;QAC1G,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAA4B,CAAC;QACnE,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAU,CAAC;QAC7E,IAAK,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAwB,EAAE,QAAgB;IACpE,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAClC,KAAK,MAAM,QAAQ,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,CAAU,EAAE,CAAC;QAC1G,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAA4B,CAAC;QACnE,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpM,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAYD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA8B,EAAE;IAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO;QAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC;QACjD,CAAC,CAAC,qBAAqB,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAI9B,EAAE;IACJ,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY;WACjC,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC;YACjD,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAClD,QAAQ,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IACzE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IACvC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/D,2BAA2B;IAC3B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,CAAC,UAAU,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAChE,UAAU,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAgB,EAChB,OAA+E,EAAE;IAEjF,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY;WACjC,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC;YACjD,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAE/B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAElD,kDAAkD;IAClD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACzB,QAAQ,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAC3E,CAAC;IAED,4DAA4D;IAC5D,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE7B,sDAAsD;IACtD,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;IAEzC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;YAAE,SAAS;QAErD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAW,CAAC;QACtE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAgB,CAAC;QACvD,MAAM,KAAK,GAAc;YACvB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,qBAAqB,IAAI,EAAE,EAAE,CAAC;SACnE,CAAC;QACF,IAAI,GAAG,CAAC,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,iCAAiC;IACjC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IACvC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;AACjD,CAAC;AAED,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,SAAS,SAAS;IAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAC3B,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,YAAY,GAA+B;IAC/C,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,KAAK;YAAE,OAAO;QAEvD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAErD,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;oBAClC,QAAQ,EAAE,OAAO;oBACjB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;iBACnC,CAAC,CAAC,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,qDAAqD;gBACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;oBAClC,QAAQ,EAAE,OAAO;oBACjB,iBAAiB,EAAE,oBAAoB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;iBACrE,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,KAAK;YAAE,OAAO;QAEtD,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAW,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC;QAEnD,uCAAuC;QACvC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAAE,OAAO;QAEvE,kFAAkF;QAClF,MAAM,OAAO,GAAW,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,kDAAkD;QAExE,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnF,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;oBAClC,QAAQ,EAAE,OAAO;oBACjB,MAAM,EAAE,mCAAmC,YAAY,EAAE;iBAC1D,CAAC,CAAC,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;oBAClC,QAAQ,EAAE,OAAO;oBACjB,iBAAiB,EAAE,qCAAqC,YAAY,EAAE;iBACvE,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;IACH,CAAC;IAED,uBAAuB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,KAAK;YAAE,OAAO;QAE5D,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAW,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAC7D,MAAM,SAAS,GAAW,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAChD,MAAM,GAAG,GAAW,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAE9C,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;YAAE,OAAO;QAElC,oBAAoB;QACpB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,MAAM,GAAG,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACtE,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAClC,kBAAkB,EAAE;oBAClB,aAAa,EAAE,kBAAkB;oBACjC,iBAAiB,EAAE,MAAM,CAAC,OAAO;iBAClC;aACF,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IAED,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,KAAK;YAAE,OAAO;QAEtD,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAW,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAW,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;YAC3D,CAAC,CAAC,IAAI,CAAC,UAAU;YACjB,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,OAAO,KAAK,QAAQ;gBAC5C,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO;gBACzB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAClC,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,cAAc,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,KAAK;YAAE,OAAO;QAEpD,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAW,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAC7D,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAClC,kBAAkB,EAAE;oBAClB,aAAa,EAAE,kBAAkB;oBACjC,iBAAiB,EAAE,MAAM,CAAC,OAAO;iBAClC;aACF,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IAED,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,eAAe,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,KAAK;YAAE,OAAO;QAErD,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACxC,MAAM,SAAS,GAAW,SAAS,CAAC,aAAa,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChE,MAAM,SAAS,GAAW,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAEhD,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,cAAc,GAAW,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC;YACtD,MAAM,eAAe,GAAG,GAAG,MAAM,CAAC,OAAO,cAAc,cAAc,EAAE,CAAC;YAExE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAClC,kBAAkB,EAAE;oBAClB,aAAa,EAAE,YAAY;oBAC3B,YAAY,EAAE;wBACZ,GAAG,SAAS;wBACZ,MAAM,EAAE,eAAe;qBACxB;iBACF;aACF,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IAED,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,KAAK;YAAE,OAAO;QAEvD,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,eAAe,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,KAAK;YAAE,OAAO;QAErD,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAW,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAC7D,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACtC,MAAM,SAAS,GAAW,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QACzF,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,cAAc,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;QACtD,cAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,WAAW,EAAE,KAAK,IAAI,EAAE;QACtB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,KAAK;YAAE,OAAO;QAElD,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAW,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,SAAS,QAAQ,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,KAAK,EAAE,eAAe;YACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,cAAc,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,qBAAqB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,KAAK;YAAE,OAAO;QAE3D,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAW,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,oDAAoD;QACpD,IAAI,UAAU,GAA2B,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAEvE,+CAA+C;QAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAC5C,UAAU,GAAG,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;QAClC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;CACF,CAAC;AAEF,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,kDAAkD,CAAC,CAAC;IAEnE,mCAAmC;IACnC,KAAK;SACF,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,iBAAiB,IAAI,gBAAgB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,8DAA8D;QAC9D,sEAAsE;QACtE,4EAA4E;QAC5E,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,GAAG,EAAE,iBAAiB,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,EAAE,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,gCAAgC;IAChC,KAAK;SACF,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,UAAU,EAAE,qDAAqD,CAAC;SACzE,MAAM,CAAC,WAAW,EAAE,0CAA0C,CAAC;SAC/D,MAAM,CAAC,iBAAiB,EAAE,qDAAqD,EAAE,MAAM,CAAC;SACxF,MAAM,CAAC,CAAC,IAA6D,EAAE,EAAE;QACxE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAc,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,KAAK,gCAAgC,CAAC,CAAC;YAC5E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,mCAAmC,KAAK,IAAI,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEL,kCAAkC;IAClC,KAAK;SACF,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,UAAU,EAAE,yDAAyD,CAAC;SAC7E,MAAM,CAAC,WAAW,EAAE,8CAA8C,CAAC;SACnE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO;YAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC;YACjD,CAAC,CAAC,qBAAqB,EAAE,CAAC;QAE5B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACxD,OAAO,QAAQ,CAAC,UAAU,CAAC;QAC7B,CAAC;QAED,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAE7B,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEL,+BAA+B;IAC/B,KAAK;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAEpE,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAU,EAAE,CAAC;YACrF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAC;gBAC1C,SAAS;YACX,CAAC;YACD,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;YAE5E,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,wBAAwB,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YACrF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1C,MAAM,SAAS,GAAG,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,+BAA+B;IAC/B,KAAK;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEL,+BAA+B;IAC/B,KAAK;SACF,OAAO,CAAC,uBAAuB,CAAC;SAChC,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;QACtC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC5D,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC;QAC5C,UAAU,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,aAAa,KAAK,GAAG,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEL,6BAA6B;IAC7B,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QAEjC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,eAAe;gBAC3D,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,gBAAgB;oBAC/C,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,aAAa;wBACzC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,iBAAiB;4BACjD,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,aAAa;gCACzC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,cAAc;oCAC3C,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,gBAAgB;wCAC/C,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,cAAc;4CAC3C,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,oBAAoB;gDACvD,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,eAAe;oDAC7C,CAAC,CAAC,IAAI,KAAK,uBAAuB,CAAC,CAAC,CAAC,qBAAqB;wDAC1D,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC;YACpD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,MAAM,EAAE,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,KAAK,GAAG,OAAO,MAAM,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,YAAY,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;QACpH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG;YACrB,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW;YAClD,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY;SAC5E,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/commands/hooks.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ export declare function restoreDisabledState(items: DisabledItem[], targetBase:
18
18
  export declare function applyOverlaysPostInstall(scope: 'global' | 'project', targetBase: string): number;
19
19
  export declare function addMcpServer(scope: 'global' | 'project', projectPath: string, enabledTools: string[], projectRoot?: string): boolean;
20
20
  export declare function removeMcpServer(scope: 'global' | 'project', projectPath: string): boolean;
21
+ export declare function addCodexMcpServer(scope: 'global' | 'project', projectPath: string, enabledTools: string[], projectRoot?: string): boolean;
22
+ export declare function removeCodexMcpServer(scope: 'global' | 'project', projectPath: string): boolean;
21
23
  export declare function getPackageRoot(): string;
22
24
  export declare function countFiles(dir: string): number;
23
25
  export interface ScannedComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"install-backend.d.ts","sourceRoot":"","sources":["../../../src/commands/install-backend.ts"],"names":[],"mappings":"AAmBA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAkB9E,yCAAyC;AACzC,eAAO,MAAM,cAAc,aAAoD,CAAC;AAGhF,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAM9E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;CACrC;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,EAAE,CAuCpE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAWtF;AAMD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,UAAU,EAAE,MAAM,GACjB,MAAM,CAWR;AAMD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAwCT;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,GAClB,OAAO,CAkBT;AAMD,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAU9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,YAAY,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,QAAQ,GAAG,SAAS,EAC1B,WAAW,EAAE,MAAM,GAClB,gBAAgB,EAAE,CAOpB;AAGD,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMzD,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ,GACjB,IAAI,CA+CN;AAGD,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM5E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAqB9D;AAMD,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,cAAc,EAAE,OAAO,CAAC;IACxB,8DAA8D;IAC9D,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,gBAAgB,EAAE,EAC9B,OAAO,EAAE,aAAa,GACrB,MAAM,GAAG,IAAI,CAsDf;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAQ/E;AAMD,eAAO,MAAM,SAAS,mGAOZ,CAAC"}
1
+ {"version":3,"file":"install-backend.d.ts","sourceRoot":"","sources":["../../../src/commands/install-backend.ts"],"names":[],"mappings":"AAmBA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAkB9E,yCAAyC;AACzC,eAAO,MAAM,cAAc,aAAoD,CAAC;AAGhF,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAM9E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;CACrC;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,EAAE,CAuCpE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAWtF;AAMD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,UAAU,EAAE,MAAM,GACjB,MAAM,CAWR;AAMD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAwCT;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,GAClB,OAAO,CAkBT;AA0BD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAyCT;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,GAClB,OAAO,CAaT;AAMD,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAU9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,YAAY,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,QAAQ,GAAG,SAAS,EAC1B,WAAW,EAAE,MAAM,GAClB,gBAAgB,EAAE,CAOpB;AAGD,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMzD,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ,GACjB,IAAI,CA+CN;AAGD,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM5E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAqB9D;AAMD,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,cAAc,EAAE,OAAO,CAAC;IACxB,8DAA8D;IAC9D,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,gBAAgB,EAAE,EAC9B,OAAO,EAAE,aAAa,GACrB,MAAM,GAAG,IAAI,CAsDf;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAQ/E;AAMD,eAAO,MAAM,SAAS,mGAOZ,CAAC"}
@@ -157,6 +157,78 @@ export function removeMcpServer(scope, projectPath) {
157
157
  }
158
158
  }
159
159
  // ---------------------------------------------------------------------------
160
+ // Codex MCP config helpers (TOML-based)
161
+ // ---------------------------------------------------------------------------
162
+ function getCodexConfigPath(scope, projectPath) {
163
+ return scope === 'project'
164
+ ? join(projectPath, '.codex', 'config.toml')
165
+ : join(homedir(), '.codex', 'config.toml');
166
+ }
167
+ /**
168
+ * Remove the `[mcp_servers.maestro-tools]` and `[mcp_servers.maestro-tools.env]`
169
+ * sections from a TOML string. Returns the cleaned content.
170
+ */
171
+ function removeCodexMcpBlock(content) {
172
+ // Match from [mcp_servers.maestro-tools] (and any sub-tables like .env)
173
+ // up to the next top-level section header or end of file.
174
+ // The regex handles both the main section and its sub-sections.
175
+ return content.replace(/\n?\[mcp_servers\.maestro-tools(?:\.[^\]]+)?\][^\[]*(?=\n\[|\s*$)/g, '').trim();
176
+ }
177
+ export function addCodexMcpServer(scope, projectPath, enabledTools, projectRoot) {
178
+ const isWin = process.platform === 'win32';
179
+ const fp = getCodexConfigPath(scope, projectPath);
180
+ try {
181
+ let content = '';
182
+ if (existsSync(fp)) {
183
+ content = readFileSync(fp, 'utf-8');
184
+ }
185
+ // Remove existing maestro-tools block
186
+ content = removeCodexMcpBlock(content);
187
+ // Build TOML block
188
+ const command = isWin ? 'cmd' : 'maestro-mcp';
189
+ const args = isWin ? '["/c", "maestro-mcp"]' : '[]';
190
+ const envLines = [`MAESTRO_ENABLED_TOOLS = "${enabledTools.join(',')}"`];
191
+ if (projectRoot) {
192
+ envLines.push(`MAESTRO_PROJECT_ROOT = "${projectRoot.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`);
193
+ }
194
+ const block = [
195
+ '',
196
+ `[mcp_servers.maestro-tools]`,
197
+ `command = "${command}"`,
198
+ `args = ${args}`,
199
+ '',
200
+ `[mcp_servers.maestro-tools.env]`,
201
+ ...envLines,
202
+ ].join('\n');
203
+ content = content ? content + '\n' + block + '\n' : block.trimStart() + '\n';
204
+ // Ensure parent directory exists
205
+ const dir = join(fp, '..');
206
+ if (!existsSync(dir))
207
+ mkdirSync(dir, { recursive: true });
208
+ writeFileSync(fp, content, 'utf-8');
209
+ return true;
210
+ }
211
+ catch {
212
+ return false;
213
+ }
214
+ }
215
+ export function removeCodexMcpServer(scope, projectPath) {
216
+ const fp = getCodexConfigPath(scope, projectPath);
217
+ if (!existsSync(fp))
218
+ return false;
219
+ try {
220
+ const original = readFileSync(fp, 'utf-8');
221
+ const cleaned = removeCodexMcpBlock(original);
222
+ if (cleaned === original.trim())
223
+ return false;
224
+ writeFileSync(fp, cleaned + '\n', 'utf-8');
225
+ return true;
226
+ }
227
+ catch {
228
+ return false;
229
+ }
230
+ }
231
+ // ---------------------------------------------------------------------------
160
232
  // Scanning
161
233
  // ---------------------------------------------------------------------------
162
234
  export function getPackageRoot() {