feat: add gesture sequences and calibrated pixel drags

This commit is contained in:
chenmingxuan committed 2026-11-02 11:53:27 +08:00
1 parent 2a3bbaa3fb
commit 479a185192
31 files changed
+2440 -44

No files matched your search

@@ -103,6 +103,9 @@ async def exec_action(
return False, f"MCP call failed: {e}"
action_item.update(execution="completed" if res.ok else "unknown", side_effect="possible")
action_item.update(res.metadata)
if res.metadata:
action_item["result"] = res.agent_message
expected = (
expected_input_state(wire_args["text"], wire_args["clear_exist"])
if tool_name == "input_text"
+3 -1
View File
@@ -384,7 +384,9 @@ async def run_validation_loop(node, state: State) -> dict:
execution: list[dict] = []
actions_to_execute = list(actions)
total_actions = len(actions_to_execute)
burst = total_actions > 1
burst = total_actions > 1 or any(
a.get("action") == "action_sequence" for a in actions_to_execute
)
if burst:
logger.info(
f"Fast-action burst: {total_actions} actions will fire back to back"
@@ -203,6 +203,8 @@ LONG_PRESS_TOOL = tool_declaration("long_press")
INPUT_TEXT_TOOL = tool_declaration("input_text")
SWIPE_TOOL = tool_declaration("swipe")
DRAG_TOOL = tool_declaration("drag")
ACTION_SEQUENCE_TOOL = tool_declaration("action_sequence")
PRESS_KEY_TOOL = tool_declaration("press_key")
@@ -299,6 +301,8 @@ VALIDATOR_TOOLS_DECLARATION: list[ToolDeclaration] = [
LONG_PRESS_TOOL,
INPUT_TEXT_TOOL,
SWIPE_TOOL,
DRAG_TOOL,
ACTION_SEQUENCE_TOOL,
PRESS_KEY_TOOL,
READ_NOTE_TOOL,
LIST_NOTES_TOOL,