feat: add event ordering and parent-child hierarchy

adds emission sequencing, parent-child event hierarchy with scope management, and integrates both into the event bus. introduces flush() for deterministic handling, resets emission counters for test isolation, and adds chain tracking via previous_event_id/triggered_by_event_id plus context variables populated during emit and listener execution. includes tracing listener typing/sorting improvements, safer tool event pairing with try/finally, additional stack checks and cache-hit formatting, context isolation fixes, cassette regen/decoding, and test updates to handle vcr race conditions and flaky behavior.
This commit is contained in:
Greyson LaLonde
2026-01-21 11:12:10 -05:00
committed by GitHub
parent 741bf12bf4
commit 7a65baeb9c
33 changed files with 4650 additions and 421 deletions

View File

@@ -304,6 +304,11 @@ def test_external_memory_search_events(
"from_agent": None,
"agent_role": None,
"agent_id": None,
"event_id": ANY,
"parent_event_id": None,
"previous_event_id": ANY,
"triggered_by_event_id": None,
"emission_sequence": ANY,
"query": "test value",
"limit": 3,
"score_threshold": 0.35,
@@ -321,6 +326,11 @@ def test_external_memory_search_events(
"from_agent": None,
"agent_role": None,
"agent_id": None,
"event_id": ANY,
"parent_event_id": ANY,
"previous_event_id": ANY,
"triggered_by_event_id": None,
"emission_sequence": ANY,
"query": "test value",
"results": [],
"limit": 3,
@@ -376,6 +386,11 @@ def test_external_memory_save_events(
"from_agent": None,
"agent_role": None,
"agent_id": None,
"event_id": ANY,
"parent_event_id": None,
"previous_event_id": ANY,
"triggered_by_event_id": None,
"emission_sequence": ANY,
"value": "saving value",
"metadata": {"task": "test_task"},
}
@@ -392,6 +407,11 @@ def test_external_memory_save_events(
"from_agent": None,
"agent_role": None,
"agent_id": None,
"event_id": ANY,
"parent_event_id": ANY,
"previous_event_id": ANY,
"triggered_by_event_id": None,
"emission_sequence": ANY,
"value": "saving value",
"metadata": {"task": "test_task"},
"save_time_ms": ANY,

View File

@@ -70,6 +70,11 @@ def test_long_term_memory_save_events(long_term_memory):
"from_agent": None,
"agent_role": "test_agent",
"agent_id": None,
"event_id": ANY,
"parent_event_id": None,
"previous_event_id": ANY,
"triggered_by_event_id": None,
"emission_sequence": ANY,
"value": "test_task",
"metadata": {"task": "test_task", "quality": 0.5},
}
@@ -85,6 +90,11 @@ def test_long_term_memory_save_events(long_term_memory):
"from_agent": None,
"agent_role": "test_agent",
"agent_id": None,
"event_id": ANY,
"parent_event_id": None,
"previous_event_id": ANY,
"triggered_by_event_id": None,
"emission_sequence": ANY,
"value": "test_task",
"metadata": {
"task": "test_task",
@@ -139,6 +149,11 @@ def test_long_term_memory_search_events(long_term_memory):
"from_agent": None,
"agent_role": None,
"agent_id": None,
"event_id": ANY,
"parent_event_id": None,
"previous_event_id": ANY,
"triggered_by_event_id": None,
"emission_sequence": ANY,
"query": "test query",
"limit": 5,
"score_threshold": None,
@@ -156,6 +171,11 @@ def test_long_term_memory_search_events(long_term_memory):
"from_agent": None,
"agent_role": None,
"agent_id": None,
"event_id": ANY,
"parent_event_id": ANY,
"previous_event_id": ANY,
"triggered_by_event_id": None,
"emission_sequence": ANY,
"query": "test query",
"results": None,
"limit": 5,

View File

@@ -81,6 +81,11 @@ def test_short_term_memory_search_events(short_term_memory):
"from_agent": None,
"agent_role": None,
"agent_id": None,
"event_id": ANY,
"parent_event_id": None,
"previous_event_id": ANY,
"triggered_by_event_id": None,
"emission_sequence": ANY,
"query": "test value",
"limit": 3,
"score_threshold": 0.35,
@@ -98,6 +103,11 @@ def test_short_term_memory_search_events(short_term_memory):
"from_agent": None,
"agent_role": None,
"agent_id": None,
"event_id": ANY,
"parent_event_id": None,
"previous_event_id": ANY,
"triggered_by_event_id": None,
"emission_sequence": ANY,
"query": "test value",
"results": [],
"limit": 3,
@@ -150,6 +160,11 @@ def test_short_term_memory_save_events(short_term_memory):
"from_agent": None,
"agent_role": None,
"agent_id": None,
"event_id": ANY,
"parent_event_id": None,
"previous_event_id": ANY,
"triggered_by_event_id": None,
"emission_sequence": ANY,
"value": "test value",
"metadata": {"task": "test_task"},
}
@@ -166,6 +181,11 @@ def test_short_term_memory_save_events(short_term_memory):
"from_agent": None,
"agent_role": None,
"agent_id": None,
"event_id": ANY,
"parent_event_id": None,
"previous_event_id": ANY,
"triggered_by_event_id": None,
"emission_sequence": ANY,
"value": "test value",
"metadata": {"task": "test_task"},
"save_time_ms": ANY,