import sys import os import time from simulation.sim_base import BaseSimulation, run_sim class ExecutionSimulation(BaseSimulation): def run(self): print("\n--- Running Execution & Modals Simulation ---") # 1. Trigger script generation msg = "Create a hello.ps1 script that prints 'Simulation Test' and execute it." print(f"[Sim] Sending message to trigger script: {msg}") self.sim.run_discussion_turn(msg) # 2. Wait for confirmation event print("[Sim] Waiting for confirmation event...") ev = self.client.wait_for_event("script_confirmation_required", timeout=45) assert ev is not None, "Expected script_confirmation_required event" print(f"[Sim] Event received: {ev}") # 3. Approve script print("[Sim] Approving script execution...") self.client.click("btn_approve_script") time.sleep(2) # 4. Verify output in history or status session = self.client.get_session() entries = session.get('session', {}).get('entries', []) # Tool outputs are usually in history success = any("Simulation Test" in e.get('content', '') for e in entries if e.get('role') in ['Tool', 'Function']) if success: print("[Sim] Output found in session history.") else: print("[Sim] Output NOT found in history yet, checking status...") # Maybe check ai_status status = self.client.get_value("ai_status") print(f"[Sim] Final Status: {status}") if __name__ == "__main__": run_sim(ExecutionSimulation)