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.
- package/LICENSE +21 -0
- package/dist/ai.d.ts +2 -0
- package/dist/ai.d.ts.map +1 -1
- package/dist/ai.js +28 -45
- package/dist/ai.js.map +1 -1
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +37 -87
- package/dist/analyzer.js.map +1 -1
- package/dist/config.d.ts +16 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +109 -15
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +8 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +76 -7
- package/dist/context.js.map +1 -1
- package/dist/providers.d.ts +46 -0
- package/dist/providers.d.ts.map +1 -0
- package/dist/providers.js +287 -0
- package/dist/providers.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +9 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/config.d.ts +73 -0
- package/dist/tools/config.d.ts.map +1 -0
- package/dist/tools/config.js +94 -0
- package/dist/tools/config.js.map +1 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +240 -172
- package/dist/tui.js.map +1 -1
- package/package.json +17 -5
- package/dist/tests/analyze.test.d.ts +0 -2
- package/dist/tests/analyze.test.d.ts.map +0 -1
- package/dist/tests/analyze.test.js +0 -120
- package/dist/tests/analyze.test.js.map +0 -1
- package/dist/tests/context.test.d.ts +0 -2
- package/dist/tests/context.test.d.ts.map +0 -1
- package/dist/tests/context.test.js +0 -213
- package/dist/tests/context.test.js.map +0 -1
- package/dist/tests/edge-cases.test.d.ts +0 -2
- package/dist/tests/edge-cases.test.d.ts.map +0 -1
- package/dist/tests/edge-cases.test.js +0 -234
- package/dist/tests/edge-cases.test.js.map +0 -1
- package/dist/tests/journal.test.d.ts +0 -2
- package/dist/tests/journal.test.d.ts.map +0 -1
- package/dist/tests/journal.test.js +0 -184
- package/dist/tests/journal.test.js.map +0 -1
- package/dist/tests/metrics.test.d.ts +0 -2
- package/dist/tests/metrics.test.d.ts.map +0 -1
- package/dist/tests/metrics.test.js +0 -178
- package/dist/tests/metrics.test.js.map +0 -1
- package/dist/tests/phase.test.d.ts +0 -2
- package/dist/tests/phase.test.d.ts.map +0 -1
- package/dist/tests/phase.test.js +0 -110
- package/dist/tests/phase.test.js.map +0 -1
- package/dist/tests/prompts.test.d.ts +0 -2
- package/dist/tests/prompts.test.d.ts.map +0 -1
- package/dist/tests/prompts.test.js +0 -157
- package/dist/tests/prompts.test.js.map +0 -1
- package/dist/tests/search.test.d.ts +0 -2
- package/dist/tests/search.test.d.ts.map +0 -1
- package/dist/tests/search.test.js +0 -228
- package/dist/tests/search.test.js.map +0 -1
- package/dist/tests/security.test.d.ts +0 -2
- package/dist/tests/security.test.d.ts.map +0 -1
- package/dist/tests/security.test.js +0 -105
- package/dist/tests/security.test.js.map +0 -1
- package/dist/tests/server.test.d.ts +0 -2
- package/dist/tests/server.test.d.ts.map +0 -1
- package/dist/tests/server.test.js +0 -93
- package/dist/tests/server.test.js.map +0 -1
- package/dist/tests/techstack.test.d.ts +0 -2
- package/dist/tests/techstack.test.d.ts.map +0 -1
- package/dist/tests/techstack.test.js +0 -187
- package/dist/tests/techstack.test.js.map +0 -1
- package/dist/tests/tools.test.d.ts +0 -2
- package/dist/tests/tools.test.d.ts.map +0 -1
- package/dist/tests/tools.test.js +0 -137
- package/dist/tests/tools.test.js.map +0 -1
- package/dist/tests/tracker.test.d.ts +0 -2
- package/dist/tests/tracker.test.d.ts.map +0 -1
- package/dist/tests/tracker.test.js +0 -197
- 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
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
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
|
-
|
|
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
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
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 === '
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
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
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
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
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
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
|
-
|
|
644
|
-
|
|
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
|
-
|
|
648
|
-
tuiState.
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
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}
|
|
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
|
-
|
|
677
|
-
|
|
678
|
-
render();
|
|
711
|
+
if (key === 'r') {
|
|
712
|
+
await runAnalysis();
|
|
679
713
|
}
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
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 = `${
|
|
736
|
+
tuiState.message = `${yellow}!${reset} No suggestion to decline.`;
|
|
696
737
|
render();
|
|
697
738
|
}
|
|
698
739
|
}
|
|
699
|
-
|
|
700
|
-
|
|
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
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
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
|
-
|
|
715
|
-
tuiState.message = `${red}!${reset}
|
|
758
|
+
catch (error) {
|
|
759
|
+
tuiState.message = `${red}!${reset} Verification failed.`;
|
|
760
|
+
render();
|
|
716
761
|
}
|
|
717
762
|
}
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
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
|
-
|
|
752
|
-
|
|
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
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
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
|
-
|
|
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
|
-
|
|
785
|
-
|
|
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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"}
|