"""Ask the Vanna agent a question from the command line. Usage: python ask.py "Quantas vendas tivemos no último mês?" python ask.py --program-id --store-id "..." """ import argparse import asyncio from typing import Optional from agent import build_agent, local_request_context async def main(question: str, program_id: Optional[str], store_id: Optional[str]) -> None: agent = build_agent(program_id=program_id, store_id=store_id) rc = local_request_context() print(f"\n> {question}\n") async for component in agent.send_message( request_context=rc, message=question, conversation_id="cli-session", ): rich = getattr(component, "rich_component", None) simple = getattr(component, "simple_component", None) content = getattr(rich, "content", None) if rich else None if not content and simple is not None: content = getattr(simple, "text", None) if content: print(content) if __name__ == "__main__": parser = argparse.ArgumentParser(description="Ask the Vanna agent a question.") parser.add_argument("--program-id", dest="program_id", default=None) parser.add_argument("--store-id", dest="store_id", default=None) parser.add_argument("question", nargs="+") args = parser.parse_args() asyncio.run( main( question=" ".join(args.question), program_id=args.program_id, store_id=args.store_id, ) )