import asyncio import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).parent.parent)) from agents.base_agent import AgentContext from agents.report_agent import ReportAgent from memory.graph_memory import GraphMemory from protocols.a2a_protocol import A2AProtocol from services.lancedb_service import LanceDBService from services.llm_service import LLMService from services.mongo_service import MongoService from services.neo4j_service import Neo4jService from services.vector_store_service import VectorStoreService async def main(): neo4j = Neo4jService() mongo = MongoService() llm = LLMService() embedder = VectorStoreService() vector_db = LanceDBService() ctx = AgentContext( job_id="test_report_only", doc_id="doc_65382c73", pdf_path="test_paper.pdf", neo4j=neo4j, mongo=mongo, llm=llm, embedder=embedder, graph_memory=GraphMemory(neo4j=neo4j, embedder=embedder, vector_db=vector_db), a2a=A2AProtocol(), ) ctx.vector_db = vector_db result = await ReportAgent().run(ctx) print("STATUS:", result.status.value, "| ERROR:", result.error) print("DATA keys:", list(result.data.keys()) if result.data else None) asyncio.run(main())