refactor(bus): type outbound runtime events
This commit is contained in:
@@ -13,6 +13,7 @@ from nanobot.agent.tools.long_task import (
|
||||
CompleteGoalTool,
|
||||
LongTaskTool,
|
||||
)
|
||||
from nanobot.bus.outbound_events import GoalStateSyncEvent
|
||||
from nanobot.bus.queue import MessageBus
|
||||
from nanobot.bus.runtime_events import RuntimeEventBus
|
||||
from nanobot.session.goal_state import GOAL_STATE_KEY
|
||||
@@ -144,8 +145,8 @@ async def test_long_task_publishes_goal_state_ws_after_save(tmp_path):
|
||||
call = bus.publish_outbound.await_args.args[0]
|
||||
assert call.channel == "websocket"
|
||||
assert call.chat_id == "chat-99"
|
||||
assert call.metadata.get("_goal_state_sync") is True
|
||||
assert call.metadata["goal_state"] == {
|
||||
assert isinstance(call.event, GoalStateSyncEvent)
|
||||
assert call.event.goal_state == {
|
||||
"active": True,
|
||||
"ui_summary": "alpha",
|
||||
"objective": "Objective alpha",
|
||||
@@ -180,7 +181,8 @@ async def test_complete_goal_publishes_inactive_goal_state_ws(tmp_path):
|
||||
|
||||
bus.publish_outbound.assert_awaited_once()
|
||||
call = bus.publish_outbound.await_args.args[0]
|
||||
assert call.metadata["goal_state"] == {"active": False}
|
||||
assert isinstance(call.event, GoalStateSyncEvent)
|
||||
assert call.event.goal_state == {"active": False}
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
||||
Reference in New Issue
Block a user