on permission.asked/question.asked:
emit interrupt asked status
on permission.replied/question.replied/question.rejected:
clear internal pending request
if contract_enabled:
emit interrupt resolved status {
request_id: ...,
type: permission|question,
phase: resolved,
resolution: replied|rejected|approved|denied (as designed)
}
🔍 发现的问题 / 原始需求描述
permission.replied/question.replied/question.rejected)只会清理服务端内部 pending 状态,不会向下游显式外发一个 resolved 事件。4db00106a819e909275c9a0a655bace89ff2e88c。permission.asked或question.asked后展示中断 UI;当上游后续产生permission.replied/question.replied/question.rejected时,当前协议层不会给下游一个明确的“resolved”输出事件。🛠️ 详细实施方案 (必须包含涉及的文件路径和核心逻辑/伪代码)
/home/juanjuan/opencode-a2a-serve/src/opencode_a2a_serve/agent.py/home/juanjuan/opencode-a2a-serve/tests/test_streaming_output_contract.py/home/juanjuan/opencode-a2a-serve/docs/guide.mdTaskStatusUpdateEvent(final=false),并在metadata.shared.interrupt中增加例如phase=resolved/state=resolved一类的稳定字段。request_id可关联到同一次 interrupt。🧪 回归测试建议