terminator-mcp-agent 0.16.1 → 0.16.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +16 -14
  2. package/package.json +7 -6
package/README.md CHANGED
@@ -95,6 +95,9 @@ terminator mcp run workflow.yml --start-from "step_12" --end-at "step_13"
95
95
 
96
96
  # Run single step
97
97
  terminator mcp run workflow.yml --start-from "read_json" --end-at "read_json"
98
+
99
+ # Execute jumps at end boundary (by default jumps are skipped at --end-at-step)
100
+ terminator mcp run workflow.yml --end-at "step_5" --execute-jumps-at-end
98
101
  ```
99
102
 
100
103
  **Workflow File Formats:**
@@ -233,9 +236,9 @@ The Terminator MCP agent offers two primary workflows for automating desktop tas
233
236
  This is the most powerful and flexible method. You build a workflow step-by-step, using MCP tools to inspect the UI and refine your actions.
234
237
 
235
238
  1. **Inspect the UI**: Start by using `get_focused_window_tree` to understand the structure of your target application. This gives you the roles, names, and IDs of all elements. For performance optimization:
236
- - Use `include_tree: { max_depth: 2 }` to limit tree depth when you only need shallow inspection
237
- - Use `include_tree: { from_selector: "role:Dialog" }` to get subtree from a specific element
238
- - Use `include_tree: { from_selector: "true" }` to start from the currently focused element
239
+ - Use `tree_max_depth: 2` to limit tree depth when you only need shallow inspection
240
+ - Use `tree_from_selector: "role:Dialog"` to get subtree from a specific element
241
+ - Use `tree_from_selector: "true"` to start from the currently focused element
239
242
  2. **Build a Sequence**: Create an `execute_sequence` tool call with a series of actions (`click_element`, `type_into_element`, etc.). Use robust selectors (like `role|name` or stable `properties:AutomationId:value` selectors) whenever possible.
240
243
  3. **Capture the Final State**: Ensure the last step in your sequence is an action that returns a UI tree. The `wait_for_element` tool with `include_tree: true` is perfect for this, as it captures the application's state after your automation has run.
241
244
  4. **Extract Structured Data with `output_parser`**: Add the `output_parser` argument to your `execute_sequence` call. Write JavaScript code to parse the final UI tree and extract structured data. If successful, the tool result will contain a `parsed_output` field with your clean JSON data.
@@ -717,9 +720,9 @@ The virtual display manager creates a memory-based display context that satisfie
717
720
  - Implement delays between rapid operations
718
721
  - Consider using `include_tree: false` for intermediate steps
719
722
  - For tree extraction tools, optimize with:
720
- - `include_tree: { max_depth: 2 }` - Limit depth for large trees
721
- - `include_tree: { from_selector: "role:List" }` - Get subtree from specific element
722
- - `include_tree: { from_selector: "true" }` - Start from focused element
723
+ - `tree_max_depth: 2` - Limit depth for large trees
724
+ - `tree_from_selector: "role:List"` - Get subtree from specific element
725
+ - `tree_from_selector: "true"` - Start from focused element
723
726
 
724
727
  **JavaScript Performance**:
725
728
 
@@ -856,7 +859,8 @@ You can run specific portions of a workflow using `start_from_step` and `end_at_
856
859
  "url": "file://path/to/workflow.yml",
857
860
  "start_from_step": "read_json_file", // Start from this step ID
858
861
  "end_at_step": "fill_journal_entries", // Stop after this step (inclusive)
859
- "follow_fallback": false // Don't follow fallback_id beyond end_at_step (default: false)
862
+ "follow_fallback": false, // Don't follow fallback_id beyond end_at_step (default: false)
863
+ "execute_jumps_at_end": false // Don't execute jumps at end_at_step boundary (default: false)
860
864
  }
861
865
  }
862
866
  ```
@@ -867,6 +871,7 @@ You can run specific portions of a workflow using `start_from_step` and `end_at_
867
871
  - Run from step to end: Only set `start_from_step`
868
872
  - Run from beginning to step: Only set `end_at_step`
869
873
  - Debug without fallback: Use `follow_fallback: false` to prevent jumping to troubleshooting steps when a bounded step fails
874
+ - Allow jumps at boundary: Use `execute_jumps_at_end: true` to execute jump conditions even at the `end_at_step` boundary (by default, jumps are skipped at the boundary for predictable execution)
870
875
 
871
876
  #### Automatic State Persistence
872
877
 
@@ -907,19 +912,16 @@ steps:
907
912
  - tool_name: get_window_tree
908
913
  arguments:
909
914
  pid: 1234
910
- include_tree:
911
- max_depth: 2 # Only get 2 levels deep
915
+ tree_max_depth: 2 # Only get 2 levels deep
912
916
 
913
917
  - tool_name: get_focused_window_tree
914
918
  arguments:
915
- include_tree:
916
- from_selector: "role:Dialog" # Start tree from first dialog
917
- max_depth: 3 # Limit depth from that point
919
+ tree_from_selector: "role:Dialog" # Start tree from first dialog
920
+ tree_max_depth: 3 # Limit depth from that point
918
921
 
919
922
  - tool_name: get_focused_window_tree
920
923
  arguments:
921
- include_tree:
922
- from_selector: "true" # Start from focused element
924
+ tree_from_selector: "true" # Start from focused element
923
925
 
924
926
  # Backward compatible - still works
925
927
  - tool_name: get_window_tree
package/package.json CHANGED
@@ -3,7 +3,8 @@
3
3
  "terminator-mcp-agent": "index.js"
4
4
  },
5
5
  "dependencies": {
6
- "@modelcontextprotocol/sdk": "^1.17.3"
6
+ "@modelcontextprotocol/sdk": "^1.17.3",
7
+ "node-fetch": "^2.7.0"
7
8
  },
8
9
  "description": "Cross-platform Model Context Protocol (MCP) agent for Terminator",
9
10
  "engines": {
@@ -15,10 +16,10 @@
15
16
  ],
16
17
  "name": "terminator-mcp-agent",
17
18
  "optionalDependencies": {
18
- "terminator-mcp-darwin-arm64": "0.16.1",
19
- "terminator-mcp-darwin-x64": "0.16.1",
20
- "terminator-mcp-linux-x64-gnu": "0.16.1",
21
- "terminator-mcp-win32-x64-msvc": "0.16.1"
19
+ "terminator-mcp-darwin-arm64": "0.16.4",
20
+ "terminator-mcp-darwin-x64": "0.16.4",
21
+ "terminator-mcp-linux-x64-gnu": "0.16.4",
22
+ "terminator-mcp-win32-x64-msvc": "0.16.4"
22
23
  },
23
24
  "repository": {
24
25
  "type": "git",
@@ -30,5 +31,5 @@
30
31
  "sync-version": "node ./utils/sync-version.js",
31
32
  "update-badges": "node ./utils/update-badges.js"
32
33
  },
33
- "version": "0.16.1"
34
+ "version": "0.16.4"
34
35
  }