@serjm/deepseek-code 0.3.2 → 0.4.1

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 (40) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +12 -0
  3. package/README.ru.md +12 -0
  4. package/dist/cli/headless.d.ts.map +1 -1
  5. package/dist/cli/headless.js +2 -0
  6. package/dist/cli/headless.js.map +1 -1
  7. package/dist/commands/index.d.ts +7 -0
  8. package/dist/commands/index.d.ts.map +1 -1
  9. package/dist/commands/index.js +248 -21
  10. package/dist/commands/index.js.map +1 -1
  11. package/dist/core/agent-loop.d.ts +26 -1
  12. package/dist/core/agent-loop.d.ts.map +1 -1
  13. package/dist/core/agent-loop.js +157 -4
  14. package/dist/core/agent-loop.js.map +1 -1
  15. package/dist/core/i18n.d.ts +2 -0
  16. package/dist/core/i18n.d.ts.map +1 -1
  17. package/dist/core/i18n.js +6 -0
  18. package/dist/core/i18n.js.map +1 -1
  19. package/dist/core/metrics.d.ts +43 -0
  20. package/dist/core/metrics.d.ts.map +1 -1
  21. package/dist/core/metrics.js +170 -6
  22. package/dist/core/metrics.js.map +1 -1
  23. package/dist/tools/chrome.js +53 -53
  24. package/dist/tools/edit.d.ts.map +1 -1
  25. package/dist/tools/edit.js +30 -8
  26. package/dist/tools/edit.js.map +1 -1
  27. package/dist/tools/types.d.ts +28 -0
  28. package/dist/tools/types.d.ts.map +1 -1
  29. package/dist/tools/types.js +10 -0
  30. package/dist/tools/types.js.map +1 -1
  31. package/dist/tools/write.d.ts.map +1 -1
  32. package/dist/tools/write.js +13 -1
  33. package/dist/tools/write.js.map +1 -1
  34. package/dist/ui/app.d.ts.map +1 -1
  35. package/dist/ui/app.js +46 -1
  36. package/dist/ui/app.js.map +1 -1
  37. package/dist/ui/input-bar.d.ts.map +1 -1
  38. package/dist/ui/input-bar.js +268 -70
  39. package/dist/ui/input-bar.js.map +1 -1
  40. package/package.json +2 -1
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState, useRef, useEffect } from 'react';
3
- import { Box, Text, useInput } from 'ink';
3
+ import { Box, Text, useInput, useStdin } from 'ink';
4
4
  import { themeManager } from '../core/themes.js';
5
5
  import { COMMAND_NAMES, COMMAND_MAP } from '../commands/index.js';
6
6
  import { visualWidth } from '../utils/string-width.js';
