midas-mcp 3.0.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/LICENSE +21 -0
  2. package/dist/ai.d.ts +2 -0
  3. package/dist/ai.d.ts.map +1 -1
  4. package/dist/ai.js +28 -45
  5. package/dist/ai.js.map +1 -1
  6. package/dist/analyzer.d.ts.map +1 -1
  7. package/dist/analyzer.js +37 -87
  8. package/dist/analyzer.js.map +1 -1
  9. package/dist/config.d.ts +16 -0
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +109 -15
  12. package/dist/config.js.map +1 -1
  13. package/dist/context.d.ts +8 -1
  14. package/dist/context.d.ts.map +1 -1
  15. package/dist/context.js +76 -7
  16. package/dist/context.js.map +1 -1
  17. package/dist/providers.d.ts +46 -0
  18. package/dist/providers.d.ts.map +1 -0
  19. package/dist/providers.js +287 -0
  20. package/dist/providers.js.map +1 -0
  21. package/dist/server.d.ts.map +1 -1
  22. package/dist/server.js +9 -2
  23. package/dist/server.js.map +1 -1
  24. package/dist/tools/config.d.ts +73 -0
  25. package/dist/tools/config.d.ts.map +1 -0
  26. package/dist/tools/config.js +94 -0
  27. package/dist/tools/config.js.map +1 -0
  28. package/dist/tools/index.d.ts +1 -0
  29. package/dist/tools/index.d.ts.map +1 -1
  30. package/dist/tools/index.js +2 -0
  31. package/dist/tools/index.js.map +1 -1
  32. package/dist/tui.d.ts.map +1 -1
  33. package/dist/tui.js +240 -172
  34. package/dist/tui.js.map +1 -1
  35. package/package.json +17 -5
  36. package/dist/tests/analyze.test.d.ts +0 -2
  37. package/dist/tests/analyze.test.d.ts.map +0 -1
  38. package/dist/tests/analyze.test.js +0 -120
  39. package/dist/tests/analyze.test.js.map +0 -1
  40. package/dist/tests/context.test.d.ts +0 -2
  41. package/dist/tests/context.test.d.ts.map +0 -1
  42. package/dist/tests/context.test.js +0 -213
  43. package/dist/tests/context.test.js.map +0 -1
  44. package/dist/tests/edge-cases.test.d.ts +0 -2
  45. package/dist/tests/edge-cases.test.d.ts.map +0 -1
  46. package/dist/tests/edge-cases.test.js +0 -234
  47. package/dist/tests/edge-cases.test.js.map +0 -1
  48. package/dist/tests/journal.test.d.ts +0 -2
  49. package/dist/tests/journal.test.d.ts.map +0 -1
  50. package/dist/tests/journal.test.js +0 -184
  51. package/dist/tests/journal.test.js.map +0 -1
  52. package/dist/tests/metrics.test.d.ts +0 -2
  53. package/dist/tests/metrics.test.d.ts.map +0 -1
  54. package/dist/tests/metrics.test.js +0 -178
  55. package/dist/tests/metrics.test.js.map +0 -1
  56. package/dist/tests/phase.test.d.ts +0 -2
  57. package/dist/tests/phase.test.d.ts.map +0 -1
  58. package/dist/tests/phase.test.js +0 -110
  59. package/dist/tests/phase.test.js.map +0 -1
  60. package/dist/tests/prompts.test.d.ts +0 -2
  61. package/dist/tests/prompts.test.d.ts.map +0 -1
  62. package/dist/tests/prompts.test.js +0 -157
  63. package/dist/tests/prompts.test.js.map +0 -1
  64. package/dist/tests/search.test.d.ts +0 -2
  65. package/dist/tests/search.test.d.ts.map +0 -1
  66. package/dist/tests/search.test.js +0 -228
  67. package/dist/tests/search.test.js.map +0 -1
  68. package/dist/tests/security.test.d.ts +0 -2
  69. package/dist/tests/security.test.d.ts.map +0 -1
  70. package/dist/tests/security.test.js +0 -105
  71. package/dist/tests/security.test.js.map +0 -1
  72. package/dist/tests/server.test.d.ts +0 -2
  73. package/dist/tests/server.test.d.ts.map +0 -1
  74. package/dist/tests/server.test.js +0 -93
  75. package/dist/tests/server.test.js.map +0 -1
  76. package/dist/tests/techstack.test.d.ts +0 -2
  77. package/dist/tests/techstack.test.d.ts.map +0 -1
  78. package/dist/tests/techstack.test.js +0 -187
  79. package/dist/tests/techstack.test.js.map +0 -1
  80. package/dist/tests/tools.test.d.ts +0 -2
  81. package/dist/tests/tools.test.d.ts.map +0 -1
  82. package/dist/tests/tools.test.js +0 -137
  83. package/dist/tests/tools.test.js.map +0 -1
  84. package/dist/tests/tracker.test.d.ts +0 -2
  85. package/dist/tests/tracker.test.d.ts.map +0 -1
  86. package/dist/tests/tracker.test.js +0 -197
  87. package/dist/tests/tracker.test.js.map +0 -1
