Skip to content

chore: align streaming contract metadata and remove dead helpers#261

Merged
liujuanjuan1984 merged 2 commits into
mainfrom
issue-259-streaming-contract-convergence
Mar 20, 2026
Merged

chore: align streaming contract metadata and remove dead helpers#261
liujuanjuan1984 merged 2 commits into
mainfrom
issue-259-streaming-contract-convergence

Conversation

@liujuanjuan1984
Copy link
Copy Markdown
Collaborator

关联

Closes #259
Closes #260
Related: #155, #158, #159, #246

变更概览

本 PR 聚焦两件事:

  1. 收敛 streaming shared metadata contract 与当前 runtime/documentation 的 drift,补齐 machine-readable contract。
  2. 在同一轮实现后,顺带清理已确认无调用、无框架隐式依赖的死代码包装层,避免继续增加维护噪音。

Streaming Contract

  • src/opencode_a2a_server/extension_contracts.py 中补齐 streaming extension params:
    • interrupt_fields.phase
    • interrupt_fields.resolution
    • session_fields.id
    • session_fields.title
    • usage_fields.reasoning_tokens
    • usage_fields.cache_tokens.read_tokens
    • usage_fields.cache_tokens.write_tokens
  • 新增 block_contracts,明确 text / reasoning / tool_call 的 block -> part kind 对应关系。
  • tool_call 增补 DataPart payload 字段契约,覆盖 call_idtoolstatustitlesubtitleinputoutputerror

测试与文档

  • 更新 tests/test_agent_card.py,直接断言 streaming extension params 的完整公开 shape,减少后续 drift 漏检。
  • 更新 docs/guide.md,让文档与 machine-readable contract 对齐,补充 tool_call payload、usage 扩展字段、interrupt resolution 和 part kind 语义。

死代码清理

  • 删除 src/opencode_a2a_server/app_support.py 中重复且无调用方的 _normalize_log_level() / _configure_logging()
  • 删除 src/opencode_a2a_server/extension_contracts.py 中无调用方的 build_supported_jsonrpc_methods() 包装函数。
  • 其余静态“无引用”候选已复核,主要属于类方法、pytest 测试函数、validator、框架回调或 monkeypatch 动态调用路径,未做机械删除。

验证

  • uv run pre-commit run --all-files
  • uv run pytest

审查结论

@liujuanjuan1984 liujuanjuan1984 marked this pull request as ready for review March 20, 2026 15:22
@liujuanjuan1984 liujuanjuan1984 merged commit fa4f2f9 into main Mar 20, 2026
3 checks passed
@liujuanjuan1984 liujuanjuan1984 deleted the issue-259-streaming-contract-convergence branch March 20, 2026 15:22
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.

[chore] 审查并清理全仓死代码 [chore] 收敛 streaming shared metadata contract 与 runtime/documentation drift

1 participant