zames_pro 2.82.32 → 2.82.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.
- package/CHANGELOG.md +12 -0
- package/dist/commands.js +10 -1
- package/dist/i18n/self-review.js +1 -0
- package/dist/undo.js +6 -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.34] - 2026-10-22
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **undo:** report no backup when retention is zero
|
|
15
|
+
|
|
16
|
+
## [2.82.33] - 2026-10-22
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- **sessions:** show a distant future timestamp as future, not now
|
|
21
|
+
|
|
10
22
|
## [2.82.32] - 2026-10-22
|
|
11
23
|
|
|
12
24
|
### Fixed
|
package/dist/commands.js
CHANGED
|
@@ -182,7 +182,16 @@ export function formatRelativeTime(iso, t = translate('en'), now = Date.now()) {
|
|
|
182
182
|
const then = Date.parse(iso);
|
|
183
183
|
if (!Number.isFinite(then))
|
|
184
184
|
return '';
|
|
185
|
-
|
|
185
|
+
// A slightly future timestamp is CLOCK SKEW (a session file copied from a
|
|
186
|
+
// machine with a faster clock, a sub-second rounding) and reads "just now".
|
|
187
|
+
// A DISTANT future date (a corrupted `updatedAt`, a year-9999 value) must
|
|
188
|
+
// not pretend the session was updated now: say it is in the future.
|
|
189
|
+
const skew = now - then;
|
|
190
|
+
if (skew < -24 * 3600 * 1000) {
|
|
191
|
+
const ahead = Math.max(1, Math.floor(-skew / 86_400_000));
|
|
192
|
+
return t('time.in_future', { n: String(ahead) });
|
|
193
|
+
}
|
|
194
|
+
const diff = Math.max(0, skew);
|
|
186
195
|
const min = Math.floor(diff / 60_000);
|
|
187
196
|
if (min < 1)
|
|
188
197
|
return t('time.now');
|
package/dist/i18n/self-review.js
CHANGED
|
@@ -165,6 +165,7 @@ export const selfReviewMessages = {
|
|
|
165
165
|
'time.min_ago': { ru: '{n} мин назад', en: '{n}m ago' },
|
|
166
166
|
'time.hour_ago': { ru: '{n} ч назад', en: '{n}h ago' },
|
|
167
167
|
'time.day_ago': { ru: '{n} дн назад', en: '{n}d ago' },
|
|
168
|
+
'time.in_future': { ru: 'через {n} дн', en: 'in {n}d' },
|
|
168
169
|
'sessions.dir': { ru: 'Папка сессий: {v}', en: 'Sessions dir: {v}' },
|
|
169
170
|
'sessions.none': {
|
|
170
171
|
ru: 'Сохранённых сессий нет. Они появятся после первой задачи/чата.',
|
package/dist/undo.js
CHANGED
|
@@ -30,6 +30,12 @@ export class UndoStore {
|
|
|
30
30
|
async backup(filePath) {
|
|
31
31
|
if (!this.enabled)
|
|
32
32
|
return null;
|
|
33
|
+
// A retention of ZERO means "keep nothing": the record would be pushed and
|
|
34
|
+
// immediately shifted out (with its .bak unlinked) while the caller was
|
|
35
|
+
// told the backup happened — /undo then had nothing to revert. Report
|
|
36
|
+
// honestly that no backup was taken.
|
|
37
|
+
if (this.maxBackups <= 0)
|
|
38
|
+
return null;
|
|
33
39
|
await this._ensure();
|
|
34
40
|
let content = null;
|
|
35
41
|
let existed = false;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zames_pro",
|
|
3
|
-
"version": "2.82.
|
|
3
|
+
"version": "2.82.34",
|
|
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": {
|