feat(agents,api): 一致性冲突一键采纳补丁对 original/replacement + SSE/契约透传
- Conflict schema 增 original/replacement(可缺):可局部修复时审稿提议精确补丁 - 续审 prompt 指示填逐字 original + 改后 replacement,不可定位则留空 - orchestrator SSE conflict 事件 + apps/api ReviewConflictView 透传两字段 - 重生成 TS 客户端 schema.d.ts;memory/contracts.md 记录契约变更(向后兼容) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -68,11 +68,24 @@ def conflict_event(
|
||||
where: str,
|
||||
refs: list[str],
|
||||
suggestion: str,
|
||||
original: str | None = None,
|
||||
replacement: str | None = None,
|
||||
) -> SseEvent:
|
||||
"""冲突命中事件(§7.3 `conflict`)——形对齐 C6 `Conflict`,供正文就地朱砂标注。"""
|
||||
"""冲突命中事件(§7.3 `conflict`)——形对齐 C6 `Conflict`,供正文就地朱砂标注。
|
||||
|
||||
`original`/`replacement` 为可选一键采纳补丁对:可局部修复时由审稿提议,
|
||||
前端「采纳改法」据此把 original→replacement find-replace 进终稿(不可定位则为 None)。
|
||||
"""
|
||||
return SseEvent(
|
||||
event=EVENT_CONFLICT,
|
||||
data={"type": type, "where": where, "refs": refs, "suggestion": suggestion},
|
||||
data={
|
||||
"type": type,
|
||||
"where": where,
|
||||
"refs": refs,
|
||||
"suggestion": suggestion,
|
||||
"original": original,
|
||||
"replacement": replacement,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -180,6 +193,8 @@ def _section_result_events(name: str, result: dict[str, Any]) -> list[SseEvent]:
|
||||
where=conflict.get("where", ""),
|
||||
refs=list(conflict.get("refs") or []),
|
||||
suggestion=conflict.get("suggestion", ""),
|
||||
original=conflict.get("original"),
|
||||
replacement=conflict.get("replacement"),
|
||||
)
|
||||
)
|
||||
elif name == FORESHADOW:
|
||||
|
||||
Reference in New Issue
Block a user