fix: show tool parameters and skip duplicate calls
This commit is contained in:
@@ -162,10 +162,12 @@ def test_background_runs_survive_no_stream_and_isolate_parallel_events(session_f
|
||||
app.dependency_overrides.clear()
|
||||
|
||||
|
||||
def test_tool_record_redacts_text_and_secrets():
|
||||
saved = chat_api._safe_arguments({"project_id": 2, "query": "学生原文", "api_key": "secret", "comment": "敏感评语"})
|
||||
def test_tool_record_keeps_bounded_query_but_redacts_review_text_and_secrets():
|
||||
saved = chat_api._safe_arguments({"project_id": 2, "query": "电机控制", "api_key": "secret", "comment": "敏感评语"})
|
||||
assert saved["project_id"] == 2
|
||||
assert "学生原文" not in str(saved) and "secret" not in str(saved) and "敏感评语" not in str(saved)
|
||||
assert saved["query"] == "电机控制"
|
||||
assert "secret" not in str(saved) and "敏感评语" not in str(saved)
|
||||
assert len(chat_api._safe_arguments({"query": "a" * 500})["query"]) == 300
|
||||
assert "学生原文" not in chat_api._result_summary({"found": True, "citations": [{"quote": "学生原文"}]})
|
||||
assert "学生原文" not in str(chat_api._safe_result({"citations": [{"quote": "学生原文"}]}))
|
||||
search = chat_api._safe_result({"found": True, "citations": [{"title": "报告.pdf", "page": 48,
|
||||
@@ -180,7 +182,7 @@ def test_late_citations_and_search_snippets_survive_restoration(session_factory,
|
||||
if not any(message['role'] == 'tool' for message in messages):
|
||||
return {"role": "assistant", "content": None, "tool_calls": [
|
||||
{"id": f"find-{index}", "type": "function", "function": {"name": "search_project_material",
|
||||
"arguments": '{"project_id": 1, "query": "检索原文"}'}} for index in range(5)]}
|
||||
"arguments": f'{{"project_id": 1, "query": "检索原文{index}"}}'}} for index in range(5)]}
|
||||
return {"role": "assistant", "content": "综合报告第48页给出改进方向。", "tool_calls": []}
|
||||
|
||||
count = 0
|
||||
|
||||
Reference in New Issue
Block a user