import asyncio from agent import Agent from llm.bedrock_client import BedrockClient from mcp.client import MCPClient async def main(): print("\n==============================") print(" JARVIS START") print("==============================\n") # ๐Ÿง  LLM (AWS Bedrock Nova) llm = BedrockClient() # ๐Ÿค– Agent agent = Agent(llm) # ๐Ÿ”Œ MCP CONNECT (OpenHAB Remote) await agent.mcp.connect() # ๐Ÿง  Tools laden await agent.load_tools() print("\n[JARVIS] System bereit. Tippe 'exit' zum Beenden.\n") while True: try: user_input = input("Du: ").strip() if user_input.lower() in ["exit", "quit"]: break if not user_input: continue response = await agent.run(user_input) print(f"\nJARVIS: {response}\n") except KeyboardInterrupt: break except Exception as e: print(f"\n[ERROR] {e}\n") # ๐Ÿงน Cleanup try: await agent.mcp.close() except: pass print("\n[JARVIS] Shutdown abgeschlossen.")