helixmind 0.5.11 → 0.5.13
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/dist/cli/commands/chat.d.ts.map +1 -1
- package/dist/cli/commands/chat.js +9 -47
- package/dist/cli/commands/chat.js.map +1 -1
- package/dist/cli/core/input.js +6 -7
- package/dist/cli/core/input.js.map +1 -1
- package/dist/cli/core/screen.d.ts.map +1 -1
- package/dist/cli/core/screen.js +5 -3
- package/dist/cli/core/screen.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/chat.ts"],"names":[],"mappings":"AAsFA,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAqND,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/chat.ts"],"names":[],"mappings":"AAsFA,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAqND,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4hHrE"}
|
|
@@ -2065,9 +2065,6 @@ export async function chatCommand(options) {
|
|
|
2065
2065
|
inputMgr.mute();
|
|
2066
2066
|
}, () => {
|
|
2067
2067
|
inputMgr.unmute();
|
|
2068
|
-
// Clear type-ahead preview from input row when unmuting
|
|
2069
|
-
if (screen.isActive)
|
|
2070
|
-
screen.writeAtInputRow('');
|
|
2071
2068
|
});
|
|
2072
2069
|
// Ctrl+C behavior:
|
|
2073
2070
|
// - If there's text on the line → clear the line (like a normal terminal)
|
|
@@ -2476,27 +2473,14 @@ export async function chatCommand(options) {
|
|
|
2476
2473
|
}
|
|
2477
2474
|
return;
|
|
2478
2475
|
}
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
const lineCount = trimmed.split('\n').length;
|
|
2485
|
-
replaceReadlineInput('');
|
|
2486
|
-
process.stdout.write(`\x1b[2K\r ${theme.dim('\u23F3 Queued:')} ${existingInput.trim() ? chalk.dim(existingInput.trim() + ' ') : ''}${chalk.cyan(`[pasted text ${lineCount} lines]`)}\n`);
|
|
2487
|
-
inputMgr.prompt();
|
|
2488
|
-
}
|
|
2489
|
-
else {
|
|
2490
|
-
// Restore existing input at original cursor position, then set paste block.
|
|
2491
|
-
// Do NOT call inputMgr.prompt() — user is already at the prompt.
|
|
2492
|
-
// rl.prompt() resets cursor to 0, which would undo our cursor restore.
|
|
2493
|
-
if (existingInput) {
|
|
2494
|
-
replaceReadlineInput(existingInput);
|
|
2495
|
-
rl.cursor = Math.min(existingCursor, existingInput.length);
|
|
2496
|
-
}
|
|
2497
|
-
inputMgr.setPasteBlock(trimmed);
|
|
2498
|
-
pendingPasteText = inputMgr.pendingPaste;
|
|
2476
|
+
// Always show paste as badge in input field — even during agent work.
|
|
2477
|
+
// Queuing happens on Enter (via rl.on('line') → type-ahead buffer).
|
|
2478
|
+
if (existingInput) {
|
|
2479
|
+
replaceReadlineInput(existingInput);
|
|
2480
|
+
rl.cursor = Math.min(existingCursor, existingInput.length);
|
|
2499
2481
|
}
|
|
2482
|
+
inputMgr.setPasteBlock(trimmed);
|
|
2483
|
+
pendingPasteText = inputMgr.pendingPaste;
|
|
2500
2484
|
}
|
|
2501
2485
|
// Build Jarvis identity context for system prompt injection (when daemon is active)
|
|
2502
2486
|
function getJarvisContextForPrompt() {
|
|
@@ -3503,30 +3487,8 @@ export async function chatCommand(options) {
|
|
|
3503
3487
|
}
|
|
3504
3488
|
});
|
|
3505
3489
|
}
|
|
3506
|
-
//
|
|
3507
|
-
// (
|
|
3508
|
-
// readline echo is active and the user sees input at the normal prompt row.
|
|
3509
|
-
process.stdin.on('keypress', () => {
|
|
3510
|
-
if (!agentRunning || !chrome.isActive || !activity.isAnimating)
|
|
3511
|
-
return;
|
|
3512
|
-
// Defer to let readline update rl.line first
|
|
3513
|
-
setImmediate(() => {
|
|
3514
|
-
if (!agentRunning || !chrome.isActive || !activity.isAnimating)
|
|
3515
|
-
return;
|
|
3516
|
-
const userInput = inputMgr.currentLine;
|
|
3517
|
-
if (userInput) {
|
|
3518
|
-
const maxLen = Math.max(20, (process.stdout.columns || 80) - 8);
|
|
3519
|
-
const display = userInput.length > maxLen
|
|
3520
|
-
? '\u2026' + userInput.slice(-(maxLen - 1))
|
|
3521
|
-
: userInput;
|
|
3522
|
-
const gt = chalk.hex('#00d4ff').bold('\u276F');
|
|
3523
|
-
chrome.writeAtPromptRow(` ${gt} ${chalk.dim(display)}`);
|
|
3524
|
-
}
|
|
3525
|
-
else {
|
|
3526
|
-
chrome.writeAtPromptRow('');
|
|
3527
|
-
}
|
|
3528
|
-
});
|
|
3529
|
-
});
|
|
3490
|
+
// Type-ahead during LLM streaming is handled by InputManager._renderCurrentLine()
|
|
3491
|
+
// (muted path renders dim text with proper cursor positioning via renderInput).
|
|
3530
3492
|
rl.on('close', async () => {
|
|
3531
3493
|
clearInterval(footerTimer);
|
|
3532
3494
|
chrome.deactivate();
|