Co-authored-by: Antoine <33425718+anth2o@users.noreply.github.com>
Co-authored-by: Bastien <bastien.baret@gmail.com>
Co-authored-by: Clément Sirieix <clement.sirieix@mistral.ai>
Co-authored-by: Kim-Adeline Miguel <51720070+kimadeline@users.noreply.github.com>
Co-authored-by: Mathias Gesbert <mathias.gesbert@mistral.ai>
Co-authored-by: Maxime Dolores <maxime.dolores@ext.mistral.ai>
Co-authored-by: Michel Thomazo <51709227+michelTho@users.noreply.github.com>
Co-authored-by: Nelson PROIA <144663685+Nelson-PROIA@users.noreply.github.com>
Co-authored-by: Pierre Rossinès <pierre.rossines@mistral.ai>
Co-authored-by: Quentin <quentin.torroba@mistral.ai>
Co-authored-by: Robin Gullo <robin.gullo@mistral.ai>
Co-authored-by: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
Clément Drouin 2026-04-28 17:44:07 +02:00 committed by GitHub
parent a83c81ecf5
commit 632ea8c032
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
253 changed files with 13965 additions and 2525 deletions

View file

@ -173,6 +173,77 @@ class TestTurnSummaryTracker:
assert summary_msgs[1].content is not None
assert "do something" in summary_msgs[1].content
@pytest.mark.asyncio
async def test_end_turn_sends_secondary_call_metadata(self):
backend = FakeBackend(mock_llm_chunk(content="summary"))
tracker = TurnSummaryTracker(
backend=backend,
model=_TEST_MODEL,
session_metadata_getter=lambda: {
"agent_entrypoint": "cli",
"agent_version": "1.0.0",
"client_name": "vibe_cli",
"client_version": "1.0.0",
"session_id": "session-123",
},
)
tracker.start_turn("hello")
tracker.end_turn()
await asyncio.sleep(0.1)
metadata = backend.requests_metadata[0]
assert metadata is not None
assert metadata["agent_entrypoint"] == "cli"
assert metadata["agent_version"] == "1.0.0"
assert metadata["client_name"] == "vibe_cli"
assert metadata["client_version"] == "1.0.0"
assert metadata["session_id"] == "session-123"
assert "parent_session_id" not in metadata
assert metadata["call_source"] == "vibe_code"
assert metadata["call_type"] == "secondary_call"
@pytest.mark.asyncio
async def test_end_turn_sends_message_id_when_user_message_event_tracked(self):
backend = FakeBackend(mock_llm_chunk(content="summary"))
tracker = TurnSummaryTracker(
backend=backend,
model=_TEST_MODEL,
session_metadata_getter=lambda: {"session_id": "session-123"},
)
tracker.start_turn("hello")
tracker.track(UserMessageEvent(content="hello", message_id="message-456"))
tracker.end_turn()
await asyncio.sleep(0.1)
metadata = backend.requests_metadata[0]
assert metadata is not None
assert metadata["message_id"] == "message-456"
assert metadata["call_type"] == "secondary_call"
@pytest.mark.asyncio
async def test_end_turn_sends_parent_session_id_when_present(self):
backend = FakeBackend(mock_llm_chunk(content="summary"))
tracker = TurnSummaryTracker(
backend=backend,
model=_TEST_MODEL,
session_metadata_getter=lambda: {
"session_id": "session-123",
"parent_session_id": "parent-session-456",
},
)
tracker.start_turn("hello")
tracker.end_turn()
await asyncio.sleep(0.1)
metadata = backend.requests_metadata[0]
assert metadata is not None
assert metadata["session_id"] == "session-123"
assert metadata["parent_session_id"] == "parent-session-456"
assert metadata["call_type"] == "secondary_call"
@pytest.mark.asyncio
async def test_end_turn_clears_state(self):
backend = FakeBackend(mock_llm_chunk(content="summary"))