import sys, subprocess, time
from pathlib import Path
from PIL import Image, ImageChops
session, label, folder = sys.argv[1:]
folder = Path(folder)
folder.mkdir(parents=True, exist_ok=True)
for n in range(4):
    a, b = folder / f'{label}-{n}-a.png', folder / f'{label}-{n}-b.png'
    subprocess.run(['agent-device','screenshot',str(a),'--session',session] + [], check=True, capture_output=True)
    time.sleep(.5)
    subprocess.run(['agent-device','screenshot',str(b),'--session',session] + [], check=True, capture_output=True)
    if ImageChops.difference(Image.open(a).convert('RGB'),Image.open(b).convert('RGB')).getbbox() is None:
        print(b)
        break
else:
    raise RuntimeError('Screenshots did not stabilize')
