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 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