{ "name": "timer_pause_resume", "presets": { "processes": [ { "name": "echoer", "argv": ["sh", "-lc", "while read line; do echo \"saw:$line\"; done"] } ] }, "trust": ["echoer"], "steps": [ { "type": "mcp_call", "method": "spawn_process", "params": {"kind": "command", "preset": "echoer", "name": "echoer"}, "save_as": "proc" }, { "type": "wait_stable", "timeout_ms": 1500 }, { "type": "mcp_call", "method": "timer_set", "params": { "seconds": 1, "body": "after-resume", "owner_process_id": "{{proc.process_id}}" }, "save_as": "tmr" }, { "type": "mcp_call", "method": "timer_pause", "params": {"timer_id": "{{tmr.timer_id}}"} }, { "type": "mcp_call", "method": "timer_list", "params": {"owner_process_id": "{{proc.process_id}}"}, "save_as": "listed" }, { "type": "assert_saved", "from": "listed", "path": "0.status", "equals": "paused" }, { "type": "mcp_call", "method": "timer_resume", "params": {"timer_id": "{{tmr.timer_id}}"} }, { "type": "wait_until_mcp", "method": "get_process_output", "params": {"process_id": "{{proc.process_id}}", "mode": "grid"}, "path": "content", "contains": "saw:after-resume", "allow_substring": true, "timeout_ms": 5000 } ] }