feat: 支持 agent 运行取消功能
This commit is contained in:
@@ -219,21 +219,24 @@ async def test_store_persists_router_step_output_for_cost_tracking(
|
||||
}
|
||||
)
|
||||
|
||||
append_kwargs = cast(dict[str, Any], captured["append_kwargs"])
|
||||
assert append_kwargs["seq"] == 11
|
||||
assert append_kwargs["content"] == ""
|
||||
assert append_kwargs["model_code"] == "doubao-seed-1-6-250615"
|
||||
assert append_kwargs["input_tokens"] == 12
|
||||
assert append_kwargs["output_tokens"] == 8
|
||||
assert append_kwargs["latency_ms"] == 320
|
||||
assert append_kwargs["cost"] == Decimal("0.01")
|
||||
assert append_kwargs["visibility_mask"] == 0
|
||||
|
||||
metadata = cast(dict[str, Any], append_kwargs["metadata"])
|
||||
assert sorted(metadata.keys()) == ["agent_type", "router_agent_output", "run_id"]
|
||||
assert metadata["agent_type"] == "router"
|
||||
assert metadata["router_agent_output"]["execution_mode"] == "tool_assisted"
|
||||
@pytest.mark.asyncio
|
||||
async def test_store_marks_session_failed_for_run_canceled_error(
|
||||
monkeypatch: pytest.MonkeyPatch,
|
||||
) -> None:
|
||||
captured: dict[str, object] = {}
|
||||
fake_chat_session = SimpleNamespace(state_snapshot={}, message_count=2)
|
||||
_patch_repositories(monkeypatch, captured, fake_chat_session)
|
||||
|
||||
assert captured["message_delta"] == 1
|
||||
assert captured["token_delta"] == 20
|
||||
assert captured["cost_delta"] == Decimal("0.01")
|
||||
store = store_module.SqlAlchemyEventStore(session_factory=lambda: _FakeSessionCtx())
|
||||
await store.persist(
|
||||
{
|
||||
"type": "RUN_ERROR",
|
||||
"threadId": "00000000-0000-0000-0000-000000000001",
|
||||
"runId": "run-cancel-1",
|
||||
"message": "run canceled by user",
|
||||
"code": "RUN_CANCELED",
|
||||
}
|
||||
)
|
||||
|
||||
assert captured["status"] == _SessionStatus.FAILED
|
||||
|
||||
Reference in New Issue
Block a user