zames_pro 2.82.31 → 2.82.33

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,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.33] - 2026-10-22
11
+
12
+ ### Fixed
13
+
14
+ - **sessions:** show a distant future timestamp as future, not now
15
+
16
+ ## [2.82.32] - 2026-10-22
17
+
18
+ ### Fixed
19
+
20
+ - **git:** split a comma-separated paths argument
21
+
10
22
  ## [2.82.31] - 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
- const diff = Math.max(0, now - then);
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/gitTools.js CHANGED
@@ -65,7 +65,10 @@ export function splitPaths(input) {
65
65
  quote = ch;
66
66
  continue;
67
67
  }
68
- if (ch === ' ' || ch === '\t' || ch === '\n') {
68
+ if (ch === ' ' || ch === '\t' || ch === '\n' || ch === ',') {
69
+ // A COMMA separates pathspecs too: models write lists the prose way
70
+ // (`"a.txt, b.txt"`), and leaving it on the first path made git look for
71
+ // a file whose name ends with a comma.
69
72
  if (cur)
70
73
  out.push(cur);
71
74
  cur = '';
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zames_pro",
3
- "version": "2.82.31",
3
+ "version": "2.82.33",
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": {