From 0465d07a55bafda08f33caf2b721ed681424b61d Mon Sep 17 00:00:00 2001 From: scawful Date: Thu, 2 Oct 2025 01:01:19 -0400 Subject: [PATCH] feat: Add GUI automation client and test workflow generator - Implemented GuiAutomationClient for gRPC communication with the test harness. - Added methods for various GUI actions: Click, Type, Wait, Assert, and Screenshot. - Created TestWorkflowGenerator to convert natural language prompts into structured test workflows. - Enhanced HandleTestCommand to support new command-line arguments for GUI automation. - Updated CMakeLists.txt to include new source files for GUI automation and workflow generation. --- docs/z3ed/AGENT_TEST_QUICKREF.md | 344 ++++++++++++ docs/z3ed/E2E_VALIDATION_GUIDE.md | 613 +++++++++++++++++++++ docs/z3ed/IMPLEMENTATION_PROGRESS_OCT2.md | 345 ++++++++++++ docs/z3ed/README.md | 58 +- docs/z3ed/SESSION_SUMMARY_OCT2.md | 385 +++++++++++++ src/CMakeLists.txt | 2 + src/cli/handlers/agent.cc | 187 ++++--- src/cli/service/gui_automation_client.cc | 251 +++++++++ src/cli/service/gui_automation_client.h | 152 +++++ src/cli/service/test_workflow_generator.cc | 227 ++++++++ src/cli/service/test_workflow_generator.h | 106 ++++ 11 files changed, 2585 insertions(+), 85 deletions(-) create mode 100644 docs/z3ed/AGENT_TEST_QUICKREF.md create mode 100644 docs/z3ed/E2E_VALIDATION_GUIDE.md create mode 100644 docs/z3ed/IMPLEMENTATION_PROGRESS_OCT2.md create mode 100644 docs/z3ed/SESSION_SUMMARY_OCT2.md create mode 100644 src/cli/service/gui_automation_client.cc create mode 100644 src/cli/service/gui_automation_client.h create mode 100644 src/cli/service/test_workflow_generator.cc create mode 100644 src/cli/service/test_workflow_generator.h diff --git a/docs/z3ed/AGENT_TEST_QUICKREF.md b/docs/z3ed/AGENT_TEST_QUICKREF.md new file mode 100644 index 00000000..e8e46065 --- /dev/null +++ b/docs/z3ed/AGENT_TEST_QUICKREF.md @@ -0,0 +1,344 @@ +# z3ed Agent Test Command - Quick Reference + +**Last Updated**: October 2, 2025 +**Feature**: IT-02 CLI Agent Test Command + +--- + +## Command Syntax + +```bash +z3ed agent test --prompt "" \ + [--host ] \ + [--port ] \ + [--timeout ] +``` + +--- + +## Supported Prompts + +### 1. Open Editor +**Pattern**: "Open editor" +**Example**: `"Open Overworld editor"` +**Actions**: +- Click button → Wait for window + +```bash +z3ed agent test --prompt "Open Overworld editor" +z3ed agent test --prompt "Open Dungeon editor" +z3ed agent test --prompt "Open Sprite editor" +``` + +### 2. Open and Verify +**Pattern**: "Open and verify it loads" +**Example**: `"Open Dungeon editor and verify it loads"` +**Actions**: +- Click button → Wait for window → Assert visible + +```bash +z3ed agent test --prompt "Open Overworld editor and verify it loads" +z3ed agent test --prompt "Open Dungeon editor and verify it loads" +``` + +### 3. Click Button +**Pattern**: "Click