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.
@@ -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,CA6jHrE"}
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
- if (agentRunning) {
2480
- // Queue the paste as a single type-ahead entry (with current input if any)
2481
- const combined = existingInput.trim()
2482
- ? `${existingInput.trim()}\n${trimmed}` : trimmed;
2483
- typeAheadBuffer.push(combined);
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
- // Show user's type-ahead at the prompt row (N-3) during LLM streaming
3507
- // (when readline echo is muted). During tool execution / permission prompts,
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();