agim-cli 1.2.112 → 1.2.114

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
@@ -4,6 +4,78 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.2.114] - 2026-05-30
8
+
9
+ ### Fixed (web approval — serial-queue deadlock — REAL root cause)
10
+
11
+ - **真凶定位**:v1.2.113 修的是"卡片过期再点"路径,但用户反馈仍卡。日志诊断
12
+ 发现真正的死锁是 **`web/server.ts:1218` 的 `enqueueInbound = createSerialQueue()`
13
+ 把所有入站 WS 消息串行化**:
14
+ - 用户在 web 后台发了一条聊天 → 触发 native agent 跑 30 min(DeepSeek 长链
15
+ + 多次 tool call)
16
+ - 期间 native agent 调 `native_exec` → bus 创建 approval card 推给前端
17
+ - 前端用户点"批准" → WS 发 `approval-action` 到服务端
18
+ - 服务端的 `ws.on('message')` 把这条 click 排进 **同一个** `enqueueInbound`
19
+ 队列,可前面那条 chat 还在跑 `handleClientMessage`(未 await 完)
20
+ - **死锁**:agent 等批准 → 批准排队等 chat 跑完 → chat 跑到 30 min 硬超时被杀
21
+ → 队列才解锁 → click 终于送到 → 但 agent 已死
22
+ - 日志证据(17:22:54.652 同一毫秒批量进入):
23
+ ```
24
+ exec.refused.internal_url (SSRF guard 触发 abort)
25
+ native.turn.done finishReason=aborted elapsedMs=1821836 (30.36 min)
26
+ agent.invoke.end durationMs=1821864
27
+ approval.web.click_received apv:f75085f7...:a
28
+ approval.web.click_resolved
29
+ approval.web.click_received apv:be5f9787...:y
30
+ approval.web.click_resolved
31
+ ```
32
+ - 用户视觉看到的:"已发送,等待结果…"卡死 15 分钟,因为前端 `pendingChoice`
33
+ 被 set 后 `approval-card-edit` 永远不来。
34
+
35
+ - **修法(v1.2.114)**:`web/server.ts:1220` 的 `ws.on('message')` 先**就地 parse**
36
+ 一次 msg.type:
37
+ - `type === 'approval-action'` → 直接调用新提取的 `handleApprovalAction(msg)`,
38
+ **完全绕开 `enqueueInbound`**。click 是 agent 的 **unblocking input**,跟
39
+ chat input 没有 FIFO 顺序需求。
40
+ - 其它(`message` / `switch-agent` / `get-history` 等)→ 仍走 `enqueueInbound`,
41
+ 保持每客户端的 chat FIFO。
42
+
43
+ - **附带改动**:
44
+ - `core/approval-router.ts` 的 v1.2.113 `!info` 分支补一行
45
+ `approval.router.orphan_click_expired` info 日志,下次类似 bug 一秒可见。
46
+ - `test/unit/web-serial-queue.test.ts` 加 2 个新 case:
47
+ `approval-action runs while a slow chat handler is still in the queue` +
48
+ `chat-type messages still serialise vs each other`。再加上原有 1 个,
49
+ 共 3/3 全绿。
50
+
51
+ ### Affected paths
52
+
53
+ - `src/web/server.ts:1218-1310`:抽出 `handleApprovalAction` 函数 + 改写
54
+ `ws.on('message')` 调度
55
+ - `src/core/approval-router.ts:604-617`:新增 orphan_click_expired 日志
56
+ - `test/unit/web-serial-queue.test.ts`:3 个 case 全过
57
+
58
+ ## [1.2.113] - 2026-05-30
59
+
60
+ ### Fixed (web approval — orphan-click stuck card)
61
+
62
+ - **Web 后台审批卡片"已发送,等待结果..."卡死。** 复现:用户点击"自动放行"
63
+ 或"批准"按钮,UI 不更新,停在 pending 状态——但底层放行实际已经走了。根因在
64
+ `approval-router.handleButtonCallback` 的 `!info`(已过期)分支:原代码用
65
+ `activeCards.has(reqId)` 网关包住 `editApprovalCard`,两个真实路径会被它吞掉:
66
+ - (a) bus 自动 resolve(超时 / grace 到期)→ `onBusResolution` 已经触发了
67
+ 一次 editApprovalCard 并清空 activeCards,但如果那一刻 WS 断了,前端
68
+ `approval-card-edit` 事件被悄悄丢弃(server 端 `if (!ws.OPEN) return` 无重
69
+ 投)。卡片就僵在 pending;用户后续重连再点也无效——因为 activeCards 早空了。
70
+ - (b) agim 进程重启:新进程 pendingById / activeCards 都是空集,浏览器旧 tab
71
+ 上的卡片同样无路救活。
72
+ - 修法:`!info` 分支**总是**触发 editApprovalCard(用 cb.threadId + cb.messageId
73
+ ——这两个值是 platform 当下传过来的,可信)。Trade-off:极少数 race 下
74
+ (auto-allow grace 刚 fire 几 ms 后用户点"批准"),会把 "allowed" 卡片闪一下
75
+ 改成 "expired"——但"可见的闪动" ≪ "永远卡住",可接受。
76
+ - 回归测试 `src/core/approval-router.test.ts` 新增 3 个 case:orphan click 触发
77
+ editApprovalCard / 连点两次都触发 / messenger 无 editApprovalCard 时安全 no-op。
78
+
7
79
  ## [1.2.112] - 2026-05-29