@@ -13,8 +13,70 @@ export function resolveCommandSubmission(currentInput, currentSuggestions, sugge
13
13
  const MAX_VISIBLE_ROWS = 5;
14
14
  /** Max visible suggestions in the dropdown before scrolling */
15
15
  const SUGGESTIONS_MAX_VISIBLE = 8;
16
+ /**
17
+ * Splits `text` into visual lines considering:
18
+ * - logical newlines (\n)
19
+ * - visual-width wrapping at `maxWidth` columns
20
+ *
21
+ * Each VisualLine stores its original character range [start, end) so we
22
+ * can map cursor positions to visual lines and vice versa.
23
+ */
24
+ function computeVisualLines(text, maxWidth) {
25
+ const lines = [];
26
+ if (text.length === 0) {
27
+ lines.push({ start: 0, end: 0, text: '', width: 0 });
28
+ return lines;
29
+ }
30
+ const logicalLines = text.split('\n');
31
+ let pos = 0;
32
+ for (let li = 0; li < logicalLines.length; li++) {
33
+ const logicalLine = logicalLines[li];
34
+ if (logicalLine.length === 0) {
35
+ // Empty logical line — still renders as one visual line
36
+ lines.push({ start: pos, end: pos, text: '', width: 0 });
37
+ }
38
+ else {
39
+ let current = '';
40
+ let currentWidth = 0;
41
+ let segStart = pos;
42
+ for (let ci = 0; ci < logicalLine.length; ci++) {
43
+ const ch = logicalLine[ci];
44
+ const cw = visualWidth(ch);
45
+ if (currentWidth + cw > maxWidth) {
46
+ lines.push({ start: segStart, end: pos + ci, text: current, width: currentWidth });
47
+ current = ch;
48
+ currentWidth = cw;
49
+ segStart = pos + ci;
50
+ }
51
+ else {
52
+ current += ch;
53
+ currentWidth += cw;
54
+ }
55
+ }
56
+ // Last (or only) segment of this logical line
57
+ lines.push({ start: segStart, end: pos + logicalLine.length, text: current, width: currentWidth });
58
+ }
59
+ pos += logicalLine.length + 1;
60
+ }
61
+ return lines;
62
+ }
63
+ /**
64
+ * Returns the index of the visual line that contains `cursorIndex`.
65
+ * cursorIndex must be in range [0, text.length].
66
+ */
67
+ function findVisualLine(lines, cursorIndex) {
68
+ for (let i = 0; i < lines.length; i++) {
69
+ if (cursorIndex >= lines[i].start && cursorIndex <= lines[i].end) {
70
+ return i;
71
+ }
72
+ }
73
+ // Fallback: last line
74
+ return Math.max(0, lines.length - 1);
75
+ }
76
+ // ── Component ────────────────────────────────────────────────────────────────
16
77
  export function InputBar({ onSubmit, disabled, onClear, onExit, isMasked, isSetupMode, emptyHint, onImagePaste, blockInput }) {
17
78
  const [input, setInput] = useState('');
79
+ const [cursorIndex, setCursorIndex] = useState(0);
18
80
  const [history, setHistory] = useState([]);
19
81
  const [historyIndex, setHistoryIndex] = useState(-1);
20
82
  const [suggestionIndex, setSuggestionIndex] = useState(-1);
@@ -22,8 +84,26 @@ export function InputBar({ onSubmit, disabled, onClear, onExit, isMasked, isSetu
22
84
  const [cursorVisible, setCursorVisible] = useState(true);
23
85
  const [pendingImageLabel, setPendingImageLabel] = useState(null);
24
86
  const [inputScrollOffset, setInputScrollOffset] = useState(0);
87
+ // eslint-disable-next-line camelcase
88
+ const { internal_eventEmitter } = useStdin();
25
89
  const inputRef = useRef(input);
26
90
  inputRef.current = input;
91
+ const cursorIndexRef = useRef(cursorIndex);
92
+ cursorIndexRef.current = cursorIndex;
93
+ const lastRawInputRef = useRef('');
94
+ // Listen to raw input BEFORE useInput processes it (prependListener),
95
+ // so we can distinguish physical Backspace (\x7f, \b) from Delete (\x1b[3~) on Windows.
96
+ useEffect(() => {
97
+ const handler = (data) => {
98
+ lastRawInputRef.current = String(data);
99
+ };
100
+ // eslint-disable-next-line camelcase
101
+ internal_eventEmitter.prependListener('input', handler);
102
+ return () => {
103
+ // eslint-disable-next-line camelcase
104
+ internal_eventEmitter.removeListener('input', handler);
105
+ };
106
+ }, [internal_eventEmitter]); // eslint-disable-line camelcase
27
107
  useEffect(() => {
28
108
  setCursorVisible(!disabled);
29
109
  }, [disabled]);
@@ -55,14 +135,47 @@ export function InputBar({ onSubmit, disabled, onClear, onExit, isMasked, isSetu
55
135
  ? COMMAND_NAMES.filter(cmd => cmd.startsWith(input.toLowerCase()))
56
136
  : [];
57
137
  const getSuggestions = (text) => text.startsWith('/') ? COMMAND_NAMES.filter(cmd => cmd.startsWith(text.toLowerCase())) : [];
58
- // Calculate number of visual lines the input text occupies
138
+ // ── Visual line computation (for both rendering and cursor navigation) ────
59
139
  const terminalWidth = process.stdout.columns || 80;
60
- const inputLines = input.split('\n').reduce((sum, line) => {
61
- if (line.length === 0)
62
- return sum + 1;
63
- return sum + Math.ceil(visualWidth(line) / Math.max(1, terminalWidth - 6));
64
- }, 0);
65
- const needsScroll = inputLines > MAX_VISIBLE_ROWS;
140
+ const maxLineWidth = Math.max(1, terminalWidth - 6);
141
+ const displayText = isMasked && input.length > 0
142
+ ? '•'.repeat(input.length)
143
+ : input;
144
+ const visualLines = computeVisualLines(displayText, maxLineWidth);
145
+ const totalVisualLines = visualLines.length;
146
+ const needsScroll = totalVisualLines > MAX_VISIBLE_ROWS;
147
+ const cursorVisualLineIdx = findVisualLine(visualLines, cursorIndex);
148
+ // ── Adjust scroll whenever cursor moves off-screen ────────────────────────
149
+ useEffect(() => {
150
+ if (cursorVisualLineIdx < inputScrollOffset) {
151
+ setInputScrollOffset(cursorVisualLineIdx);
152
+ }
153
+ else if (cursorVisualLineIdx >= inputScrollOffset + MAX_VISIBLE_ROWS) {
154
+ setInputScrollOffset(Math.max(0, cursorVisualLineIdx - MAX_VISIBLE_ROWS + 1));
155
+ }
156
+ }, [cursorVisualLineIdx, inputScrollOffset]);
157
+ // Get the current visual column of the cursor within its visual line
158
+ function getCursorVisualColumn(cursorIdx, lines) {
159
+ const lineIdx = findVisualLine(lines, cursorIdx);
160
+ const line = lines[lineIdx];
161
+ const localOffset = cursorIdx - line.start;
162
+ return visualWidth(line.text.slice(0, localOffset));
163
+ }
164
+ // Move cursor to a target visual column on a specific visual line
165
+ function cursorIndexAtColumn(targetLine, targetCol) {
166
+ let accumulatedWidth = 0;
167
+ let bestLocalOffset = 0;
168
+ for (let ci = 0; ci < targetLine.text.length; ci++) {
169
+ const cw = visualWidth(targetLine.text[ci]);
170
+ if (accumulatedWidth + cw > targetCol) {
171
+ // Place cursor before this character — closer to targetCol wins
172
+ break;
173
+ }
174
+ accumulatedWidth += cw;
175
+ bestLocalOffset = ci + 1;
176
+ }
177
+ return targetLine.start + bestLocalOffset;
178
+ }
66
179
  useInput((_input, key) => {
67
180
  if (disabled)
68
181
  return;
@@ -70,32 +183,49 @@ export function InputBar({ onSubmit, disabled, onClear, onExit, isMasked, isSetu
70
183
  // do NOT consume any keys — let parent useInput handle them.
71
184
  if (blockInput)
72
185
  return;
73
- // In setup mode, only handle Enter and character input, not arrows/tab
186
+ // ── Setup mode ────────────────────────────────────────────────────────
74
187
  if (isSetupMode) {
75
188
  if (key.return && input.trim()) {
76
189
  onSubmit(input);
77
190
  setInput('');
191
+ setCursorIndex(0);
78
192
  }
79
- else if (key.backspace || key.delete) {
80
- setInput(prev => prev.slice(0, -1));
193
+ else if (key.backspace) {
194
+ const curIdx = cursorIndexRef.current;
195
+ if (curIdx > 0) {
196
+ setInput(prev => prev.slice(0, curIdx - 1) + prev.slice(curIdx));
197
+ setCursorIndex(prev => prev - 1);
198
+ }
199
+ setSuggestionIndex(-1);
200
+ }
201
+ else if (key.delete) {
202
+ const curIdx = cursorIndexRef.current;
203
+ if (curIdx < (inputRef.current.length)) {
204
+ setInput(prev => prev.slice(0, curIdx) + prev.slice(curIdx + 1));
205
+ // cursorIndex unchanged for Delete
206
+ }
81
207
  setSuggestionIndex(-1);
82
208
  }
83
209
  else if (_input && !key.ctrl && !key.meta && !key.return && !key.escape && !key.backspace && !key.delete) {
84
- setInput(prev => prev + _input);
210
+ const normalized = _input.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
211
+ const curIdx = cursorIndexRef.current;
212
+ setInput(prev => prev.slice(0, curIdx) + normalized + prev.slice(curIdx));
213
+ setCursorIndex(prev => prev + normalized.length);
85
214
  setSuggestionIndex(-1);
86
215
  }
87
216
  return;
88
217
  }
89
- // Normal mode
218
+ // ── Normal mode ───────────────────────────────────────────────────────
90
219
  const currentInput = inputRef.current;
220
+ const currentCursor = cursorIndexRef.current;
91
221
  const currentSuggestions = getSuggestions(currentInput);
92
222
  const hasSuggestions = currentSuggestions.length > 0;
223
+ // ── Suggestion navigation ─────────────────────────────────────────────
93
224
  if (hasSuggestions) {
94
225
  // Arrows cycle through suggestions — only change index, NOT input
95
226
  if (key.downArrow) {
96
227
  const newIdx = (suggestionIndex + 1) % currentSuggestions.length;
97
228
  setSuggestionIndex(newIdx);
98
- // Scroll down if active item goes below visible area
99
229
  setSuggestionsScrollOffset(prev => {
100
230
  if (newIdx >= prev + SUGGESTIONS_MAX_VISIBLE) {
101
231
  return newIdx - SUGGESTIONS_MAX_VISIBLE + 1;
@@ -107,12 +237,10 @@ export function InputBar({ onSubmit, disabled, onClear, onExit, isMasked, isSetu
107
237
  if (key.upArrow) {
108
238
  const newIdx = suggestionIndex <= 0 ? currentSuggestions.length - 1 : suggestionIndex - 1;
109
239
  setSuggestionIndex(newIdx);
110
- // Scroll up if active item goes above visible area
111
240
  setSuggestionsScrollOffset(prev => {
112
241
  if (newIdx < prev) {
113
242
  return Math.max(0, newIdx);
114
243
  }
115
- // Wrap-around from top to bottom
116
244
  if (suggestionIndex <= 0 && newIdx >= SUGGESTIONS_MAX_VISIBLE) {
117
245
  return Math.max(0, newIdx - SUGGESTIONS_MAX_VISIBLE + 1);
118
246
  }
@@ -136,6 +264,7 @@ export function InputBar({ onSubmit, disabled, onClear, onExit, isMasked, isSetu
136
264
  onSubmit(cmd);
137
265
  setHistory(prev => [cmd, ...prev].slice(0, 100));
138
266
  setInput('');
267
+ setCursorIndex(0);
139
268
  setHistoryIndex(-1);
140
269
  setSuggestionIndex(-1);
141
270
  setPendingImageLabel(null);
@@ -145,71 +274,153 @@ export function InputBar({ onSubmit, disabled, onClear, onExit, isMasked, isSetu
145
274
  // Backspace/delete while suggestions are open — let normal input handling proceed
146
275
  // (falls through to the backspace handler below)
147
276
  }
148
- // Backspace / delete
149
- if (key.backspace || key.delete) {
150
- setInput(prev => prev.slice(0, -1));
277
+ // ── Cursor movement: Left / Right ─────────────────────────────────────
278
+ if (key.leftArrow) {
279
+ setCursorIndex(prev => Math.max(0, prev - 1));
280
+ return;
281
+ }
282
+ if (key.rightArrow) {
283
+ setCursorIndex(prev => Math.min(currentInput.length, prev + 1));
284
+ return;
285
+ }
286
+ // ── Home / End ────────────────────────────────────────────────────────
287
+ // Ink's Key type doesn't expose home/end, so we detect them via raw input.
288
+ if (!_input && lastRawInputRef.current) {
289
+ const raw = lastRawInputRef.current;
290
+ if (raw === '\x1b[H' || raw === '\x1bOH' || raw === '\x1b[1~') {
291
+ setCursorIndex(0);
292
+ setSuggestionIndex(-1);
293
+ return;
294
+ }
295
+ if (raw === '\x1b[F' || raw === '\x1bOF' || raw === '\x1b[4~') {
296
+ setCursorIndex(currentInput.length);
297
+ setSuggestionIndex(-1);
298
+ return;
299
+ }
300
+ }
301
+ // ── Backspace / Delete (cursor-aware) ─────────────────────────────────
302
+ if (key.backspace) {
303
+ if (currentCursor > 0) {
304
+ const newInput = currentInput.slice(0, currentCursor - 1) + currentInput.slice(currentCursor);
305
+ setInput(newInput);
306
+ setCursorIndex(currentCursor - 1);
307
+ // refetch new input value after state update — but we already have it
308
+ }
309
+ setSuggestionIndex(-1);
310
+ return;
311
+ }
312
+ // Windows workaround: Backspace (\x7f, \b) arrives as key.delete in Ink,
313
+ // but physical Delete (\x1b[3~) also arrives as key.delete.
314
+ // Distinguish via raw input captured via internal_eventEmitter.
315
+ if (key.delete && lastRawInputRef.current && (lastRawInputRef.current === '\x7f' || lastRawInputRef.current === '\b')) {
316
+ if (currentCursor > 0) {
317
+ const newInput = currentInput.slice(0, currentCursor - 1) + currentInput.slice(currentCursor);
318
+ setInput(newInput);
319
+ setCursorIndex(currentCursor - 1);
320
+ }
321
+ setSuggestionIndex(-1);
322
+ return;
323
+ }
324
+ if (key.delete) {
325
+ if (currentCursor < currentInput.length) {
326
+ const newInput = currentInput.slice(0, currentCursor) + currentInput.slice(currentCursor + 1);
327
+ setInput(newInput);
328
+ // cursorIndex unchanged
329
+ }
151
330
  setSuggestionIndex(-1);
152
331
  return;
153
332
  }
154
- // Regular character input
333
+ // ── Character input (cursor-aware) ────────────────────────────────────
155
334
  if (_input && !key.ctrl && !key.meta && !key.return && !key.tab && !key.escape && !key.upArrow && !key.downArrow && !key.leftArrow && !key.rightArrow && !key.backspace && !key.delete) {
156
- setInput(prev => prev + _input);
335
+ // Normalize Windows line endings (\r\n -> \n, \r -> \n) before storing
336
+ const normalizedInput = _input.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
337
+ const newInput = currentInput.slice(0, currentCursor) + normalizedInput + currentInput.slice(currentCursor);
338
+ setInput(newInput);
339
+ setCursorIndex(currentCursor + normalizedInput.length);
157
340
  setSuggestionIndex(-1);
158
- if (needsScroll)
159
- setInputScrollOffset(Math.max(0, inputLines - MAX_VISIBLE_ROWS));
160
341
  return;
161
342
  }
162
- // Shift+Enter = newline
163
- if (key.return && key.shift) {
164
- setInput(prev => prev + '\n');
343
+ // ── Shift+Enter / Alt+Enter = newline at cursor ──────────────────────
344
+ if (key.return && (key.shift || lastRawInputRef.current === '\x1b\r')) {
345
+ const newInput = currentInput.slice(0, currentCursor) + '\n' + currentInput.slice(currentCursor);
346
+ setInput(newInput);
347
+ setCursorIndex(currentCursor + 1);
165
348
  setSuggestionIndex(-1);
166
- if (needsScroll)
167
- setInputScrollOffset(Math.max(0, inputLines - MAX_VISIBLE_ROWS));
168
349
  return;
169
350
  }
170
- // Enter = send (when no suggestions OR when suggestions exist but we fall back here)
351
+ // ── Enter = send ──────────────────────────────────────────────────────
171
352
  if (key.return && currentInput.trim()) {
172
353
  onSubmit(currentInput);
173
354
  setHistory(prev => [currentInput, ...prev].slice(0, 100));
174
355
  setInput('');
356
+ setCursorIndex(0);
175
357
  setHistoryIndex(-1);
176
358
  setInputScrollOffset(0);
177
359
  setPendingImageLabel(null);
178
360
  setSuggestionIndex(-1);
179
361
  return;
180
362
  }
181
- // History navigation (only when no suggestions active)
182
- if (!hasSuggestions) {
183
- if (key.upArrow) {
363
+ // ── Up / Down arrows: multiline cursor navigation or history ──────────
364
+ if (key.upArrow) {
365
+ if (totalVisualLines > 1) {
366
+ // Move cursor up one visual line
367
+ const lines = computeVisualLines(currentInput, maxLineWidth);
368
+ const currentLineIdx = findVisualLine(lines, currentCursor);
369
+ if (currentLineIdx > 0) {
370
+ const targetCol = getCursorVisualColumn(currentCursor, lines);
371
+ const targetLine = lines[currentLineIdx - 1];
372
+ const newCursor = cursorIndexAtColumn(targetLine, targetCol);
373
+ setCursorIndex(newCursor);
374
+ }
375
+ }
376
+ else if (currentInput === '') {
377
+ // History navigation — only when input is empty and not multiline
184
378
  if (history.length > 0) {
185
379
  const newIndex = Math.min(historyIndex + 1, history.length - 1);
186
380
  setHistoryIndex(newIndex);
187
381
  setInput(history[newIndex]);
382
+ setCursorIndex(history[newIndex].length);
188
383
  setInputScrollOffset(0);
189
384
  }
190
- return;
191
385
  }
192
- if (key.downArrow) {
386
+ return;
387
+ }
388
+ if (key.downArrow) {
389
+ if (totalVisualLines > 1) {
390
+ // Move cursor down one visual line
391
+ const lines = computeVisualLines(currentInput, maxLineWidth);
392
+ const currentLineIdx = findVisualLine(lines, currentCursor);
393
+ if (currentLineIdx < lines.length - 1) {
394
+ const targetCol = getCursorVisualColumn(currentCursor, lines);
395
+ const targetLine = lines[currentLineIdx + 1];
396
+ const newCursor = cursorIndexAtColumn(targetLine, targetCol);
397
+ setCursorIndex(newCursor);
398
+ }
399
+ }
400
+ else if (currentInput === '') {
401
+ // History navigation — only when input is empty
193
402
  if (historyIndex > 0) {
194
403
  const newIndex = historyIndex - 1;
195
404
  setHistoryIndex(newIndex);
196
405
  setInput(history[newIndex]);
406
+ setCursorIndex(history[newIndex].length);
197
407
  setInputScrollOffset(0);
198
408
  }
199
409
  else {
200
410
  setHistoryIndex(-1);
201
411
  setInput('');
412
+ setCursorIndex(0);
202
413
  setInputScrollOffset(0);
203
414
  }
204
- return;
205
415
  }
416
+ return;
206
417
  }
207
- // Alt+V — paste image from clipboard
418
+ // ── Alt+V — paste image from clipboard ────────────────────────────────
208
419
  if (key.meta && _input === 'v') {
209
420
  handleImagePaste().catch(() => { });
210
421
  return;
211
422
  }
212
- // Ctrl+L clear, Ctrl+C exit
423
+ // ── Ctrl+L clear, Ctrl+C exit ─────────────────────────────────────────
213
424
  if (key.ctrl && _input === 'l') {
214
425
  onClear();
215
426
  }
@@ -217,40 +428,13 @@ export function InputBar({ onSubmit, disabled, onClear, onExit, isMasked, isSetu
217
428
  onExit();
218
429
  }
219
430
  });
220
- const displayText = isMasked && input.length > 0
221
- ? '•'.repeat(input.length)
222
- : input;
431
+ // ── Rendering ─────────────────────────────────────────────────────────────
223
432
  const colors = themeManager.getColors();
224
- // Split display text into visible lines for internal scroll (visual-width aware)
225
- const maxLineWidth = Math.max(1, terminalWidth - 6);
226
- const allLines = displayText.split('\n');
227
- const wrappedLines = [];
228
- for (const line of allLines) {
229
- if (line.length === 0) {
230
- wrappedLines.push('');
231
- }
232
- else {
233
- let current = '';
234
- let currentWidth = 0;
235
- for (const ch of line) {
236
- const cw = visualWidth(ch);
237
- if (currentWidth + cw > maxLineWidth) {
238
- wrappedLines.push(current);
239
- current = ch;
240
- currentWidth = cw;
241
- }
242
- else {
243
- current += ch;
244
- currentWidth += cw;
245
- }
246
- }
247
- if (current)
248
- wrappedLines.push(current);
249
- }
250
- }
433
+ // Compute visible slice of visual lines
251
434
  const visibleLines = needsScroll
252
- ? wrappedLines.slice(inputScrollOffset, inputScrollOffset + MAX_VISIBLE_ROWS)
253
- : wrappedLines;
435
+ ? visualLines.slice(inputScrollOffset, inputScrollOffset + MAX_VISIBLE_ROWS)
436
+ : visualLines;
437
+ const visibleStartOffset = needsScroll ? inputScrollOffset : 0;
254
438
  return (_jsxs(Box, { flexDirection: 'column', children: [suggestions.length > 0 && (_jsxs(Box, { flexDirection: 'column', marginLeft: 1, marginBottom: 0, children: [suggestions.slice(suggestionsScrollOffset, suggestionsScrollOffset + SUGGESTIONS_MAX_VISIBLE).map((cmd, i) => {
255
439
  const actualIndex = suggestionsScrollOffset + i;
256
440
  const isActive = actualIndex === suggestionIndex || (suggestionIndex < 0 && actualIndex === 0);
@@ -262,7 +446,21 @@ export function InputBar({ onSubmit, disabled, onClear, onExit, isMasked, isSetu
262
446
  : _jsx(Text, { children: " " }), _jsx(Text, { color: isActive ? colors.primary : colors.textMuted, children: cmd }), truncDesc ? _jsxs(Text, { dimColor: true, children: [" ", truncDesc] }) : null] }, cmd));
263
447
  }), suggestions.length > suggestionsScrollOffset + SUGGESTIONS_MAX_VISIBLE && (_jsxs(Text, { color: colors.textMuted, children: [" ...and ", suggestions.length - suggestionsScrollOffset - SUGGESTIONS_MAX_VISIBLE, " more"] }))] })), emptyHint && !input && (_jsx(Box, { marginLeft: 1, marginBottom: 0, children: _jsx(Text, { dimColor: true, children: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0438\u043B\u0438 /help \u0434\u043B\u044F \u0441\u043F\u0438\u0441\u043A\u0430 \u043A\u043E\u043C\u0430\u043D\u0434" }) })), _jsx(Box, { borderStyle: 'round', borderColor: colors.border, paddingX: 1, paddingY: 0, children: _jsxs(Box, { flexDirection: 'column', width: '100%', children: [input.length === 0 && !disabled
264
448
  ? (_jsxs(Box, { children: [_jsx(Text, { bold: true, color: colors.primary, children: '>' }), _jsx(Text, { color: colors.textMuted, children: " \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u0430\u043F\u0440\u043E\u0441..." }), _jsx(Text, { color: colors.primary, children: cursorVisible ? '▋' : ' ' })] }))
265
- : (visibleLines.map((line, i) => (_jsxs(Box, { children: [i === 0 && _jsx(Text, { bold: true, color: colors.primary, children: '>' }), i > 0 && _jsx(Text, { children: " " }), _jsx(Text, { color: colors.text, children: line || ' ' }), i === visibleLines.length - 1 && !disabled && (_jsx(Text, { color: colors.primary, children: cursorVisible ? '▋' : ' ' }))] }, i)))), pendingImageLabel && (_jsx(Box, { children: _jsx(Text, { color: colors.info, children: pendingImageLabel }) })), (input.length > 0 && !disabled) || needsScroll
449
+ : (visibleLines.map((line, i) => {
450
+ const actualVisualIdx = visibleStartOffset + i;
451
+ const isCursorLine = actualVisualIdx === cursorVisualLineIdx;
452
+ // Determine prefix: first visual line of the input gets '>', others get ' '
453
+ const prefix = actualVisualIdx === 0
454
+ ? _jsx(Text, { bold: true, color: colors.primary, children: '>' })
455
+ : _jsx(Text, { children: " " });
456
+ if (isCursorLine) {
457
+ const localOffset = cursorIndex - line.start;
458
+ const beforeCursor = line.text.slice(0, localOffset);
459
+ const afterCursor = line.text.slice(localOffset);
460
+ return (_jsxs(Box, { children: [prefix, _jsxs(Text, { color: colors.text, children: [beforeCursor, !disabled ? _jsx(Text, { color: colors.primary, children: cursorVisible ? '▋' : ' ' }) : null, afterCursor || ' '] })] }, actualVisualIdx));
461
+ }
462
+ return (_jsxs(Box, { children: [prefix, _jsx(Text, { color: colors.text, children: line.text || ' ' })] }, actualVisualIdx));
463
+ })), pendingImageLabel && (_jsx(Box, { children: _jsx(Text, { color: colors.info, children: pendingImageLabel }) })), (input.length > 0 && !disabled) || needsScroll
266
464
  ? (_jsxs(Box, { justifyContent: 'flex-end', children: [needsScroll && _jsx(Text, { color: colors.textMuted, children: "\u2191\u2193 " }), input.length > 0 && !disabled && (_jsx(Text, { color: colors.textMuted, children: "Enter \u2014 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C" }))] }))
267
465
  : null] }) })] }));
268
466
  }
@@ -1 +1 @@
1
- {"version":3,"file":"input-bar.js","sourceRoot":"","sources":["../../src/ui/input-bar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input-bar.js","sourceRoot":"","sources":["../../src/ui/input-bar.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serjm/deepseek-code",
3
- "version": "0.3.2",
3
+ "version": "0.4.1",
4
4
  "description": "AI-powered CLI agent for software development, powered by DeepSeek API",
5
5
  "bin": {
6
6
  "dsc": "dist/cli/index.js",
@@ -8,6 +8,7 @@
8
8
  },
9
9
  "files": [
10
10
  "dist",
11
+ "CHANGELOG.md",
11
12
  "README.md",
12
13
  "README.ru.md",
13
14
  "CONTRIBUTING.md"