refactor: unify skills+cli runtime and streamline ag-ui flow
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import asyncio
|
||||
|
||||
from agentscope.agent import ReActAgent
|
||||
from agentscope.formatter import DashScopeChatFormatter
|
||||
from agentscope.memory import InMemoryMemory
|
||||
|
||||
from core.agentscope.tools.toolkit import build_toolkit
|
||||
|
||||
|
||||
class _DummyModel:
|
||||
stream = False
|
||||
|
||||
async def __call__(self, *args, **kwargs):
|
||||
raise RuntimeError("dummy model should not be called in this test")
|
||||
|
||||
|
||||
def test_react_agent_sys_prompt_includes_registered_skill_prompt() -> None:
|
||||
toolkit = build_toolkit(enabled_skill_names={"calendar", "contacts"})
|
||||
agent = ReActAgent(
|
||||
name="tester",
|
||||
sys_prompt="base prompt",
|
||||
model=_DummyModel(),
|
||||
formatter=DashScopeChatFormatter(),
|
||||
toolkit=toolkit,
|
||||
memory=InMemoryMemory(),
|
||||
)
|
||||
|
||||
prompt = agent.sys_prompt
|
||||
assert "base prompt" in prompt
|
||||
assert "# Agent Skills" in prompt
|
||||
assert "## calendar" in prompt
|
||||
assert "## contacts" in prompt
|
||||
assert "SKILL.md" in prompt
|
||||
|
||||
|
||||
def test_view_skill_file_tool_reads_registered_skill_content() -> None:
|
||||
toolkit = build_toolkit(enabled_skill_names={"calendar"})
|
||||
tool = toolkit.tools["view_skill_file"].original_func
|
||||
|
||||
response = asyncio.run(
|
||||
tool(file_path="calendar/SKILL.md", ranges=[1, 20]),
|
||||
)
|
||||
|
||||
assert response.content
|
||||
block = response.content[0]
|
||||
text = block["text"] if isinstance(block, dict) else block.text
|
||||
assert "Calendar Skill" in text or "name: calendar" in text
|
||||
Reference in New Issue
Block a user