codeep 1.0.33 → 1.0.34

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.
@@ -96,10 +96,11 @@ export const ChatInput = ({ onSubmit, disabled, history = [], clearTrigger = 0 }
96
96
  preview,
97
97
  fullText: trimmed,
98
98
  });
99
- // Show indicator in input field
99
+ // Show only indicator in input field, NOT the actual pasted text
100
100
  const indicator = `📋 [${lineCount} lines, ${charCount} chars]`;
101
- setValue(prev => prev + indicator);
102
- setCursorPos(prev => prev + indicator.length);
101
+ // Replace entire value with just the indicator (don't append pasted text)
102
+ setValue(indicator);
103
+ setCursorPos(indicator.length);
103
104
  }
104
105
  else {
105
106
  // Short paste - insert directly
@@ -242,12 +243,15 @@ export const ChatInput = ({ onSubmit, disabled, history = [], clearTrigger = 0 }
242
243
  }
243
244
  // Regular character input
244
245
  if (input && !key.ctrl && !key.meta) {
245
- // Check if this might be part of a paste
246
- if (!detectPaste(input)) {
247
- // Normal single character input
248
- setValue(prev => prev.slice(0, cursorPos) + input + prev.slice(cursorPos));
249
- setCursorPos(prev => prev + input.length);
246
+ // If we have paste info, clear it when user starts typing
247
+ if (pasteInfo) {
248
+ setPasteInfo(null);
249
+ setValue('');
250
+ setCursorPos(0);
250
251
  }
252
+ // Normal single character input
253
+ setValue(prev => prev.slice(0, cursorPos) + input + prev.slice(cursorPos));
254
+ setCursorPos(prev => prev + input.length);
251
255
  }
252
256
  }, { isActive: !disabled });
253
257
  // Process any remaining buffered input after a delay
@@ -277,5 +281,5 @@ export const ChatInput = ({ onSubmit, disabled, history = [], clearTrigger = 0 }
277
281
  const after = value.slice(cursorPos + 1);
278
282
  return (_jsxs(Text, { children: [before, _jsx(Text, { backgroundColor: "white", color: "black", children: cursor }), after] }));
279
283
  };
280
- return (_jsxs(Box, { flexDirection: "column", children: [suggestions.length > 0 && (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [suggestions.slice(0, 8).map((s, i) => (_jsxs(Text, { children: [i === selectedIndex ? _jsx(Text, { color: "#f02a30", children: "\u25B8 " }) : ' ', _jsx(Text, { color: i === selectedIndex ? '#f02a30' : undefined, bold: i === selectedIndex, children: s.cmd }), _jsxs(Text, { color: i === selectedIndex ? undefined : 'gray', children: [" - ", s.desc] })] }, s.cmd))), _jsx(Text, { color: "gray", dimColor: true, children: "\u2191\u2193 navigate \u2022 Tab complete \u2022 Esc cancel" })] })), pasteInfo && (_jsxs(Box, { borderStyle: "round", borderColor: "cyan", paddingX: 1, marginBottom: 1, flexDirection: "column", children: [_jsx(Text, { color: "cyan", bold: true, children: "\uD83D\uDCCB Pasted Content" }), _jsxs(Text, { children: [_jsx(Text, { color: "white", bold: true, children: pasteInfo.lines }), _jsxs(Text, { color: "gray", children: [" ", pasteInfo.lines === 1 ? 'line' : 'lines', " \u2022 "] }), _jsx(Text, { color: "white", bold: true, children: pasteInfo.chars }), _jsx(Text, { color: "gray", children: " characters" })] }), _jsx(Text, { color: "gray", dimColor: true, wrap: "truncate", children: pasteInfo.preview }), _jsx(Text, { color: "gray", dimColor: true, children: "Press Enter to send \u2022 Esc to remove" })] })), _jsxs(Box, { children: [_jsx(Text, { color: "#f02a30", bold: true, children: '> ' }), disabled ? (_jsx(Text, { color: "gray", children: "..." })) : (renderInput())] })] }));
284
+ return (_jsxs(Box, { flexDirection: "column", children: [suggestions.length > 0 && (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [suggestions.slice(0, 8).map((s, i) => (_jsxs(Text, { children: [i === selectedIndex ? _jsx(Text, { color: "#f02a30", children: "\u25B8 " }) : ' ', _jsx(Text, { color: i === selectedIndex ? '#f02a30' : undefined, bold: i === selectedIndex, children: s.cmd }), _jsxs(Text, { color: i === selectedIndex ? undefined : 'gray', children: [" - ", s.desc] })] }, s.cmd))), _jsx(Text, { color: "gray", dimColor: true, children: "\u2191\u2193 navigate \u2022 Tab complete \u2022 Esc cancel" })] })), pasteInfo && (_jsxs(Box, { borderStyle: "round", borderColor: "cyan", paddingX: 1, marginBottom: 1, flexDirection: "column", children: [_jsx(Text, { color: "cyan", bold: true, children: "\uD83D\uDCCB Pasted Content" }), _jsxs(Text, { children: [_jsx(Text, { color: "white", bold: true, children: pasteInfo.lines }), _jsxs(Text, { color: "gray", children: [" ", pasteInfo.lines === 1 ? 'line' : 'lines', " \u2022 "] }), _jsx(Text, { color: "white", bold: true, children: pasteInfo.chars }), _jsx(Text, { color: "gray", children: " characters" })] }), _jsx(Text, { color: "gray", dimColor: true, wrap: "truncate", children: pasteInfo.preview }), _jsx(Text, { color: "gray", dimColor: true, children: "Press Enter to send \u2022 Esc to remove" })] })), _jsxs(Box, { children: [_jsx(Text, { color: "#f02a30", bold: true, children: '> ' }), disabled ? (_jsx(Text, { color: "yellow", children: "Agent working... (Esc to stop)" })) : (renderInput())] })] }));
281
285
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeep",
3
- "version": "1.0.33",
3
+ "version": "1.0.34",
4
4
  "description": "AI-powered coding assistant built for the terminal. Multiple LLM providers, project-aware context, and a seamless development workflow.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",