8
80
 
9
81
  ### Added (native agent stability, batch P0c — gap ③ closed; full 7/7 done)
@@ -1 +1 @@
1
- {"version":3,"file":"approval-router.d.ts","sourceRoot":"","sources":["../../src/core/approval-router.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,gBAAgB,EAIjB,MAAM,YAAY,CAAA;AACnB,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EAGd,MAAM,mBAAmB,CAAA;AA+B1B;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAehE;AA6JD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAqBpE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,CAAA;IACpE;;;uEAGmE;IACnE,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAA;CACnC;AAeD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAiHlD;AAED,wBAAgB,SAAS,IAAI,IAAI,CAQhC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMnE;AAqCD;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAqCzE;AAyHD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;CAAE,GAAG,IAAI,CAUjG;AAkDD,6CAA6C;AAC7C,wBAAgB,YAAY,IAAI,OAAO,CAA8B"}
1
+ {"version":3,"file":"approval-router.d.ts","sourceRoot":"","sources":["../../src/core/approval-router.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,gBAAgB,EAIjB,MAAM,YAAY,CAAA;AACnB,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EAGd,MAAM,mBAAmB,CAAA;AA+B1B;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAehE;AA6JD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAqBpE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,CAAA;IACpE;;;uEAGmE;IACnE,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAA;CACnC;AAeD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAiHlD;AAED,wBAAgB,SAAS,IAAI,IAAI,CAQhC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMnE;AAqCD;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAqCzE;AAuID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;CAAE,GAAG,IAAI,CAUjG;AAkDD,6CAA6C;AAC7C,wBAAgB,YAAY,IAAI,OAAO,CAA8B"}
@@ -563,16 +563,30 @@ async function handleButtonCallback(platform, cb) {
563
563
  const info = approvalBus.resolvePendingByReqId(parsed.reqId, decision);
564
564
  if (!info) {
565
565
  await cb.ack('请求已过期或已被处理');
566
- // Race: if onBusResolution already handled this (auto-allow grace
567
- // expired, ran cleanup, edited the card to its terminal state — e.g.
568
- // 'allowed' or 'expired'), activeCards has already been pruned for
569
- // this reqId. Re-editing now would overwrite the correct terminal
570
- // state with 'expired' (e.g. an "allowed" card flips to "expired"
571
- // because the user clicked a few hundred ms after grace fired).
572
- // Skip the edit in that case the card already shows the truth.
573
- if (activeCards.has(parsed.reqId) && installed) {
566
+ // v1.2.113 ALWAYS fire editApprovalCard for the click's own card,
567
+ // not just when activeCards has the reqId. Two real-world paths hit
568
+ // this branch with activeCards empty:
569
+ // (a) bus auto-resolved (timeout / grace expired) onBusResolution
570
+ // ran editApprovalCard AND cleared activeCards. If the WS was
571
+ // disconnected at that moment the edit was silently dropped
572
+ // (`if (!ws.OPEN) return`, no retry)user's card stays in
573
+ // its pending state until they click, and previously a click
574
+ // in this state did NOTHING because the `activeCards.has`
575
+ // gate was false. The fix: fire `editApprovalCard` here so
576
+ // the user gets visible feedback ('已过期').
577
+ // (b) agim restarted while a browser tab had an open approval
578
+ // card. The new process's pendingById is empty, activeCards
579
+ // is empty — same dead-end as (a).
580
+ // Trade-off: in the rare race where auto-allow grace fired ms ago
581
+ // and the user clicks "approve" right after, we'll briefly flip
582
+ // an "allowed" card to "expired". Visible flip ≪ stuck forever.
583
+ if (installed) {
574
584
  const m = installed.resolveMessenger(platform);
575
585
  if (m?.editApprovalCard) {
586
+ log.info({
587
+ event: 'approval.router.orphan_click_expired',
588
+ platform, reqId: parsed.reqId, messageId: cb.messageId,
589
+ }, 'orphan click — bus had no pending; firing edit→expired so UI unsticks');
576
590
  await m.editApprovalCard(cb.threadId, cb.messageId, {
577
591
  decision: 'expired',
578
592
  atDate: new Date(),
@@ -580,8 +594,8 @@ async function handleButtonCallback(platform, cb) {
580
594
  log.warn({ event: 'approval.router.expire_edit_failed', err: String(err) });
581
595
  });
582
596
  }
583
- activeCards.delete(parsed.reqId);
584
597
  }
598
+ activeCards.delete(parsed.reqId);
585
599
  return;
586
600
  }
587
601
  const ackText = decision.behavior === 'allow'
@@ -1 +1 @@
1
- {"version":3,"file":"approval-router.js","sourceRoot":"","sources":["../../src/core/approval-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approval-router.js","sourceRoot":"","sources":["../../src/core/approval-router.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAyQA,wBAAgB,iBAAiB,IAAI,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAOrE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAspC/C"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AAyQA,wBAAgB,iBAAiB,IAAI,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAOrE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAmrC/C"}
@@ -1239,66 +1239,94 @@ export async function startWebServer(options) {
1239
1239
  // Load existing session history if available
1240
1240
  sendSessionHistory(ws, clientId, getDefaultAgent(options.defaultAgent));
1241
1241
  const enqueueInbound = createSerialQueue();
1242
+ // v1.2.114 — approval-action clicks MUST bypass the serial queue.
1243
+ //
1244
+ // Pre-fix: every inbound WS frame went through `enqueueInbound`, which
1245
+ // serialised everything against `handleClientMessage`. A chat message
1246
+ // kicked off an agent run that could run for the full 30-min hard
1247
+ // timeout; any approval-card click during that window was QUEUED
1248
+ // behind the still-running chat handler. Result: deadlock — agent
1249
+ // waits for approval, approval waits for agent. The clicks finally
1250
+ // drained the queue at minute 30 when the agent aborted, but by then
1251
+ // the run was dead and the user's card UI had been stuck at
1252
+ // "已发送,等待结果…" the whole time.
1253
+ //
1254
+ // Fix: parse the frame inline first; if it's an `approval-action`,
1255
+ // dispatch directly to the click handler (no queue). Approval clicks
1256
+ // are the agent's UNBLOCKING input — they have no ordering dependency
1257
+ // on chat input. All other types (chat, switch-agent, get-history,
1258
+ // …) still go through enqueueInbound to preserve their per-client
1259
+ // FIFO ordering.
1260
+ async function handleApprovalAction(msg) {
1261
+ const actionData = String(msg.data || '');
1262
+ const messageId = String(msg.messageId || '');
1263
+ // Use `client.id` (mutable; updated on session rekey) — not the
1264
+ // original `clientId` const — so the threadId we hand to the bus
1265
+ // matches the threadId the bus stamped on the pending approval
1266
+ // request. Without this, a session that was rekeyed via
1267
+ // `get-history` reports the stale id and the bus can't find the
1268
+ // open req to resolve.
1269
+ const liveId = client.id;
1270
+ webLog.info({
1271
+ event: 'approval.web.click_received',
1272
+ clientId: liveId, data: actionData, messageId,
1273
+ handlerBound: !!webButtonHandler,
1274
+ });
1275
+ if (!actionData || !messageId) {
1276
+ sendToClient(ws, { type: 'error', message: 'approval-action missing data/messageId' });
1277
+ return;
1278
+ }
1279
+ if (!webButtonHandler) {
1280
+ const why = 'approval handler not bound (router not installed?). Restart agim to rebind.';
1281
+ webLog.warn({ event: 'approval.web.no_handler', clientId: liveId, data: actionData, messageId }, why);
1282
+ sendToClient(ws, { type: 'error', message: why });
1283
+ return;
1284
+ }
1285
+ try {
1286
+ // Web client doesn't have a platform-native toast, so ack is a
1287
+ // no-op resolving to the in-page status the page itself chose
1288
+ // to render after click.
1289
+ await webButtonHandler({
1290
+ data: actionData, threadId: liveId, userId: `web:${liveId}`,
1291
+ userDisplay: 'Web', messageId, ack: async () => { },
1292
+ });
1293
+ webLog.info({ event: 'approval.web.click_resolved', clientId: liveId, data: actionData });
1294
+ }
1295
+ catch (err) {
1296
+ const errMsg = err instanceof Error ? err.message : String(err);
1297
+ webLog.error({ event: 'approval.web.click_failed', clientId: liveId, data: actionData, err: errMsg });
1298
+ sendToClient(ws, { type: 'error', message: `Approval click failed: ${errMsg}` });
1299
+ }
1300
+ }
1242
1301
  ws.on('message', (data) => {
1302
+ // Parse once, here, so we can route approval-action around the
1303
+ // serial queue. Bad JSON falls through to the error branch below
1304
+ // (we still need to surface a parse error to the client).
1305
+ let msg;
1306
+ try {
1307
+ msg = JSON.parse(data.toString());
1308
+ }
1309
+ catch (err) {
1310
+ webLog.error({ clientId: client.id, err: err instanceof Error ? err.message : String(err) }, 'Error parsing client message');
1311
+ sendToClient(ws, { type: 'error', message: 'Invalid message format' });
1312
+ return;
1313
+ }
1314
+ if (msg && typeof msg === 'object' && msg.type === 'approval-action') {
1315
+ // Fast path — bypass enqueueInbound. Errors are surfaced to the
1316
+ // client inside handleApprovalAction.
1317
+ void handleApprovalAction(msg);
1318
+ return;
1319
+ }
1243
1320
  enqueueInbound(async () => {
1244
1321
  try {
1245
- const msg = JSON.parse(data.toString());
1246
- // Approval-button click intercept. The user tapped an in-page
1247
- // approval card button; route it through the web messenger's
1248
- // button handler (registered by approval-router on install) the
1249
- // same way a Telegram inline-keyboard tap is routed. We don't
1250
- // call handleClientMessage for these — they're not chat input.
1251
- if (msg && msg.type === 'approval-action') {
1252
- const actionData = String(msg.data || '');
1253
- const messageId = String(msg.messageId || '');
1254
- // Use `client.id` (mutable; updated on session rekey) — not
1255
- // the original `clientId` const — so the threadId we hand
1256
- // to the bus matches the threadId the bus stamped on the
1257
- // pending approval request. Without this, a session that
1258
- // was rekeyed via `get-history` reports the stale id and
1259
- // the bus can't find the open req to resolve.
1260
- const liveId = client.id;
1261
- webLog.info({
1262
- event: 'approval.web.click_received',
1263
- clientId: liveId, data: actionData, messageId,
1264
- handlerBound: !!webButtonHandler,
1265
- });
1266
- if (!actionData || !messageId) {
1267
- sendToClient(ws, { type: 'error', message: 'approval-action missing data/messageId' });
1268
- return;
1269
- }
1270
- if (!webButtonHandler) {
1271
- // Without the handler, a click would silently no-op forever — the
1272
- // failure mode that PR-A's fix patches. Tell the user and the
1273
- // operator (via log) instead of dropping the click.
1274
- const why = 'approval handler not bound (router not installed?). Restart agim to rebind.';
1275
- webLog.warn({ event: 'approval.web.no_handler', clientId: liveId, data: actionData, messageId }, why);
1276
- sendToClient(ws, { type: 'error', message: why });
1277
- return;
1278
- }
1279
- try {
1280
- // Most messengers' ButtonCallback#ack updates a platform-native
1281
- // toast / loading spinner. The web client doesn't have one, so
1282
- // ack is a no-op resolving to the in-page status the page itself
1283
- // chose to render after click.
1284
- await webButtonHandler({
1285
- data: actionData, threadId: liveId, userId: `web:${liveId}`,
1286
- userDisplay: 'Web', messageId, ack: async () => { },
1287
- });
1288
- webLog.info({ event: 'approval.web.click_resolved', clientId: liveId, data: actionData });
1289
- }
1290
- catch (err) {
1291
- const errMsg = err instanceof Error ? err.message : String(err);
1292
- webLog.error({ event: 'approval.web.click_failed', clientId: liveId, data: actionData, err: errMsg });
1293
- sendToClient(ws, { type: 'error', message: `Approval click failed: ${errMsg}` });
1294
- }
1295
- return;
1296
- }
1297
1322
  // Pass an onRekey callback so handleClientMessage can keep
1298
1323
  // the `clients` map in sync when a browser refresh resumes
1299
1324
  // with its persisted threadId. Otherwise the map stays keyed
1300
1325
  // by the WS-assigned id, and the web messenger's outbound
1301
1326
  // approval-card lookup misses the live client.
1327
+ // handleClientMessage validates the message shape itself; we
1328
+ // pass the parsed value through as the typed shape it expects
1329
+ // (cast is safe because validation runs on the receiver side).
1302
1330
  await handleClientMessage(client, msg, getDefaultAgent(options.defaultAgent), (oldId, newId) => {
1303
1331
  // Only reassign if we actually owned `oldId` — defensive
1304
1332
  // against the (impossible-but-cheap-to-guard) case of two
@@ -1317,7 +1345,7 @@ export async function startWebServer(options) {
1317
1345
  }, tokenId, threadOwners);
1318
1346
  }
1319
1347
  catch (err) {
1320
- webLog.error({ clientId: client.id, err: err instanceof Error ? err.message : String(err) }, 'Error parsing client message');
1348
+ webLog.error({ clientId: client.id, err: err instanceof Error ? err.message : String(err) }, 'Error in client message handler');
1321
1349
  sendToClient(ws, { type: 'error', message: 'Invalid message format' });
1322
1350
  }
1323
1351
  });