Skip to content

fix(agent): 隔离 Pi RPC 控制响应与 Prompt 事件流 - #92

Open
yetuge wants to merge 1 commit into
helsome:mainfrom
yetuge:codex/fix-pi-rpc-control-response-isolation
Open

fix(agent): 隔离 Pi RPC 控制响应与 Prompt 事件流#92
yetuge wants to merge 1 commit into
helsome:mainfrom
yetuge:codex/fix-pi-rpc-control-response-isolation

Conversation

@yetuge

@yetuge yetuge commented Sep 12, 2026

Copy link
Copy Markdown

改动说明

修复 PiRpcClient 的 RPC 事件分流问题,避免控制命令响应或未知 ID 的过期响应串入唯一活跃 Prompt。

  • 将匹配的控制响应放在 Prompt 事件之前结算,并在处理后立即返回。
  • 控制响应返回 success: false 时正确拒绝对应控制请求。
  • 未命中 Prompt 请求 ID 的 type: 'response' 不再回退到唯一活跃 Prompt。
  • 保留普通 Agent 事件(包括无 ID 或使用消息/工具自身 ID 的事件)的单 Prompt 兼容回退。
  • 强化 abort 流测试,并增加未知 ID 响应与无 ID Agent 事件的回归测试。

关联 Issue

Closes #91

测试报告(正式审核前必填)

环境

  • Bun:1.3.10
  • OS:Windows NT 10.0.26100

实际执行命令与结果

bun test packages/shared/src/agent/pi-runtime-agent-backend.test.ts --isolate
→ 19 passed / 0 failed

bun test packages/shared/src/agent --isolate
→ 59 passed / 0 failed

bun run --filter @finagent/shared typecheck
→ exit 0

bun run typecheck
→ 全部 workspace exit 0

bun test --isolate
→ 967 passed / 384 failed / 8 skipped / 1 error

已知失败 / Baseline(如有)

全仓测试中的失败横跨 MarketDataService、registry、screening、JSON persistence、thesis、Langfuse、Massive provider、UI 等与本改动无关的模块,主要表现为全局 mock/共享测试环境耦合。本 PR 只修改 Pi RPC 内部事件分流及其测试;对应 focused test 和整个 agent 目录测试均全绿,shared 与全仓 typecheck 也全部通过。

本次未在干净的 origin/main 副本上执行完整基线对照,因此这里如实记录全仓结果,不将其描述为全仓测试通过。

  • 已提供实际测试命令与 pass/fail 结果
  • 已说明测试环境
  • 如果存在已知 baseline / 环境失败,已提供 main 对照或说明
  • 核心改动已有对应 focused test / smoke / integration 验证

UI 截图(涉及 UI 时必填)

  • 本 PR 不涉及 UI 变化
  • 已提供修改后的 UI 截图
  • 已提供 Before / After 对比截图(适用时)

Before(适用时)

不适用。

After

不适用。

Scope / 后续

本 PR 仅修复 Pi JSONL RPC 客户端内部的请求关联与事件隔离,不修改 Stream Event v1、renderer/UI、取消传输协议或公共 API。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Agent Runtime] 修复 Pi RPC 控制响应串入活跃 Prompt 事件流

1 participant