package/dist/tui.js CHANGED
@@ -375,6 +375,14 @@ export async function runInteractive() {
375
375
  console.error('Uncaught exception:', err);
376
376
  process.exit(1);
377
377
  });
378
+ process.on('unhandledRejection', (reason) => {
379
+ cleanup();
380
+ console.error('Unhandled rejection:', reason);
381
+ process.exit(1);
382
+ });
383
+ // Debounce tracking for rapid key presses
384
+ let lastKeyTime = 0;
385
+ const DEBOUNCE_MS = 50;
378
386
  // Start a new session for metrics tracking
379
387
  const currentPhase = loadState(projectPath).current;
380
388
  const sessionId = startSession(projectPath, currentPhase);
@@ -398,14 +406,30 @@ export async function runInteractive() {
398
406
  suggestionAcceptanceRate: getSuggestionAcceptanceRate(projectPath),
399
407
  };
400
408
  const render = () => {
401
- // Hide cursor, clear, draw, show cursor - prevents flicker
402
- process.stdout.write(hideCursor + clearScreen);
403
- process.stdout.write(drawUI(tuiState, projectPath));
404
- if (tuiState.message) {
405
- process.stdout.write(`\n ${tuiState.message}`);
406
- tuiState.message = '';
409
+ try {
410
+ // Hide cursor, clear, draw, show cursor - prevents flicker
411
+ process.stdout.write(hideCursor + clearScreen);
412
+ process.stdout.write(drawUI(tuiState, projectPath));
413
+ if (tuiState.message) {
414
+ process.stdout.write(`\n ${tuiState.message}`);
415
+ tuiState.message = '';
416
+ }
417
+ process.stdout.write(showCursor);
418
+ }
419
+ catch (error) {
420
+ // Attempt recovery
421
+ process.stdout.write(clearScreen + showCursor);
422
+ console.error('Render error:', error);
407
423
  }
408
- process.stdout.write(showCursor);
424
+ };
425
+ // Reset state to recover from bad state
426
+ const resetState = () => {
427
+ tuiState.analysis = null;
428
+ tuiState.isAnalyzing = false;
429
+ tuiState.showingSessionStart = false;
430
+ tuiState.showingRejectionInput = false;
431
+ tuiState.message = `${yellow}!${reset} State reset. Press [r] to re-analyze.`;
432
+ tuiState.filesChanged = false;
409
433
  };
410
434
  const runAnalysis = async () => {
411
435
  if (!tuiState.hasApiKey) {
@@ -445,6 +469,7 @@ export async function runInteractive() {
445
469
  render();
446
470
  };
447
471
  const promptForRejectionReason = async () => {
472
+ const TIMEOUT_MS = 60000; // 60 second timeout
448
473
  return new Promise((resolve) => {
449
474
  console.log(`\n ${yellow}Why are you declining this suggestion?${reset}`);
450
475
  console.log(` ${dim}(This helps Midas learn. Press Enter to skip.)${reset}\n`);
@@ -455,7 +480,16 @@ export async function runInteractive() {
455
480
  input: process.stdin,
456
481
  output: process.stdout,
457
482
  });
483
+ // Timeout protection
484
+ const timeout = setTimeout(() => {
485
+ rl.close();
486
+ if (process.stdin.isTTY) {
487
+ process.stdin.setRawMode(true);
488
+ }
489
+ resolve(''); // Timeout = no reason given
490
+ }, TIMEOUT_MS);
458
491
  rl.question(' > ', (answer) => {
492
+ clearTimeout(timeout);
459
493
  rl.close();
460
494
  if (process.stdin.isTTY) {
461
495
  process.stdin.setRawMode(true);
@@ -466,6 +500,7 @@ export async function runInteractive() {
466
500
  };
467
501
  // Multi-line input for pasting AI responses
468
502
  const promptForResponse = async () => {
503
+ const TIMEOUT_MS = 120000; // 2 minute timeout for pasting
469
504
  return new Promise((resolve) => {
470
505
  // Exit alternate screen temporarily for input
471
506
  process.stdout.write(exitAltScreen);
@@ -480,7 +515,19 @@ export async function runInteractive() {
480
515
  });
481
516
  const lines = [];
482
517
  let emptyLineCount = 0;
518
+ let timeoutId = null;
519
+ // Timeout protection - auto-cancel after 2 minutes
520
+ timeoutId = setTimeout(() => {
521
+ rl.close();
522
+ if (process.stdin.isTTY) {
523
+ process.stdin.setRawMode(true);
524
+ }
525
+ process.stdout.write(enterAltScreen);
526
+ resolve(null);
527
+ }, TIMEOUT_MS);
483
528
  const finishInput = () => {
529
+ if (timeoutId)
530
+ clearTimeout(timeoutId);
484
531
  rl.close();
485
532
  if (process.stdin.isTTY) {
486
533
  process.stdin.setRawMode(true);
@@ -588,203 +635,224 @@ export async function runInteractive() {
588
635
  }
589
636
  });
590
637
  process.stdin.on('data', async (key) => {
591
- if (key === 'q' || key === '\u0003') {
592
- // End session and save metrics
593
- const endPhase = tuiState.analysis?.currentPhase || { phase: 'IDLE' };
594
- endSession(projectPath, tuiState.sessionId, endPhase);
595
- clearInterval(activityInterval);
596
- stopWatchingEvents();
597
- cleanup(); // Restore terminal state
598
- console.log(`\n ${cyan}Midas${reset} signing off. Session saved. Happy vibecoding!\n`);
599
- process.exit(0);
600
- }
601
- // Session start screen handling
602
- if (tuiState.showingSessionStart) {
603
- if (key === 'c') {
604
- try {
605
- await copyToClipboard(tuiState.sessionStarterPrompt);
606
- tuiState.message = `${green}OK${reset} Session starter copied! Paste it in your new Cursor chat.`;
607
- }
608
- catch {
609
- tuiState.message = `${yellow}!${reset} Could not copy.`;
610
- }
638
+ // Debounce rapid key presses
639
+ const now = Date.now();
640
+ if (now - lastKeyTime < DEBOUNCE_MS)
641
+ return;
642
+ lastKeyTime = now;
643
+ try {
644
+ // Shift+R for hard reset (recovery from bad state)
645
+ if (key === 'R') {
646
+ resetState();
611
647
  render();
612
648
  return;
613
649
  }
614
- if (key === 'p') {
615
- tuiState.showingSessionStart = false;
616
- render();
617
- if (tuiState.hasApiKey) {
618
- await runAnalysis();
619
- }
620
- return;
650
+ if (key === 'q' || key === '\u0003') {
651
+ // End session and save metrics
652
+ const endPhase = tuiState.analysis?.currentPhase || { phase: 'IDLE' };
653
+ endSession(projectPath, tuiState.sessionId, endPhase);
654
+ clearInterval(activityInterval);
655
+ stopWatchingEvents();
656
+ cleanup(); // Restore terminal state
657
+ console.log(`\n ${cyan}Midas${reset} signing off. Session saved. Happy vibecoding!\n`);
658
+ process.exit(0);
621
659
  }
622
- if (key === 'u') {
623
- try {
624
- await copyUserRules();
625
- tuiState.message = `${green}OK${reset} User Rules copied! Paste in Cursor Settings -> Rules for AI`;
626
- }
627
- catch {
628
- tuiState.message = `${yellow}!${reset} Could not copy.`;
660
+ // Session start screen handling
661
+ if (tuiState.showingSessionStart) {
662
+ if (key === 'c') {
663
+ try {
664
+ await copyToClipboard(tuiState.sessionStarterPrompt);
665
+ tuiState.message = `${green}OK${reset} Session starter copied! Paste it in your new Cursor chat.`;
666
+ }
667
+ catch {
668
+ tuiState.message = `${yellow}!${reset} Could not copy.`;
669
+ }
670
+ render();
671
+ return;
629
672
  }
630
- render();
631
- return;
632
- }
633
- return; // Ignore other keys on session start screen
634
- }
635
- if (key === 'c') {
636
- if (tuiState.analysis?.suggestedPrompt) {
637
- try {
638
- await copyToClipboard(tuiState.analysis.suggestedPrompt);
639
- tuiState.message = `${green}OK${reset} Prompt copied to clipboard!`;
640
- logEvent(projectPath, { type: 'prompt_copied', message: tuiState.analysis.suggestedPrompt.slice(0, 100) });
641
- recordPromptCopied(projectPath, tuiState.sessionId);
673
+ if (key === 'p') {
674
+ tuiState.showingSessionStart = false;
675
+ render();
676
+ if (tuiState.hasApiKey) {
677
+ await runAnalysis();
678
+ }
679
+ return;
642
680
  }
643
- catch {
644
- tuiState.message = `${yellow}!${reset} Could not copy.`;
681
+ if (key === 'u') {
682
+ try {
683
+ await copyUserRules();
684
+ tuiState.message = `${green}OK${reset} User Rules copied! Paste in Cursor Settings -> Rules for AI`;
685
+ }
686
+ catch {
687
+ tuiState.message = `${yellow}!${reset} Could not copy.`;
688
+ }
689
+ render();
690
+ return;
645
691
  }
692
+ return; // Ignore other keys on session start screen
646
693
  }
647
- else {
648
- tuiState.message = `${yellow}!${reset} No prompt to copy.`;
649
- }
650
- render();
651
- }
652
- if (key === 'r') {
653
- await runAnalysis();
654
- }
655
- if (key === 'x') {
656
- // Decline/reject the current suggestion
657
- if (tuiState.analysis?.suggestedPrompt) {
658
- tuiState.showingRejectionInput = true;
659
- const reason = await promptForRejectionReason();
660
- tuiState.showingRejectionInput = false;
661
- recordSuggestionOutcome(projectPath, false, undefined, reason || undefined);
662
- tuiState.suggestionAcceptanceRate = getSuggestionAcceptanceRate(projectPath);
663
- if (reason) {
664
- tuiState.message = `${yellow}OK${reset} Noted: "${truncate(reason, 40)}" - will learn from this.`;
694
+ if (key === 'c') {
695
+ if (tuiState.analysis?.suggestedPrompt) {
696
+ try {
697
+ await copyToClipboard(tuiState.analysis.suggestedPrompt);
698
+ tuiState.message = `${green}OK${reset} Prompt copied to clipboard!`;
699
+ logEvent(projectPath, { type: 'prompt_copied', message: tuiState.analysis.suggestedPrompt.slice(0, 100) });
700
+ recordPromptCopied(projectPath, tuiState.sessionId);
701
+ }
702
+ catch {
703
+ tuiState.message = `${yellow}!${reset} Could not copy.`;
704
+ }
665
705
  }
666
706
  else {
667
- tuiState.message = `${yellow}OK${reset} Suggestion declined.`;
707
+ tuiState.message = `${yellow}!${reset} No prompt to copy.`;
668
708
  }
669
- logEvent(projectPath, {
670
- type: 'prompt_copied',
671
- message: 'Suggestion declined',
672
- data: { reason: reason || 'No reason given' }
673
- });
674
709
  render();
675
710
  }
676
- else {
677
- tuiState.message = `${yellow}!${reset} No suggestion to decline.`;
678
- render();
711
+ if (key === 'r') {
712
+ await runAnalysis();
679
713
  }
680
- }
681
- if (key === 'v') {
682
- // Run verification gates
683
- tuiState.message = `${magenta}...${reset} Running verification gates (build, test, lint)...`;
684
- render();
685
- try {
686
- const { verify } = await import('./tools/verify.js');
687
- const result = verify({ projectPath });
688
- tuiState.gatesStatus = getGatesStatus(projectPath);
689
- if (result.allPass) {
690
- tuiState.message = `${green}OK${reset} All gates pass!${result.autoAdvanced ? ` Auto-advanced to ${result.autoAdvanced.to}` : ''}`;
691
- // Re-analyze to get new suggestions
692
- await runAnalysis();
714
+ if (key === 'x') {
715
+ // Decline/reject the current suggestion
716
+ if (tuiState.analysis?.suggestedPrompt) {
717
+ tuiState.showingRejectionInput = true;
718
+ const reason = await promptForRejectionReason();
719
+ tuiState.showingRejectionInput = false;
720
+ recordSuggestionOutcome(projectPath, false, undefined, reason || undefined);
721
+ tuiState.suggestionAcceptanceRate = getSuggestionAcceptanceRate(projectPath);
722
+ if (reason) {
723
+ tuiState.message = `${yellow}OK${reset} Noted: "${truncate(reason, 40)}" - will learn from this.`;
724
+ }
725
+ else {
726
+ tuiState.message = `${yellow}OK${reset} Suggestion declined.`;
727
+ }
728
+ logEvent(projectPath, {
729
+ type: 'prompt_copied',
730
+ message: 'Suggestion declined',
731
+ data: { reason: reason || 'No reason given' }
732
+ });
733
+ render();
693
734
  }
694
735
  else {
695
- tuiState.message = `${red}!${reset} Failing: ${result.failing.join(', ')}`;
736
+ tuiState.message = `${yellow}!${reset} No suggestion to decline.`;
696
737
  render();
697
738
  }
698
739
  }
699
- catch (error) {
700
- tuiState.message = `${red}!${reset} Verification failed.`;
740
+ if (key === 'v') {
741
+ // Run verification gates
742
+ tuiState.message = `${magenta}...${reset} Running verification gates (build, test, lint)...`;
701
743
  render();
702
- }
703
- }
704
- if (key === 'a') {
705
- // Add .cursorrules to project
706
- try {
707
- const { writeCursorRules, detectTechStack } = await import('./techstack.js');
708
- const projectName = projectPath.split('/').pop() || 'project';
709
- const result = writeCursorRules(projectPath, projectName);
710
- if (result.success) {
711
- const stack = detectTechStack(projectPath);
712
- tuiState.message = `${green}OK${reset} Created .cursorrules for ${stack.language}${stack.framework ? `/${stack.framework}` : ''}`;
744
+ try {
745
+ const { verify } = await import('./tools/verify.js');
746
+ const result = verify({ projectPath });
747
+ tuiState.gatesStatus = getGatesStatus(projectPath);
748
+ if (result.allPass) {
749
+ tuiState.message = `${green}OK${reset} All gates pass!${result.autoAdvanced ? ` Auto-advanced to ${result.autoAdvanced.to}` : ''}`;
750
+ // Re-analyze to get new suggestions
751
+ await runAnalysis();
752
+ }
753
+ else {
754
+ tuiState.message = `${red}!${reset} Failing: ${result.failing.join(', ')}`;
755
+ render();
756
+ }
713
757
  }
714
- else {
715
- tuiState.message = `${red}!${reset} Failed to create .cursorrules`;
758
+ catch (error) {
759
+ tuiState.message = `${red}!${reset} Verification failed.`;
760
+ render();
716
761
  }
717
762
  }
718
- catch (error) {
719
- tuiState.message = `${red}!${reset} Error creating .cursorrules`;
720
- }
721
- render();
722
- }
723
- if (key === 'i') {
724
- // Input/paste AI response for analysis
725
- const exchange = await promptForResponse();
726
- if (!exchange) {
727
- tuiState.message = `${yellow}!${reset} No response pasted.`;
728
- render();
729
- return;
730
- }
731
- tuiState.message = `${magenta}...${reset} Analyzing response...`;
732
- render();
733
- try {
734
- // Analyze the pasted response
735
- const analysis = await analyzeResponse(projectPath, exchange.userPrompt, exchange.aiResponse);
736
- // Auto-save to journal
737
- const journalTitle = analysis.summary.slice(0, 80);
738
- saveToJournal({
739
- projectPath,
740
- title: journalTitle,
741
- conversation: `USER:\n${exchange.userPrompt}\n\nAI:\n${exchange.aiResponse}`,
742
- tags: analysis.taskComplete ? ['completed'] : ['in-progress'],
743
- });
744
- // Record any errors to error memory
745
- if (analysis.errors.length > 0) {
746
- const { recordError } = await import('./tracker.js');
747
- for (const err of analysis.errors) {
748
- recordError(projectPath, err, undefined, undefined);
763
+ if (key === 'a') {
764
+ // Add .cursorrules to project
765
+ try {
766
+ const { writeCursorRules, detectTechStack } = await import('./techstack.js');
767
+ const projectName = projectPath.split('/').pop() || 'project';
768
+ const result = writeCursorRules(projectPath, projectName);
769
+ if (result.success) {
770
+ const stack = detectTechStack(projectPath);
771
+ tuiState.message = `${green}OK${reset} Created .cursorrules for ${stack.language}${stack.framework ? `/${stack.framework}` : ''}`;
772
+ }
773
+ else {
774
+ tuiState.message = `${red}!${reset} Failed to create .cursorrules`;
749
775
  }
750
776
  }
751
- // Log event
752
- logEvent(projectPath, {
753
- type: 'ai_suggestion',
754
- message: `Analyzed: ${analysis.summary}`,
755
- data: {
756
- accomplished: analysis.accomplished.length,
757
- errors: analysis.errors.length,
758
- taskComplete: analysis.taskComplete,
759
- },
760
- });
761
- // Update analysis with new suggested prompt
762
- if (tuiState.analysis) {
763
- tuiState.analysis.suggestedPrompt = analysis.suggestedNextPrompt;
764
- tuiState.analysis.whatsNext = analysis.suggestedNextPrompt;
777
+ catch (error) {
778
+ tuiState.message = `${red}!${reset} Error creating .cursorrules`;
765
779
  }
766
- // Show summary
767
- const accomplishedCount = analysis.accomplished.length;
768
- const errorsCount = analysis.errors.length;
769
- let statusMsg = `${green}OK${reset} Analyzed: ${analysis.summary.slice(0, 40)}`;
770
- if (accomplishedCount > 0)
771
- statusMsg += ` | ${green}${accomplishedCount} done${reset}`;
772
- if (errorsCount > 0)
773
- statusMsg += ` | ${red}${errorsCount} errors${reset}`;
774
- tuiState.message = statusMsg;
775
- tuiState.filesChanged = true; // Trigger refresh prompt
776
- // Re-analyze if task complete or errors found
777
- if (analysis.taskComplete || analysis.shouldAdvancePhase) {
778
- await runAnalysis();
780
+ render();
781
+ }
782
+ if (key === 'i') {
783
+ // Input/paste AI response for analysis
784
+ const exchange = await promptForResponse();
785
+ if (!exchange) {
786
+ tuiState.message = `${yellow}!${reset} No response pasted.`;
787
+ render();
788
+ return;
779
789
  }
780
- else {
790
+ tuiState.message = `${magenta}...${reset} Analyzing response...`;
791
+ render();
792
+ try {
793
+ // Analyze the pasted response
794
+ const analysis = await analyzeResponse(projectPath, exchange.userPrompt, exchange.aiResponse);
795
+ // Auto-save to journal
796
+ const journalTitle = analysis.summary.slice(0, 80);
797
+ saveToJournal({
798
+ projectPath,
799
+ title: journalTitle,
800
+ conversation: `USER:\n${exchange.userPrompt}\n\nAI:\n${exchange.aiResponse}`,
801
+ tags: analysis.taskComplete ? ['completed'] : ['in-progress'],
802
+ });
803
+ // Record any errors to error memory
804
+ if (analysis.errors.length > 0) {
805
+ const { recordError } = await import('./tracker.js');
806
+ for (const err of analysis.errors) {
807
+ recordError(projectPath, err, undefined, undefined);
808
+ }
809
+ }
810
+ // Log event
811
+ logEvent(projectPath, {
812
+ type: 'ai_suggestion',
813
+ message: `Analyzed: ${analysis.summary}`,
814
+ data: {
815
+ accomplished: analysis.accomplished.length,
816
+ errors: analysis.errors.length,
817
+ taskComplete: analysis.taskComplete,
818
+ },
819
+ });
820
+ // Update analysis with new suggested prompt
821
+ if (tuiState.analysis) {
822
+ tuiState.analysis.suggestedPrompt = analysis.suggestedNextPrompt;
823
+ tuiState.analysis.whatsNext = analysis.suggestedNextPrompt;
824
+ }
825
+ // Show summary
826
+ const accomplishedCount = analysis.accomplished.length;
827
+ const errorsCount = analysis.errors.length;
828
+ let statusMsg = `${green}OK${reset} Analyzed: ${analysis.summary.slice(0, 40)}`;
829
+ if (accomplishedCount > 0)
830
+ statusMsg += ` | ${green}${accomplishedCount} done${reset}`;
831
+ if (errorsCount > 0)
832
+ statusMsg += ` | ${red}${errorsCount} errors${reset}`;
833
+ tuiState.message = statusMsg;
834
+ tuiState.filesChanged = true; // Trigger refresh prompt
835
+ // Re-analyze if task complete or errors found
836
+ if (analysis.taskComplete || analysis.shouldAdvancePhase) {
837
+ await runAnalysis();
838
+ }
839
+ else {
840
+ render();
841
+ }
842
+ }
843
+ catch (error) {
844
+ tuiState.message = `${red}!${reset} Failed to analyze response.`;
781
845
  render();
782
846
  }
783
847
  }
784
- catch (error) {
785
- tuiState.message = `${red}!${reset} Failed to analyze response.`;
848
+ }
849
+ catch (error) {
850
+ // Global error handler for key processing
851
+ tuiState.message = `${red}!${reset} Error processing key. Press Shift+R to reset.`;
852
+ try {
786
853
  render();
787
854
  }
855
+ catch { /* ignore render errors */ }
788
856
  }
789
857
  });
790
858
  }
package/dist/tui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}