@deepwhale/coding-agent 1.0.11 → 1.0.13
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/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -3
- package/dist/index.js.map +1 -1
- package/dist/modes/tui.d.ts +0 -5
- package/dist/modes/tui.d.ts.map +1 -1
- package/dist/modes/tui.js +4 -57
- package/dist/modes/tui.js.map +1 -1
- package/dist/repl/repl-command-router.d.ts +78 -0
- package/dist/repl/repl-command-router.d.ts.map +1 -0
- package/dist/repl/repl-command-router.js +112 -0
- package/dist/repl/repl-command-router.js.map +1 -0
- package/dist/repl/repl-session.d.ts +79 -0
- package/dist/repl/repl-session.d.ts.map +1 -0
- package/dist/repl/repl-session.js +129 -0
- package/dist/repl/repl-session.js.map +1 -0
- package/dist/repl/repl-signal-coordinator.d.ts +74 -0
- package/dist/repl/repl-signal-coordinator.d.ts.map +1 -0
- package/dist/repl/repl-signal-coordinator.js +73 -0
- package/dist/repl/repl-signal-coordinator.js.map +1 -0
- package/dist/repl.d.ts +3 -40
- package/dist/repl.d.ts.map +1 -1
- package/dist/repl.js +59 -213
- package/dist/repl.js.map +1 -1
- package/dist/tui-ink-bundle.js +78 -595
- package/package.json +1 -1
package/dist/repl.js
CHANGED
|
@@ -22,15 +22,18 @@ import { stdin, stdout, stderr } from 'node:process';
|
|
|
22
22
|
import { t } from '@deepwhale/core';
|
|
23
23
|
import { SessionReader, SessionWriter } from '@deepwhale/core';
|
|
24
24
|
import { APIKeyMissingError, isLLMError, LLMAuthError, LLMNetworkError, LLMRateLimitError, LLMStreamError, LLMUnknownError, } from '@deepwhale/llm';
|
|
25
|
-
import { isToolLoopError, loadSession, persistToolLoopSteps, runToolLoop, runToolLoopWithCompaction,
|
|
25
|
+
import { isToolLoopError, loadSession, persistToolLoopSteps, runToolLoop, runToolLoopWithCompaction, ToolLoopLimitError, } from './agent/index.js';
|
|
26
26
|
import { CompactionState } from '@deepwhale/core';
|
|
27
27
|
import { createDefaultRegistry } from './tools/registry.js';
|
|
28
28
|
import { createDefaultClient } from './llm-factory.js';
|
|
29
|
-
import { buildSummaryAndNext, formatReport, runVerify } from './verify/index.js';
|
|
30
29
|
import { resolveSandboxRunnerFromEnv } from './sandbox/env-gate.js';
|
|
31
30
|
import { staticToolPolicy } from './policy/static-rules.js';
|
|
32
31
|
import { createReplConfirm } from './repl/repl-confirm.js'; // D-15: REPL y/N confirm 工厂
|
|
33
32
|
export { createReplConfirm } from './repl/repl-confirm.js'; // Sprint 1c-revive-2-D-24.2: re-export for tui-ink
|
|
33
|
+
import { createSignalCoordinator } from './repl/repl-signal-coordinator.js'; // D-29.1.1: SIGINT + turn AbortController 抽
|
|
34
|
+
import { appendUsageStatus } from './repl/repl-session.js'; // D-29.1.2: EMA state + usage status 抽
|
|
35
|
+
export { formatUsageStatus, appendUsageStatus } from './repl/repl-session.js'; // D-29.1.2: re-export 保公共 API 1:1
|
|
36
|
+
import { dispatchSlashBuiltin } from './repl/repl-command-router.js'; // D-29.1.3: slash builtin 派发抽 (1ceef94 + D-19.6.1 guard)
|
|
34
37
|
const VERSION = '0.1.0';
|
|
35
38
|
/**
|
|
36
39
|
* 单轮 chat 工具函数:把 user 输入 → LLM chat → 输出 assistant 文本。
|
|
@@ -206,7 +209,10 @@ export async function startRepl(options = {}) {
|
|
|
206
209
|
clearTimeout(exitTimer);
|
|
207
210
|
exitTimer = null;
|
|
208
211
|
}
|
|
209
|
-
|
|
212
|
+
// === Sprint 1c-revive-3-D-29.1.1 (2026-06-07): SIGINT 清理走 coordinator dispose() ===
|
|
213
|
+
// 红线 (D-19.5): off 必须在 rl.close() 之前, 否则 close 派发 'close' event 期间
|
|
214
|
+
// Ctrl+C 还能触达 onSigint 闭包. coordinator.dispose() 内部按此顺序处理, 幂等.
|
|
215
|
+
signalCoordinator.dispose();
|
|
210
216
|
rl.close();
|
|
211
217
|
if (writer) {
|
|
212
218
|
try {
|
|
@@ -242,39 +248,19 @@ export async function startRepl(options = {}) {
|
|
|
242
248
|
// 没有 in-flight turn 时直接 finish, 不需要兜底.
|
|
243
249
|
let exitTimer = null;
|
|
244
250
|
const lineQueue = [];
|
|
245
|
-
// === Sprint 1c-revive-3-D-
|
|
246
|
-
// 拍板 (D-
|
|
247
|
-
//
|
|
248
|
-
//
|
|
249
|
-
//
|
|
250
|
-
//
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
// turn SIGINT 之后, 下一个 turn 用新 controller + 重新挂 SIGINT (drain old handler).
|
|
255
|
-
let turnAbortController = new AbortController();
|
|
256
|
-
const onSigint = () => {
|
|
257
|
-
// Ctrl+C: dismiss in-flight confirm first (落 user_denied), 然后 abort turn.
|
|
258
|
-
// 拍板 (D-19): 进程不退出, 用户可继续. finish() 仍由 /exit 或 EOF 触发.
|
|
259
|
-
if (confirmController.hasPending()) {
|
|
260
|
-
confirmController.dismiss();
|
|
261
|
-
}
|
|
262
|
-
if (!turnAbortController.signal.aborted) {
|
|
263
|
-
turnAbortController.abort();
|
|
264
|
-
}
|
|
265
|
-
};
|
|
266
|
-
process.on('SIGINT', onSigint);
|
|
251
|
+
// === Sprint 1c-revive-3-D-29.1.1 (2026-06-07): SIGINT + turn AbortController 抽 ===
|
|
252
|
+
// 拍板 (D-29.1.1): signal-coordinator 持有 turnAbortController 闭包 + SIGINT listener
|
|
253
|
+
// 生命周期, repl.ts 通过 getSignal() / refresh() / abortIfActive() / dispose() 4 方法
|
|
254
|
+
// 跟它交互. 行为 1:1 等价 D-19 P1/P2 拍板: dismiss in-flight confirm 先 (落 user_denied
|
|
255
|
+
// 审计), 再 abort turn; 进程不退出, 用户可继续. dispose() 幂等, finish() 入口调
|
|
256
|
+
// (D-19.5 顺序红线: off 必须在 rl.close() 之前, coordinator 内部按此顺序处理).
|
|
257
|
+
const signalCoordinator = createSignalCoordinator({
|
|
258
|
+
confirmController,
|
|
259
|
+
});
|
|
267
260
|
rl.on('line', async (rawLine) => {
|
|
268
261
|
const line = rawLine.trim();
|
|
269
|
-
//
|
|
270
|
-
//
|
|
271
|
-
// resolver, 不能入 chat. 修 D-15 P1 (同流双 readline 抢同一行 → y 被当新 chat turn).
|
|
272
|
-
// === Sprint 1c-revive-3-D-19.5 (2026-06-05): 补 — confirm 期间 /exit 不入 chat, dismiss 兜底 ===
|
|
273
|
-
// 拍板 (D-19.5, user review 2026-06-05 P1): 旧逻辑 confirm 期间 /exit 走到下面
|
|
274
|
-
// /exit 分支直接 await finish(0), 但 confirm 还在 pending → finish 里 rl.close
|
|
275
|
-
// 后 confirm Promise 永远悬空 (跟 P2-dismiss 同源). 修法: confirm 期间 /exit 先
|
|
276
|
-
// dismiss confirm 再标记 pendingExit, finally 兜底 finish. 顺序: dismiss 先
|
|
277
|
-
// (让 runToolLoop 走 user_denied 审计), 再标 pendingExit.
|
|
262
|
+
// 拍板 (D-19 + D-19.5): 主 rl 是 stdin 唯一消费者, 确认期间 line 喂 confirm resolver.
|
|
263
|
+
// D-19.5 P2-dismiss 修: confirm 期间 /exit 先 dismiss confirm 再 pendingExit, finally 兜底.
|
|
278
264
|
if (confirmController.hasPending()) {
|
|
279
265
|
if (line === 'exit' || line === 'quit' || line === '/exit' || line === '/quit') {
|
|
280
266
|
confirmController.dismiss();
|
|
@@ -289,30 +275,10 @@ export async function startRepl(options = {}) {
|
|
|
289
275
|
return;
|
|
290
276
|
}
|
|
291
277
|
}
|
|
292
|
-
//
|
|
293
|
-
//
|
|
294
|
-
//
|
|
295
|
-
//
|
|
296
|
-
// 调 runVerify + 写 verification event, /help 写 out + prompt, /unknown
|
|
297
|
-
// 写 out + prompt, 都跟 in-flight chat turn 输出/session 交错, 违背
|
|
298
|
-
// "turn running 时下一行不进入 builtin/chat" 的 review 语义.
|
|
299
|
-
// === Sprint 1c-revive-3-D-19.6.1 (2026-06-05): Q2 修法 — 加 line.startsWith('/') 限制 ===
|
|
300
|
-
// 拍板 (D-19.6.1, user review 2026-06-05 P1.2): D-19.6 守卫条件缺 slash
|
|
301
|
-
// 限制, 普通 chat line 也会被 deny, 跟 D-19.5 lineQueue "只排 chat line"
|
|
302
|
-
// 红线冲突, 永远到不了 lineQueue. 修法: 加 `line.startsWith('/')` 限制, 只
|
|
303
|
-
// deny slash builtin. 普通 chat line 继续走 L408 lineQueue 排队 (D-19.5 拍板
|
|
304
|
-
// 不变). 守卫名改成"slash builtin guard"以反映新语义.
|
|
305
|
-
//
|
|
306
|
-
// 修复: turnInFlight 时, 除 /exit /quit /exit /quit /'' 之外的 **slash builtin**
|
|
307
|
-
// (/verify /help /unknown slash) 走 deny, 输出 i18n 提示
|
|
308
|
-
// (cli.turn_in_flight_deny) + prompt + return, 不入 lineQueue.
|
|
309
|
-
// 选择 deny 而非 defer, 因为 lineQueue 在 D-19.5 已有红线 (L407):
|
|
310
|
-
// "lineQueue 只排 chat line", defer 会让 finally drain 还要判 builtin vs chat.
|
|
311
|
-
//
|
|
312
|
-
// 位置红线: 必须 confirm 守卫 (L341-358) 之后, 内建命令 dispatcher (L373 起始)
|
|
313
|
-
// 之前. confirm 期间 /exit 走 dismiss+pendingExit (D-19.5 P1), 不应被本守卫拦.
|
|
314
|
-
// /exit /quit /exit /quit 走 fast-path (L378), 也不应被拦. 空行 L374 调
|
|
315
|
-
// prompt() 也不应被拦 (空行 ≠ 内建命令).
|
|
278
|
+
// 拍板 (D-19.6.1 + 6afccc8): slash builtin guard. turnInFlight 时除 /exit /quit
|
|
279
|
+
// 之外的 slash builtin (/verify /help /unknown) 走 deny, 不入 lineQueue.
|
|
280
|
+
// lineQueue 只排 chat line (D-19.5 红线), defer 会让 finally drain 还要判
|
|
281
|
+
// builtin vs chat. 位置: confirm 守卫后, 内建 dispatcher 前.
|
|
316
282
|
if (turnInFlight &&
|
|
317
283
|
line.startsWith('/') &&
|
|
318
284
|
line !== '/exit' &&
|
|
@@ -335,51 +301,21 @@ export async function startRepl(options = {}) {
|
|
|
335
301
|
await finish(0);
|
|
336
302
|
return;
|
|
337
303
|
}
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
const report = await runVerify(options.verifyChecks !== undefined ? { checks: options.verifyChecks } : {});
|
|
353
|
-
const filled = buildSummaryAndNext(report);
|
|
354
|
-
const text = formatReport({
|
|
355
|
-
...report,
|
|
356
|
-
summary: filled.summary,
|
|
357
|
-
nextSuggestedAction: filled.nextSuggestedAction,
|
|
358
|
-
});
|
|
359
|
-
out.write(`${text}\n`);
|
|
360
|
-
if (writer) {
|
|
361
|
-
// 写 verification event 到 session (跟 CLI 不同: REPL 用户有 session, 应该审计)
|
|
362
|
-
const failedCount = report.checks.filter((c) => c.status !== 'passed').length;
|
|
363
|
-
await appendVerificationEvent(writer, {
|
|
364
|
-
status: report.overallStatus,
|
|
365
|
-
durationMs: report.durationMs,
|
|
366
|
-
commandCount: report.checks.length,
|
|
367
|
-
failedCount,
|
|
368
|
-
summary: filled.summary,
|
|
369
|
-
});
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
catch (e) {
|
|
373
|
-
err.write(`error: verify failed to start: ${e instanceof Error ? e.message : String(e)}\n\n`);
|
|
374
|
-
}
|
|
375
|
-
prompt();
|
|
376
|
-
return;
|
|
377
|
-
}
|
|
378
|
-
if (line.startsWith('/')) {
|
|
379
|
-
out.write(`${t('cli.builtin_unknown', line)}\n`);
|
|
380
|
-
prompt();
|
|
304
|
+
// === Sprint 1c-revive-3-D-29.1.3 (2026-06-07): slash builtin 派发抽到 dispatchSlashBuiltin ===
|
|
305
|
+
// 拍板 (D-29.1.3): router 派发顺序保 1:1 (跟原 L434-481): /help → /verify → /unknown slash.
|
|
306
|
+
// 5 红线 0 改: turnInFlight guard (D-19.6.1 + 6afccc8) 仍在本函数 L409-418,
|
|
307
|
+
// /verify try/finally (1ceef94) 走 router 内部 try/catch 等价.
|
|
308
|
+
// confirm 期间 /exit dismiss (D-19.5 P2-dismiss) 仍在本函数 L370-373.
|
|
309
|
+
// /exit fast-path (D-19.5 P1) 走 L412 exclude, 不入 router.
|
|
310
|
+
const slashCtx = {
|
|
311
|
+
out,
|
|
312
|
+
err,
|
|
313
|
+
writer,
|
|
314
|
+
verifyChecks: options.verifyChecks,
|
|
315
|
+
prompt,
|
|
316
|
+
};
|
|
317
|
+
if ((await dispatchSlashBuiltin(line, slashCtx)).handled)
|
|
381
318
|
return;
|
|
382
|
-
}
|
|
383
319
|
// === Sprint 1c-revive-3-D-19.5 (2026-06-05): P1 turn guard — 排队 turnInFlight 期间 line ===
|
|
384
320
|
// 拍板 (D-19.5, user review 2026-06-05 P1): 旧逻辑紧跟 chat turn 的下一行 (紧贴
|
|
385
321
|
// y\n 或 turn 还没跑完时 stdin 排队的行) 立刻进 chat 分支, 用旧 workingMessages
|
|
@@ -392,14 +328,9 @@ export async function startRepl(options = {}) {
|
|
|
392
328
|
return;
|
|
393
329
|
}
|
|
394
330
|
turnInFlight = true;
|
|
395
|
-
// chat —
|
|
396
|
-
//
|
|
397
|
-
|
|
398
|
-
// Sprint 1c-revive-3-D-19 (2026-06-05): 续命 turnAbortController. 上一个 turn 已被
|
|
399
|
-
// SIGINT abort, 复用同一个 controller 第二次 abort 无效, new 一个新的. onSigint
|
|
400
|
-
// 闭包持有的是变量名 (let), 新 controller 一被赋值, 下次 SIGINT 自动 abort 新的,
|
|
401
|
-
// 不需要重建 handler. 红线: 不要 add 多份 SIGINT listener 重复触发.
|
|
402
|
-
turnAbortController = new AbortController();
|
|
331
|
+
// chat — client lazy 化 (D-11-4), refresh AbortController 走 signalCoordinator (D-29.1.1).
|
|
332
|
+
// 红线: 不要 add 多份 SIGINT listener (coordinator 内部 process.on 一次).
|
|
333
|
+
signalCoordinator.refresh();
|
|
403
334
|
const c = clientFromOptions ? { client: clientFromOptions, error: null } : tryCreateClient();
|
|
404
335
|
if (c.client === null) {
|
|
405
336
|
err.write(`${t('error.api_key_missing')}\n\n`);
|
|
@@ -410,11 +341,11 @@ export async function startRepl(options = {}) {
|
|
|
410
341
|
const liveClient = c.client;
|
|
411
342
|
try {
|
|
412
343
|
if (enableToolLoop) {
|
|
413
|
-
await runAgentTurn(liveClient, line, workingMessages, writer, out, err,
|
|
344
|
+
await runAgentTurn(liveClient, line, workingMessages, writer, out, err, signalCoordinator.getSignal(), compactionConfig, sandboxRunner, policyYes, replPolicy, // D-15: 注入 y/N confirm; 默认 staticToolPolicy 向后兼容
|
|
414
345
|
emaState);
|
|
415
346
|
}
|
|
416
347
|
else {
|
|
417
|
-
const turn = await runOneTurn(liveClient, line, [], { signal:
|
|
348
|
+
const turn = await runOneTurn(liveClient, line, [], { signal: signalCoordinator.getSignal() });
|
|
418
349
|
if (turn.kind === 'error') {
|
|
419
350
|
err.write(`${turn.error}\n\n`);
|
|
420
351
|
}
|
|
@@ -424,11 +355,9 @@ export async function startRepl(options = {}) {
|
|
|
424
355
|
}
|
|
425
356
|
}
|
|
426
357
|
finally {
|
|
427
|
-
//
|
|
428
|
-
//
|
|
429
|
-
//
|
|
430
|
-
// 3) 都 false → prompt 继续. 顺序: pendingExit 优先, 不然用户 /exit 后还跑排队行.
|
|
431
|
-
// 红线: finally 不能 return (no-unsafe-finally), 用 if/else if/else 链.
|
|
358
|
+
// 拍板 (D-19.5): pendingExit 优先 (走 finish, 丢弃排队) → drain 下一条
|
|
359
|
+
// (setImmediate 防同步递归爆栈) → prompt 继续. finally 不能 return
|
|
360
|
+
// (no-unsafe-finally), 用 if/else if/else 链.
|
|
432
361
|
turnInFlight = false;
|
|
433
362
|
if (pendingExit) {
|
|
434
363
|
pendingExit = false;
|
|
@@ -444,28 +373,14 @@ export async function startRepl(options = {}) {
|
|
|
444
373
|
}
|
|
445
374
|
});
|
|
446
375
|
rl.on('close', () => {
|
|
447
|
-
// stdin EOF
|
|
448
|
-
//
|
|
449
|
-
//
|
|
450
|
-
// 1) confirm 还在 pending → policy.confirm() Promise 永远不 resolve, turn 不会
|
|
451
|
-
// 走 finally, session 不会落 user_denied 审计.
|
|
452
|
-
// 2) turn 还在跑 → LLM stream / tool exec 还在 await, 进程表面已关但内部链未断.
|
|
453
|
-
// 修法: close 时先 dismiss pending confirm (resolve null → tool 走 user_denied 落审计),
|
|
454
|
-
// 再 abort turnAbortController 让 runAgentTurn 走 finally 收束. 顺序: dismiss 先于
|
|
455
|
-
// abort, 因为 confirm resolve 后 runToolLoop 才检查 signal, 调换会丢 audit 路径.
|
|
456
|
-
// === Sprint 1c-revive-3-D-19.6 (2026-06-05): P1 close-during-turn 收束 — 不再直接 finish() ===
|
|
457
|
-
// 拍板 (D-19.6, user review 2026-06-05 P1): dismiss + abort 之后, 老 finish() 立即
|
|
458
|
-
// 关 writer, 后续 turn 内部 writer.append (user_denied / 其它 audit event) 撞
|
|
459
|
-
// 'file closed' (stderr "Unexpected error: Error: file closed").
|
|
460
|
-
// 修复: 设 pendingExit=true 让 finally 块 (L490 附近) 兜底调 finish. 如果 in-flight
|
|
461
|
-
// turn 30s 内没 finally, exitTimer 触发 stderr warning (i18n) + 强制 finish.
|
|
462
|
-
// 红线: dismiss 先于 abort (D-19.5 P2-dismiss); finally 块 if/else if/else 链
|
|
463
|
-
// pendingExit 优先 (D-19.5 P1); exitTimer 仅 turnInFlight 时启动 (Q3=b).
|
|
376
|
+
// stdin EOF (管道/Ctrl-D) → 优雅退出.
|
|
377
|
+
// 红线 (D-19.5 P2-dismiss + D-19.6 P1): dismiss 先于 abort (audit 顺序),
|
|
378
|
+
// pendingExit 让 finally 兜底 finish, exitTimer 30s 兜底卡死 turn.
|
|
464
379
|
if (confirmController.hasPending()) {
|
|
465
380
|
confirmController.dismiss();
|
|
466
381
|
}
|
|
467
|
-
if (turnInFlight && !
|
|
468
|
-
|
|
382
|
+
if (turnInFlight && !signalCoordinator.getSignal().aborted) {
|
|
383
|
+
signalCoordinator.abortIfActive();
|
|
469
384
|
}
|
|
470
385
|
pendingExit = true;
|
|
471
386
|
if (turnInFlight) {
|
|
@@ -518,7 +433,7 @@ yes,
|
|
|
518
433
|
// staticToolPolicy 走 baseline). undefined = 默认 staticToolPolicy (向后兼容).
|
|
519
434
|
policy,
|
|
520
435
|
// Sprint 1c-revive-2-D-21.1 (2026-06-06, 修 cache 96%↔85% 跳变 footer 焦虑):
|
|
521
|
-
// EMA state 透传 (闭包持有). 旧 caller 不传 = 默认
|
|
436
|
+
// EMA state 透传 (闭包持有). 旧 caller 不传 = 默认 { sampleCount: 0 }, 行为兼容
|
|
522
437
|
// (不显示 avg 段). REPL 路径必传, 跨 turn 累积.
|
|
523
438
|
emaState) {
|
|
524
439
|
// 1) 持久化 user 输入
|
|
@@ -628,7 +543,9 @@ emaState) {
|
|
|
628
543
|
// Sprint 1c-revive-2-D-21.1 (2026-06-06, 修 cache 96%↔85% 跳变 footer 焦虑):
|
|
629
544
|
// 加 EMA 滚动平均 5-turn 平滑, 显示 "cache: 90% (avg 85%)". per-turn 数字
|
|
630
545
|
// 仍是真实值, avg 是过去 5 turn 平滑趋势. user 不会被单 turn 抖动骗.
|
|
631
|
-
|
|
546
|
+
// === Sprint 1c-revive-3-D-29.1.2 (2026-06-07): EMPTY_EMA 内联, repl-session.ts 内私有 ===
|
|
547
|
+
// 行为 1:1: 旧 EMPTY_EMA = { sampleCount: 0 }, 旧 caller 兜底 = 内联值保持.
|
|
548
|
+
appendUsageStatus(result.final.usage, err, emaState ?? { sampleCount: 0 });
|
|
632
549
|
}
|
|
633
550
|
function appendStepSummary(step, out, err) {
|
|
634
551
|
if (step.kind === 'tool') {
|
|
@@ -640,81 +557,10 @@ function appendStepSummary(step, out, err) {
|
|
|
640
557
|
}
|
|
641
558
|
// 'assistant' / 'limit' / 'error' 的 summary 留 Sprint 1b(不污染 Sprint 1a 验收面)
|
|
642
559
|
}
|
|
643
|
-
|
|
644
|
-
export
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
const { prompt_tokens, completion_tokens } = usage;
|
|
648
|
-
// 无 cached_tokens: 简版
|
|
649
|
-
if (usage.cached_tokens === undefined) {
|
|
650
|
-
return `usage: ${formatTokens(prompt_tokens)} prompt / ${formatTokens(completion_tokens)} completion`;
|
|
651
|
-
}
|
|
652
|
-
// 满 usage: 完整 status
|
|
653
|
-
const hitRatePct = ((usage.cache_hit_rate ?? 0) * 100).toFixed(0);
|
|
654
|
-
const uncached = formatTokens(usage.tokens_uncached ?? prompt_tokens);
|
|
655
|
-
// Sprint 1c-revive-2-D-21.1: EMA 平滑尾部段. sampleCount >= 3 才显示 avg
|
|
656
|
-
// (样本太少趋势不稳). 不更新 caller state, 只读 (state update 在
|
|
657
|
-
// appendUsageStatus, 这是纯函数好测).
|
|
658
|
-
const avgSegment = emaState.sampleCount >= 3 && emaState.hitRateEMA !== undefined
|
|
659
|
-
? ` (avg ${(emaState.hitRateEMA * 100).toFixed(0)}%)`
|
|
660
|
-
: '';
|
|
661
|
-
// Sprint 1b.5 Step 2.5 (F5 拍板, review 2026-06-03 找到): cost_turn/cost_currency 都 absent
|
|
662
|
-
// (R7 中间路径 / F4 保守) → 安静少显示字段, **不**显示 'cost ?'. 跟 1b 拍板 "absent 安静"
|
|
663
|
-
// 一致. user 视角看 'cost ?/turn' 是 'UI 不知道' 不是 '这次没算', 显示 '?' 反而误导.
|
|
664
|
-
if (usage.cost_turn === undefined || usage.cost_currency === undefined) {
|
|
665
|
-
return `cache: ${hitRatePct}%${avgSegment} | prompt ${formatTokens(prompt_tokens)} (${uncached} new)`;
|
|
666
|
-
}
|
|
667
|
-
// cost 字段齐: 读 cost_currency 决 symbol
|
|
668
|
-
const symbol = formatCostSymbol(usage.cost_currency);
|
|
669
|
-
const cost = usage.cost_turn; // narrowed by 上面 if guard (cost_turn !== undefined)
|
|
670
|
-
const costStr = cost < 0.01 ? `${symbol}${cost.toFixed(4)}` : `${symbol}${cost.toFixed(3)}`;
|
|
671
|
-
return `cache: ${hitRatePct}%${avgSegment} | ${costStr}/turn | prompt ${formatTokens(prompt_tokens)} (${uncached} new)`;
|
|
672
|
-
}
|
|
673
|
-
/** cost_currency → 显示 symbol. 不在 UI 层做汇率换算. */
|
|
674
|
-
function formatCostSymbol(currency) {
|
|
675
|
-
switch (currency) {
|
|
676
|
-
case 'CNY':
|
|
677
|
-
return '¥';
|
|
678
|
-
case 'USD':
|
|
679
|
-
return '$';
|
|
680
|
-
case undefined:
|
|
681
|
-
return '?';
|
|
682
|
-
}
|
|
683
|
-
}
|
|
684
|
-
function formatTokens(n) {
|
|
685
|
-
if (n >= 1000)
|
|
686
|
-
return `${(n / 1000).toFixed(1)}k`;
|
|
687
|
-
return String(n);
|
|
688
|
-
}
|
|
689
|
-
/**
|
|
690
|
-
* Sprint 1c-revive-2-D-21.1 (2026-06-06): emaState 接受 mutable 引用 (闭包),
|
|
691
|
-
* 在 sampleCount < 5 用 cold-start EMA (直接赋值), 之后 α=0.5 平滑:
|
|
692
|
-
* newEMA = α * current + (1 - α) * oldEMA = 0.5 * current + 0.5 * oldEMA
|
|
693
|
-
* α=0.5 是 "等权平滑" (5-turn 半衰期 ≈ 1 turn, 快速响应 + 适度平滑).
|
|
694
|
-
* 数学: sampleCount=5 时, 5 turn 前的数据权重 = 0.5^5 = 3.1% (基本忘掉),
|
|
695
|
-
* 跟 5-turn rolling window 趋势一致, 但 EMA 实现更轻.
|
|
696
|
-
*
|
|
697
|
-
* export 出来供单测 (test/unit/usage-ema.test.ts) 验证 state machine.
|
|
698
|
-
* 之前是 local function, D-21.1 改成 export — 单测需要直接调它验 in-place update.
|
|
699
|
-
*/
|
|
700
|
-
export function appendUsageStatus(usage, err, emaState) {
|
|
701
|
-
// 同步更新 EMA state (in-place). 调 formatUsageStatus 之前先 update,
|
|
702
|
-
// 防止 "刚 sample 1 个, display 当 turn 仍显示 sample 0 的 ema".
|
|
703
|
-
if (usage !== undefined && usage.cached_tokens !== undefined) {
|
|
704
|
-
const current = usage.cache_hit_rate ?? 0;
|
|
705
|
-
if (emaState.hitRateEMA === undefined) {
|
|
706
|
-
emaState.hitRateEMA = current;
|
|
707
|
-
}
|
|
708
|
-
else {
|
|
709
|
-
emaState.hitRateEMA = 0.5 * current + 0.5 * emaState.hitRateEMA;
|
|
710
|
-
}
|
|
711
|
-
emaState.sampleCount += 1;
|
|
712
|
-
}
|
|
713
|
-
const line = formatUsageStatus(usage, emaState);
|
|
714
|
-
if (line !== null) {
|
|
715
|
-
err.write(` ${line}\n`);
|
|
716
|
-
}
|
|
717
|
-
}
|
|
560
|
+
// === Sprint 1c-revive-3-D-29.1.2 (2026-06-07): UsageEmaState / formatUsageStatus / appendUsageStatus 抽到 repl-session.ts ===
|
|
561
|
+
// 公共 API re-export 在 L58-59 (跟 signal-coordinator re-export 形态对齐). 1:1 行为保:
|
|
562
|
+
// formatUsageStatus 输出字符串逐字保持, appendUsageStatus in-place update 顺序 (update ema →
|
|
563
|
+
// format → write) 保持. EMPTY_EMA 在 repl-session.ts 内私有, 旧 caller 兜底 = 内联 { sampleCount: 0 }.
|
|
718
564
|
function formatError(e) {
|
|
719
565
|
if (e instanceof APIKeyMissingError)
|
|
720
566
|
return t('error.api_key_missing');
|
package/dist/repl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
|