Coverage for mindsdb / api / a2a / __init__.py: 0%
13 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
1# A2A specific imports
2from mindsdb.api.a2a.common.types import (
3 AgentCard,
4 AgentCapabilities,
5 AgentSkill,
6)
7from mindsdb.api.a2a.common.server.server import A2AServer
8from mindsdb.api.a2a.task_manager import AgentTaskManager
9from mindsdb.api.a2a.agent import MindsDBAgent
10from mindsdb.utilities.config import config
13def get_a2a_app(
14 project_name: str = "mindsdb",
15):
16 mindsdb_port = config.get("api", {}).get("http", {}).get("port", 47334)
18 # Prepare A2A artefacts (agent card & task-manager)
19 capabilities = AgentCapabilities(streaming=True)
20 skill = AgentSkill(
21 id="mindsdb_query",
22 name="MindsDB Query",
23 description="Executes natural-language queries via MindsDB agents.",
24 tags=["database", "mindsdb", "query", "analytics"],
25 examples=[
26 "What trends exist in my sales data?",
27 "Generate insights from the support tickets dataset.",
28 ],
29 inputModes=MindsDBAgent.SUPPORTED_CONTENT_TYPES,
30 outputModes=MindsDBAgent.SUPPORTED_CONTENT_TYPES,
31 )
33 agent_card = AgentCard(
34 name="MindsDB Agent Connector",
35 description=(f"A2A connector that proxies requests to MindsDB agents in project '{project_name}'."),
36 url=f"http://127.0.0.1:{mindsdb_port}/a2a/",
37 version="1.0.0",
38 defaultInputModes=MindsDBAgent.SUPPORTED_CONTENT_TYPES,
39 defaultOutputModes=MindsDBAgent.SUPPORTED_CONTENT_TYPES,
40 capabilities=capabilities,
41 skills=[skill],
42 )
44 task_manager = AgentTaskManager(
45 project_name=project_name,
46 )
48 server = A2AServer(
49 agent_card=agent_card,
50 task_manager=task_manager,
51 )
52 return server.app