zames_pro 2.82.57 → 2.82.59
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 +12 -0
- package/dist/commands.js +19 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.82.59] - 2026-10-23
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **commands:** /diffstat hides the padded no-output sentinel
|
|
15
|
+
|
|
16
|
+
## [2.82.58] - 2026-10-23
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- **commands:** keep a long answer in the restored dialogue instead of dropping it
|
|
21
|
+
|
|
10
22
|
## [2.82.57] - 2026-10-23
|
|
11
23
|
|
|
12
24
|
### Fixed
|
package/dist/commands.js
CHANGED
|
@@ -46,7 +46,10 @@ export function formatDiffStat(statText, opts = {}, t = translate('en')) {
|
|
|
46
46
|
.split(CR + NL)
|
|
47
47
|
.join(NL)
|
|
48
48
|
.trimEnd();
|
|
49
|
-
|
|
49
|
+
// Compare the TRIMMED text: the runner's sentinel reaches this function
|
|
50
|
+
// with its own padding, and a raw comparison then printed the internal
|
|
51
|
+
// marker to the operator (formatDiff already trims).
|
|
52
|
+
if (!trimmed || trimmed.trim() === '(command produced no output)') {
|
|
50
53
|
return t('diff.no_changes');
|
|
51
54
|
}
|
|
52
55
|
const lines = trimmed.split(NL);
|
|
@@ -397,6 +400,12 @@ export function resolveExtraDir(input, workdir, t = translate('en')) {
|
|
|
397
400
|
}
|
|
398
401
|
/** How many messages of the dialogue are printed by default. */
|
|
399
402
|
export const RESTORED_HISTORY_LIMIT = 20;
|
|
403
|
+
/**
|
|
404
|
+
* Longest restored message KEPT for display. The system prompt (leaked into
|
|
405
|
+
* history) is far bigger and is filtered by the noise checks below; a real
|
|
406
|
+
* answer above this size is shortened instead of being dropped.
|
|
407
|
+
*/
|
|
408
|
+
export const RESTORED_MESSAGE_MAX = 100_000;
|
|
400
409
|
/**
|
|
401
410
|
* DeepSeek stores the assistant turn VERBATIM: either a raw tool-call JSON
|
|
402
411
|
* ({"tool":"Read","args":{...}}, frequently dirty/truncated) or a `respond`
|
|
@@ -465,11 +474,17 @@ export function unescapeJsonString(s) {
|
|
|
465
474
|
* Returns null when the message must not be shown.
|
|
466
475
|
*/
|
|
467
476
|
export function normalizeRestoredMessage(m) {
|
|
468
|
-
|
|
477
|
+
let text = String((m && m.text) || '').trim();
|
|
469
478
|
if (!text)
|
|
470
479
|
return null;
|
|
471
|
-
|
|
472
|
-
|
|
480
|
+
// The size cap exists to keep a leaked SYSTEM PROMPT (or another giant
|
|
481
|
+
// protocol blob) out of the restored dialogue. It must NOT drop a real
|
|
482
|
+
// answer: a long report/diff/document easily exceeds the cap, and dropping
|
|
483
|
+
// it silently left the operator with a dialogue where the agent's own reply
|
|
484
|
+
// was missing. Keep such a message but shorten it for display.
|
|
485
|
+
if (text.length > RESTORED_MESSAGE_MAX) {
|
|
486
|
+
text = text.slice(0, RESTORED_MESSAGE_MAX) + '…';
|
|
487
|
+
}
|
|
473
488
|
if (m.role === 'user') {
|
|
474
489
|
if (/^Tool result for /.test(text))
|
|
475
490
|
return null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zames_pro",
|
|
3
|
-
"version": "2.82.
|
|
3
|
+
"version": "2.82.59",
|
|
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": {
|