feat(ui,api,admin): sveltekit admin spa, usage by day/agent/conversation/model, rate limits, memory tree, turn snapshot
This commit is contained in:
@@ -689,14 +689,17 @@ def test_agent_kinds_follow_prompts(tmp_path: Path) -> None:
|
||||
|
||||
async def test_observer_publishes_tool_results_for_the_panel(world: World) -> None:
|
||||
seen: list[dict[str, Any]] = []
|
||||
conv = await world.conversations.create(kind="master", agent="a", origin="test")
|
||||
|
||||
async def collect() -> None:
|
||||
async for event in world.bus.stream(conversation_id="c1"):
|
||||
async for event in world.bus.stream(conversation_id=conv.external_id):
|
||||
seen.append(event)
|
||||
|
||||
task = asyncio.create_task(collect())
|
||||
await asyncio.sleep(0)
|
||||
observe = world.conversations._observer("c1", "t1", "user")
|
||||
runner = world.conversations._runner(conv.id)
|
||||
runner.turn_id = "t1"
|
||||
observe = world.conversations._observer(conv, runner, "t1", "user")
|
||||
observe(
|
||||
AssistantMessage(
|
||||
content=[ToolUseBlock(id="toolu_1", name="Bash", input={"command": "ls"})],
|
||||
@@ -718,6 +721,8 @@ async def test_observer_publishes_tool_results_for_the_panel(world: World) -> No
|
||||
assert [e["type"] for e in seen] == ["tool", "tool.result"]
|
||||
tool, result = seen
|
||||
assert tool["tool_use_id"] == "toolu_1" and tool["parent_tool_use_id"] == "toolu_0"
|
||||
snapshot = runner.snapshot()
|
||||
assert snapshot is not None and snapshot["tools"][0]["content"] == "a\nb"
|
||||
assert result["tool_use_id"] == "toolu_1"
|
||||
assert result["parent_tool_use_id"] == "toolu_0"
|
||||
assert result["turn_id"] == "t1" and result["is_error"] is False
|
||||
|
||||
Reference in New Issue
Block a user