zames_pro 2.82.120 → 2.82.121

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/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.82.121] - 2026-10-24
11
+
12
+ ### Fixed
13
+
14
+ - **tui:** the input history stores the expanded paste, not its marker
15
+
10
16
  ## [2.82.120] - 2026-10-24
11
17
 
12
18
  ### Fixed
@@ -11,7 +11,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
11
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
12
12
  import { Box, Text, useInput, usePaste, useCursor, useWindowSize, useStdin, } from 'ink';
13
13
  import { translate } from '../i18n.js';
14
- import { inputInnerCols, layoutInput, SUGGEST_PAGE, } from '../input/layout.js';
14
+ import { expandPastes, inputInnerCols, layoutInput, SUGGEST_PAGE, } from '../input/layout.js';
15
15
  import { insertText, insertPaste, insertNewline, backspace, del, moveLeft, moveRight, moveHome, moveEnd, wordLeft, wordRight, deleteWordLeft, deleteWordRight, killToLineEnd, moveVisualRows, pushUndo, undoEdit, historyUp, historyDown, searchStart, searchNext, searchAccept, searchCancel, searchInput, searchBackspace, recordHistory, afterSubmit, } from './edit.js';
16
16
  import { dispatchKey, parseCsiU } from './keys.js';
17
17
  import { useSyncExternalStore } from 'react';
@@ -70,7 +70,12 @@ export function InputLine(props) {
70
70
  return;
71
71
  if (!s.buf.trim())
72
72
  return;
73
- const withHist = recordHistory(s, s.buf);
73
+ // Record the EXPANDED text in the history: the buffer holds a
74
+ // `[Pasted lines#N]` marker for a large paste, the adapter expands it from
75
+ // the paste list, and `afterSubmit` CLEARS that list. Storing the marker
76
+ // made a later Up recall send the literal marker (no body to expand).
77
+ const expanded = expandPastes(s.pastes, s.buf);
78
+ const withHist = recordHistory(s, expanded);
74
79
  const next = afterSubmit(withHist);
75
80
  setSt(next);
76
81
  props.onHistoryChange(withHist.history);
package/dist/tui/edit.js CHANGED
@@ -323,12 +323,18 @@ export function searchBackspace(s) {
323
323
  return s;
324
324
  return searchRefresh({ ...s, searchQuery: s.searchQuery.slice(0, -1) }, true);
325
325
  }
326
- /** Record a submitted message in the history (dedup the last one). */
326
+ /**
327
+ * Record a submitted message in the history (dedup the last one).
328
+ *
329
+ * `text` is the EXPANDED message (the caller resolves `[Pasted lines#N]`
330
+ * markers first): a marker stored as-is is recalled later into a buffer with
331
+ * no paste body behind it, and the literal marker is sent to the model.
332
+ */
327
333
  export function recordHistory(s, text) {
328
- if (!text.trim() || s.history[s.history.length - 1] === text) {
334
+ if (!String(text ?? '').trim() || s.history[s.history.length - 1] === text) {
329
335
  return { ...s, histIndex: s.history.length, histDraft: '' };
330
336
  }
331
- const history = s.history.concat(text);
337
+ const history = s.history.concat(String(text));
332
338
  return { ...s, history, histIndex: history.length, histDraft: '' };
333
339
  }
334
340
  /** Reset the buffer after a submit (keeps history/pastes cleared). */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zames_pro",
3
- "version": "2.82.120",
3
+ "version": "2.82.121",
4
4
  "description": "Terminal coding agent that drives a real browser to chat with DeepSeek, Qwen and other web LLMs — no API key required. Reads and edits files, runs commands, commits to git, like Claude Code / Codex CLI.",
5
5
  "type": "module",
6
6
  "bin": {