zames_pro 2.82.83 → 2.82.85
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 +4 -0
- package/dist/index.js +3 -3
- package/dist/status-command.js +4 -1
- package/dist/undo.js +14 -0
- 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.85] - 2026-10-24
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **undo:** never print Invalid Date in /undo-list and /checkpoints
|
|
15
|
+
|
|
16
|
+
## [2.82.84] - 2026-10-24
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- **cost:** never print a negative context token count
|
|
21
|
+
|
|
10
22
|
## [2.82.83] - 2026-10-24
|
|
11
23
|
|
|
12
24
|
### Fixed
|
package/dist/commands.js
CHANGED
|
@@ -209,6 +209,10 @@ export function formatRelativeTime(iso, t = translate('en'), now = Date.now()) {
|
|
|
209
209
|
export function renderCost(stats, transcriptFile, tokenUsage = null, t = translate('en')) {
|
|
210
210
|
const lines = [];
|
|
211
211
|
lines.push(t('cost.title'));
|
|
212
|
+
// A NEGATIVE count is nonsense (a proxy build wrapping an int, a hand-edited
|
|
213
|
+
// history): printing `~-5 tokens` reads like a real measurement.
|
|
214
|
+
if (typeof tokenUsage === 'number' && tokenUsage < 0)
|
|
215
|
+
tokenUsage = null;
|
|
212
216
|
if (typeof tokenUsage === 'number') {
|
|
213
217
|
lines.push(t('cost.context_known', { n: String(tokenUsage) }));
|
|
214
218
|
}
|
package/dist/index.js
CHANGED
|
@@ -27,7 +27,7 @@ import { formatConfigList } from './config-commands.js';
|
|
|
27
27
|
import { handleConfigCommand as runConfigCommand } from './config-command.js';
|
|
28
28
|
import { translate, normalizeLocale, localeDisplayName, isLocale, } from './i18n.js';
|
|
29
29
|
import { Transcript } from './transcript.js';
|
|
30
|
-
import { UndoStore } from './undo.js';
|
|
30
|
+
import { UndoStore, undoDateLabel } from './undo.js';
|
|
31
31
|
import { CheckpointStore, pickRecord as pickCheckpoint, isFullStampSelector, } from './checkpoint.js';
|
|
32
32
|
import { selfReview, selfDiff, selfApply, selfList } from './self-review.js';
|
|
33
33
|
import { performCompact } from './compact.js';
|
|
@@ -3886,7 +3886,7 @@ async function main() {
|
|
|
3886
3886
|
}
|
|
3887
3887
|
else {
|
|
3888
3888
|
for (const r of list) {
|
|
3889
|
-
const stamp =
|
|
3889
|
+
const stamp = undoDateLabel(r.stamp);
|
|
3890
3890
|
const flag = r.existed ? t('undo.changed') : t('undo.created');
|
|
3891
3891
|
console.log(theme.system(`${stamp} [${flag}] ${r.originalPath}`));
|
|
3892
3892
|
}
|
|
@@ -3901,7 +3901,7 @@ async function main() {
|
|
|
3901
3901
|
else {
|
|
3902
3902
|
console.log(theme.system(t('rewind.list_title')));
|
|
3903
3903
|
list.forEach((r, i) => {
|
|
3904
|
-
const stamp =
|
|
3904
|
+
const stamp = undoDateLabel(r.stamp);
|
|
3905
3905
|
const label = r.label ? ' [' + t('rewind.label_backup') + ']' : '';
|
|
3906
3906
|
console.log(theme.system(` ${i + 1}. ${stamp} ${r.workdir}${label}`));
|
|
3907
3907
|
});
|
package/dist/status-command.js
CHANGED
|
@@ -30,8 +30,11 @@ export function formatStatus(s, t = translate('en')) {
|
|
|
30
30
|
lines.push(t('status.goal', { v: s.goal || none }));
|
|
31
31
|
lines.push(t('status.locale', { v: s.localeName }));
|
|
32
32
|
lines.push(t('status.mcp', { v: s.mcpToolCount === null ? none : s.mcpToolCount }));
|
|
33
|
+
// A NEGATIVE count is nonsense (a broken provider counter): show "unknown"
|
|
34
|
+
// rather than a number that reads like a real measurement.
|
|
35
|
+
const tokens = s.tokenUsage === null || s.tokenUsage < 0 ? null : s.tokenUsage;
|
|
33
36
|
lines.push(t('status.tokens', {
|
|
34
|
-
v:
|
|
37
|
+
v: tokens === null ? t('common.unknown') : tokens,
|
|
35
38
|
}));
|
|
36
39
|
return lines;
|
|
37
40
|
}
|
package/dist/undo.js
CHANGED
|
@@ -158,3 +158,17 @@ export class UndoStore {
|
|
|
158
158
|
return history.slice(-count).reverse();
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* A display date for an undo record. A record from an older format (no
|
|
163
|
+
* `stamp`) or a hand-edited index (`stamp: "oops"`) made
|
|
164
|
+
* `new Date(...).toLocaleString()` return the literal "Invalid Date", so
|
|
165
|
+
* /undo-list printed a broken row. PURE; exported for tests.
|
|
166
|
+
*/
|
|
167
|
+
export function undoDateLabel(stamp) {
|
|
168
|
+
const n = typeof stamp === 'number' ? stamp : Number(stamp);
|
|
169
|
+
if (!Number.isFinite(n) || n <= 0)
|
|
170
|
+
return '(unknown time)';
|
|
171
|
+
const d = new Date(n);
|
|
172
|
+
const label = d.toLocaleString();
|
|
173
|
+
return label.includes('Invalid') ? '(unknown time)' : label;
|
|
174
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zames_pro",
|
|
3
|
-
"version": "2.82.
|
|
3
|
+
"version": "2.82.85",
|
|
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": {
|