zames_pro 2.21.2 → 2.23.0
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/dist/i18n.js +4 -0
- package/dist/input.js +9 -1
- package/dist/spinner.js +5 -0
- package/package.json +1 -1
package/dist/i18n.js
CHANGED
|
@@ -354,6 +354,10 @@ const CATALOG = {
|
|
|
354
354
|
ru: '⏳ пауза {n}с перед отправкой',
|
|
355
355
|
en: '⏳ pause {n}s before send',
|
|
356
356
|
},
|
|
357
|
+
'spinner.running_tool': {
|
|
358
|
+
ru: '⚙ выполняю {name}',
|
|
359
|
+
en: '⚙ running {name}',
|
|
360
|
+
},
|
|
357
361
|
'editor.more': { ru: '…ещё {n}', en: '…{n} more' },
|
|
358
362
|
'editor.answer': { ru: '● Ответ', en: '● Answer' },
|
|
359
363
|
// ---------- status ----------
|
package/dist/input.js
CHANGED
|
@@ -221,7 +221,9 @@ export function formatTokenStatus(tokens, limit = CONTEXT_LIMIT) {
|
|
|
221
221
|
}
|
|
222
222
|
const pct = Math.max(0, (n / limit) * 100);
|
|
223
223
|
const pctStr = pct >= 10 ? String(Math.round(pct)) : pct.toFixed(1);
|
|
224
|
-
|
|
224
|
+
// "ctx" marks this as the USED context size, so the operator does not have
|
|
225
|
+
// to guess what "302k · 30%" means.
|
|
226
|
+
return 'ctx ' + compact + ' · ' + pctStr + '%';
|
|
225
227
|
}
|
|
226
228
|
export class LineEditor {
|
|
227
229
|
promptStr;
|
|
@@ -759,8 +761,14 @@ export class LineEditor {
|
|
|
759
761
|
toolCall(name, args) {
|
|
760
762
|
const preview = safeJson(args).slice(0, 120);
|
|
761
763
|
this.printAbove(theme.tool('🔧 ' + name) + ' ' + theme.dim(preview));
|
|
764
|
+
// A tool may run for a long time (Bash, npm test, MCP). Without an active
|
|
765
|
+
// animation the operator sees a frozen screen and cannot tell work is in
|
|
766
|
+
// progress. Start the animated status AFTER printAbove (which stops the
|
|
767
|
+
// dots) and keep it running until toolResult()/assistant()/stop().
|
|
768
|
+
this._startAnimated(translate(this.locale)('spinner.running_tool', { name }));
|
|
762
769
|
}
|
|
763
770
|
toolResult(result) {
|
|
771
|
+
this.stop();
|
|
764
772
|
const text = typeof result === 'string' ? result : safeJson(result);
|
|
765
773
|
const preview = text.slice(0, 200).split(NL).join(' ↵ ');
|
|
766
774
|
this.printAbove(theme.toolResult(' → ' + preview));
|
package/dist/spinner.js
CHANGED
|
@@ -129,6 +129,11 @@ export function createSpinner(locale = 'ru') {
|
|
|
129
129
|
stop();
|
|
130
130
|
const preview = JSON.stringify(args).slice(0, 120);
|
|
131
131
|
console.log(theme.tool('🔧 ' + name), theme.dim(preview));
|
|
132
|
+
// Keep an animated status while the tool runs (Bash/npm/MCP can take a
|
|
133
|
+
// long time): the operator must see that work is in progress.
|
|
134
|
+
if (pending)
|
|
135
|
+
return;
|
|
136
|
+
startAnimated(translate(locale)('spinner.running_tool', { name }));
|
|
132
137
|
},
|
|
133
138
|
toolResult: (result) => {
|
|
134
139
|
stop();
|