2026-09-09 21:55:37 +08:00
|
|
|
from app.service.agent.bootstrap import get_agent_factory
|
|
|
|
|
from app.service.intent_classifier import IntentClassifier
|
|
|
|
|
from app.service.model_gateway import ModelGenerationService
|
|
|
|
|
from app.service.tool_executor import ToolExecutor
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_bootstrap_assembles_common_model_and_tool_services() -> None:
|
|
|
|
|
factory = get_agent_factory()
|
|
|
|
|
assert isinstance(factory._model_service, ModelGenerationService)
|
|
|
|
|
assert isinstance(factory._tool_executor, ToolExecutor)
|
|
|
|
|
assert isinstance(factory._intent_classifier, IntentClassifier)
|
|
|
|
|
assert factory._intent_endpoint_resolver is not None
|
|
|
|
|
assert factory._tool_executor.registry.get("check_suitability").read_only is True
|
2026-09-10 18:42:44 +08:00
|
|
|
knowledge_tool = factory._tool_executor.registry.get("query_knowledge")
|
|
|
|
|
assert knowledge_tool.required_permission == "knowledge:query"
|
|
|
|
|
assert knowledge_tool.allowed_roles == ("visitor", "customer")
|
|
|
|
|
assert knowledge_tool.read_only is True
|