mcp-baepsae 6.1.1 → 6.3.0

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 (38) hide show
  1. package/README-KR.md +23 -4
  2. package/README.md +24 -4
  3. package/bundled/baepsae-native +0 -0
  4. package/dist/tool-manifest.d.ts.map +1 -1
  5. package/dist/tool-manifest.js +12 -0
  6. package/dist/tool-manifest.js.map +1 -1
  7. package/dist/tools/input.d.ts.map +1 -1
  8. package/dist/tools/input.js +18 -4
  9. package/dist/tools/input.js.map +1 -1
  10. package/dist/tools/media.d.ts.map +1 -1
  11. package/dist/tools/media.js +103 -4
  12. package/dist/tools/media.js.map +1 -1
  13. package/dist/tools/system.d.ts.map +1 -1
  14. package/dist/tools/system.js +52 -0
  15. package/dist/tools/system.js.map +1 -1
  16. package/dist/tools/ui.d.ts.map +1 -1
  17. package/dist/tools/ui.js +126 -7
  18. package/dist/tools/ui.js.map +1 -1
  19. package/dist/utils.d.ts +9 -2
  20. package/dist/utils.d.ts.map +1 -1
  21. package/dist/utils.js +57 -2
  22. package/dist/utils.js.map +1 -1
  23. package/dist/version.d.ts +1 -1
  24. package/dist/version.js +1 -1
  25. package/native/Sources/Commands/InputCommands.swift +19 -18
  26. package/native/Sources/Commands/InputSourceCommands.swift +80 -0
  27. package/native/Sources/Commands/SystemCommands.swift +371 -23
  28. package/native/Sources/Commands/UICommands.swift +472 -39
  29. package/native/Sources/Commands/WindowCommands.swift +1 -1
  30. package/native/Sources/Utils.swift +352 -43
  31. package/native/Sources/Version.swift +1 -1
  32. package/native/Sources/main.swift +44 -0
  33. package/package.json +6 -1
  34. package/scripts/dump-tabbar-actions.mjs +312 -0
  35. package/scripts/research-coordinate-calibration.mjs +276 -0
  36. package/scripts/research-input-channels.mjs +327 -0
  37. package/scripts/research-tap-tab-grid.mjs +271 -0
  38. package/scripts/verify-media-capture.mjs +99 -0
package/README-KR.md CHANGED
@@ -238,7 +238,7 @@ npm run setup:mcp # scripts/install.sh 실행 alias
238
238
 
239
239
  ## MCP 도구 구현 상태
240
240
 
241
- 35개 도구가 end-to-end 구현 완료되었습니다.
241
+ 43개 도구가 end-to-end 구현 완료되었습니다.
242
242
 
243
243
  ### 공식 공개 MCP 표면: unified generic tools
244
244
 
@@ -246,10 +246,10 @@ npm run setup:mcp # scripts/install.sh 실행 alias
246
246
 
247
247
  | 분류 | 도구 |
248
248
  |---|---|
249
- | UI | `analyze_ui`, `query_ui`, `tap`, `tap_tab`, `type_text`, `swipe`, `scroll`, `drag_drop` |
250
- | Input | `key`, `key_sequence`, `key_combo`, `touch` |
249
+ | UI | `analyze_ui`, `query_ui`, `tap`, `tap_tab`, `type_text`, `swipe`, `scroll`, `drag_drop`, `wait_for_ui`, `detect_dialog`, `read_ui_value`, `set_ui_value`, `read_ui_param`, `hit_test`, `enumerate_ui` |
250
+ | Input | `key`, `key_sequence`, `key_combo`, `touch`, `input_source`, `list_input_sources` |
251
251
  | Workflow | `run_steps` |
252
- | System | `list_windows`, `activate_app`, `screenshot_app`, `right_click` |
252
+ | System | `list_windows`, `activate_app`, `screenshot_app`, `right_click`, `focus_window`, `context_menu_action`, `watch_notification` |
253
253
  | iOS 시뮬레이터 전용 | `list_simulators`, `screenshot`, `record_video`, `stream_video`, `open_url`, `install_app`, `launch_app`, `terminate_app`, `uninstall_app`, `button`, `gesture` |
254
254
  | macOS / 시스템 | `list_apps`, `menu_action`, `get_focused_app`, `clipboard` |
255
255
  | 유틸리티 | `baepsae_help`, `baepsae_version`, `doctor` |
@@ -268,8 +268,24 @@ npm run setup:mcp # scripts/install.sh 실행 alias
268
268
 
269
269
  `paste`를 사용하면 시뮬레이터 대상은 host clipboard를 건드리지 않고 simulator pasteboard를 갱신하며, macOS 대상은 host clipboard를 잠시 덮어쓴 뒤 복원합니다. 성공 응답에는 입력 소스, 대상 종류, 요청한 method, 실제 사용한 method, paste transport, auto fallback이 함께 보고됩니다.
270
270
 
271
+ ### `tap_tab` 정책
272
+
273
+ `tap_tab`는 **semantic-first, geometry-last** 전략을 사용합니다.
274
+
275
+ - 먼저 탭 바 아래에 노출된 actionable descendant를 찾습니다.
276
+ - SwiftUI/Simulator 조합에서 실제 탭 버튼 descendant가 드러나지 않으면, 같은 탭 전환 의미를 가진 **semantic proxy row**(예: 상단 탭 전환 버튼)를 사용할 수 있습니다.
277
+ - 그런 semantic 경로가 없을 때만 마지막으로 탭 바 geometry fallback을 사용합니다.
278
+
279
+ 이 정책이 필요한 이유는 SwiftUI `TabView`가 Simulator에서 종종 실제 탭 버튼 없이 `AXGroup text="Tab Bar"`로만 노출되기 때문입니다.
280
+
271
281
  ## 사용 예시
272
282
 
283
+ **인덱스로 탭 전환하기 (`tap_tab` semantic fallback 포함):**
284
+ ```javascript
285
+ // query_ui/tap selector로 개별 탭 버튼을 안정적으로 잡기 어려울 때 사용
286
+ tap_tab({ udid: "...", index: 1, tabCount: 3 })
287
+ ```
288
+
273
289
  **시뮬레이터 내부 앱 접근성 퀵스타트:**
274
290
  ```javascript
275
291
  // 1) 대상 시뮬레이터에서 앱 실행
@@ -309,6 +325,9 @@ tap({ udid: "...", label: "Home", all: true })
309
325
  - 실제 스모크 테스트 진단:
310
326
  - `npm run test:real:preflight`로 전체 스위트를 돌리지 않고 환경/기능(capability) 진단만 출력할 수 있습니다.
311
327
  - `npm run test:real:sim`으로 시뮬레이터 중심 범위만, `npm run test:real:mac`으로 macOS Safari 범위만 실행할 수 있습니다.
328
+ - 여러 Simulator 창이 열려 있어 selector가 다른 기기를 잡는 경우:
329
+ - 현재 버전은 simulator selector를 먼저 대상 `udid` 창에 맞춰 scope 합니다.
330
+ - 의도적으로 Simulator 크롬/시스템 UI를 다뤄야 하면 `all: true`를 사용하세요.
312
331
  - OpenCode에서 `baepsae`가 보이지 않는 경우:
313
332
  - `bash scripts/install.sh --tool opencode --skip-install --skip-build`를 다시 실행하고 `~/.config/opencode/opencode.json`을 확인하세요.
314
333
  - Copilot 자동 등록이 안 되는 경우:
package/README.md CHANGED
@@ -238,7 +238,7 @@ npm run setup:mcp # Alias for scripts/install.sh
238
238
 
239
239
  ## MCP Tool Status
240
240
 
241
- 35 tools implemented end-to-end.
241
+ 43 tools implemented end-to-end.
242
242
 
243
243
  ### Official public MCP surface: unified generic tools
244
244
 
@@ -246,10 +246,10 @@ The public API surface is intentionally single-scheme: use unified generic tools
246
246
 
247
247
  | Category | Tools |
248
248
  |---|---|
249
- | UI | `analyze_ui`, `query_ui`, `tap`, `tap_tab`, `type_text`, `swipe`, `scroll`, `drag_drop` |
250
- | Input | `key`, `key_sequence`, `key_combo`, `touch` |
249
+ | UI | `analyze_ui`, `query_ui`, `tap`, `tap_tab`, `type_text`, `swipe`, `scroll`, `drag_drop`, `wait_for_ui`, `detect_dialog`, `read_ui_value`, `set_ui_value`, `read_ui_param`, `hit_test`, `enumerate_ui` |
250
+ | Input | `key`, `key_sequence`, `key_combo`, `touch`, `input_source`, `list_input_sources` |
251
251
  | Workflow | `run_steps` |
252
- | System | `list_windows`, `activate_app`, `screenshot_app`, `right_click` |
252
+ | System | `list_windows`, `activate_app`, `screenshot_app`, `right_click`, `focus_window`, `context_menu_action`, `watch_notification` |
253
253
  | Simulator-only | `list_simulators`, `screenshot`, `record_video`, `stream_video`, `open_url`, `install_app`, `launch_app`, `terminate_app`, `uninstall_app`, `button`, `gesture` |
254
254
  | macOS/system | `list_apps`, `menu_action`, `get_focused_app`, `clipboard` |
255
255
  | Utility | `baepsae_help`, `baepsae_version`, `doctor` |
@@ -268,8 +268,25 @@ Target routing is explicit in the arguments: `udid` for simulator, `bundleId` /
268
268
 
269
269
  When `paste` is used, simulator targets update the simulator pasteboard without touching the host clipboard, while macOS targets temporarily overwrite the host clipboard and restore it after submission. Successful responses report the input source, target kind, requested method, used method, paste transport, and any auto fallback that was applied.
270
270
 
271
+ ### `tap_tab` policy
272
+
273
+ `tap_tab` is **semantic-first, geometry-last**.
274
+
275
+ - First it tries actionable descendants exposed under the tab bar.
276
+ - If SwiftUI/Simulator does not expose real tab button descendants, it can use a **semantic proxy row** (for example, app-provided top navigation buttons that map cleanly to the same tabs).
277
+ - Only if neither semantic path exists does it fall back to tab-bar geometry.
278
+
279
+ This matters because SwiftUI `TabView` in Simulator may expose the tab bar as a generic `AXGroup text="Tab Bar"` without actionable child buttons.
280
+
271
281
  ## Usage Examples
272
282
 
283
+ **Switch tabs by index with semantic-first fallback:**
284
+ ```javascript
285
+ // Prefer this when your app exposes a real tab bar but individual tab buttons
286
+ // are not consistently addressable via query_ui/tap selectors.
287
+ tap_tab({ udid: "...", index: 1, tabCount: 3 })
288
+ ```
289
+
273
290
  **Unified simulator app accessibility quickstart (inside app UI):**
274
291
  ```javascript
275
292
  // 1) Launch your app in the target simulator
@@ -336,6 +353,9 @@ screenshot_app({ bundleId: "com.apple.Safari" })
336
353
  - Real smoke test diagnostics:
337
354
  - Run `npm run test:real:preflight` to print environment and capability diagnostics without executing the full suite.
338
355
  - Run `npm run test:real:sim` to focus on simulator-capability coverage, or `npm run test:real:mac` for the macOS Safari subset.
356
+ - Multiple Simulator windows are open and selectors hit the wrong device:
357
+ - Current versions scope simulator selectors to the target `udid` window first.
358
+ - If you intentionally need Simulator chrome/system UI, use `all: true`.
339
359
  - OpenCode does not show `baepsae`:
340
360
  - Re-run `bash scripts/install.sh --tool opencode --skip-install --skip-build` and check `~/.config/opencode/opencode.json`.
341
361
  - Copilot not auto-registered:
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"tool-manifest.d.ts","sourceRoot":"","sources":["../src/tool-manifest.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,IAAI,GACJ,OAAO,GACP,UAAU,GACV,QAAQ,GACR,gBAAgB,GAChB,cAAc,GACd,SAAS,CAAC;AAEd,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,iBAAiB,EA0C5C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAAY,EAQ7C,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAQhE,CAAC;AAEF,wBAAgB,0BAA0B,IAAI,MAAM,CAQnD;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAQrD"}
1
+ {"version":3,"file":"tool-manifest.d.ts","sourceRoot":"","sources":["../src/tool-manifest.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,IAAI,GACJ,OAAO,GACP,UAAU,GACV,QAAQ,GACR,gBAAgB,GAChB,cAAc,GACd,SAAS,CAAC;AAEd,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,iBAAiB,EAsD5C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAAY,EAQ7C,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAQhE,CAAC;AAEF,wBAAgB,0BAA0B,IAAI,MAAM,CAQnD;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAQrD"}
@@ -12,15 +12,27 @@ exports.TOOL_MANIFEST = [
12
12
  { name: "swipe", category: "UI", summary: "Perform swipe gesture in the target app." },
13
13
  { name: "scroll", category: "UI", summary: "Send scroll wheel events to the target app." },
14
14
  { name: "drag_drop", category: "UI", summary: "Drag and drop in the target app." },
15
+ { name: "wait_for_ui", category: "UI", summary: "Wait for a UI element to appear or disappear." },
16
+ { name: "detect_dialog", category: "UI", summary: "Detect if a modal dialog, sheet, or alert is currently presented." },
17
+ { name: "read_ui_value", category: "UI", summary: "Read value, selected text, or insertion point of a UI element." },
18
+ { name: "set_ui_value", category: "UI", summary: "Set value, text selection range, or focus on a UI element via Accessibility API." },
19
+ { name: "read_ui_param", category: "UI", summary: "Read parameterized accessibility attributes like text ranges, line numbers, and bounds." },
20
+ { name: "hit_test", category: "UI", summary: "Find which UI element is at specific screen coordinates using system-wide accessibility hit testing." },
21
+ { name: "enumerate_ui", category: "UI", summary: "Discover all attributes, actions, and parameterized attributes of a UI element." },
15
22
  { name: "key", category: "Input", summary: "Press a single HID keycode in the target app." },
16
23
  { name: "key_sequence", category: "Input", summary: "Press multiple HID keycodes in sequence in the target app." },
17
24
  { name: "key_combo", category: "Input", summary: "Press key combo in the target app." },
18
25
  { name: "touch", category: "Input", summary: "Perform touch events in the target app." },
26
+ { name: "input_source", category: "Input", summary: "Get or switch keyboard input source." },
27
+ { name: "list_input_sources", category: "Input", summary: "List all available keyboard input sources." },
19
28
  { name: "run_steps", category: "Workflow", summary: "Execute ordered workflow steps using existing interaction tools." },
20
29
  { name: "list_windows", category: "System", summary: "List windows in the target app." },
21
30
  { name: "activate_app", category: "System", summary: "Bring the target app to foreground." },
22
31
  { name: "screenshot_app", category: "System", summary: "Take a screenshot of the target app window." },
23
32
  { name: "right_click", category: "System", summary: "Right-click in the target app." },
33
+ { name: "focus_window", category: "System", summary: "Raise and focus a specific window by index or title." },
34
+ { name: "context_menu_action", category: "System", summary: "Select an item from an open context menu (call after right_click). Supports submenu paths with > separator." },
35
+ { name: "watch_notification", category: "System", summary: "Watch for AX notifications from a macOS app using AXObserver. Blocks until a notification fires or timeout." },
24
36
  { name: "list_simulators", category: "Simulator-only", summary: "List available simulators using simctl." },
25
37
  { name: "screenshot", category: "Simulator-only", summary: "Capture a screenshot from simulator display using simctl screenshot." },
26
38
  { name: "record_video", category: "Simulator-only", summary: "Record simulator display." },
@@ -1 +1 @@
1
- {"version":3,"file":"tool-manifest.js","sourceRoot":"","sources":["../src/tool-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-manifest.js","sourceRoot":"","sources":["../src/tool-manifest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/tools/input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4GzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoF1D"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/tools/input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+GzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8G1D"}
@@ -29,13 +29,15 @@ const touchSchema = {
29
29
  delay: zod_1.z.number().optional().describe("Delay between down/up in seconds"),
30
30
  };
31
31
  function buildKeyArgs(target, params) {
32
- const args = ["key", String(params.keycode)];
32
+ const args = ["key", String((0, utils_js_1.resolveKeycode)(params.keycode))];
33
33
  (0, utils_js_1.pushOption)(args, "--duration", params.duration);
34
34
  args.push(...target);
35
35
  return args;
36
36
  }
37
37
  function buildKeySequenceArgs(target, params) {
38
- const keycodes = Array.isArray(params.keycodes) ? params.keycodes.join(",") : params.keycodes;
38
+ const keycodes = Array.isArray(params.keycodes)
39
+ ? params.keycodes.map(k => (0, utils_js_1.resolveKeycode)(k)).join(",")
40
+ : params.keycodes; // 쉼표 구분 숫자 문자열은 그대로 전달
39
41
  const args = ["key-sequence", "--keycodes", keycodes];
40
42
  (0, utils_js_1.pushOption)(args, "--delay", params.delay);
41
43
  args.push(...target);
@@ -45,9 +47,9 @@ function buildKeyComboArgs(target, params) {
45
47
  return [
46
48
  "key-combo",
47
49
  "--modifiers",
48
- params.modifiers.join(","),
50
+ params.modifiers.map(m => (0, utils_js_1.resolveKeycode)(m)).join(","),
49
51
  "--key",
50
- String(params.key),
52
+ String((0, utils_js_1.resolveKeycode)(params.key)),
51
53
  ...target,
52
54
  ];
53
55
  }
@@ -121,5 +123,17 @@ function registerInputTools(server) {
121
123
  args.push("--udid", params.udid);
122
124
  return await (0, backend_js_1.runBackend)("input", args);
123
125
  });
126
+ server.tool("input_source", "Get current keyboard input source or switch to a specific one. Call without sourceId to query current; with sourceId to switch. Uses CJKV workaround for Korean/Japanese/Chinese/Vietnamese.", {
127
+ sourceId: zod_1.z.string().optional().describe("Input source ID to switch to (e.g. 'com.apple.inputmethod.Korean.2SetKorean'). Omit to query current."),
128
+ }, async (params) => {
129
+ const args = ["input-source"];
130
+ if (params.sourceId) {
131
+ args.push(params.sourceId);
132
+ }
133
+ return await (0, backend_js_1.runBackend)("utility", args);
134
+ });
135
+ server.tool("list_input_sources", "List all available keyboard input sources with their IDs, names, and active status.", {}, async () => {
136
+ return await (0, backend_js_1.runBackend)("utility", ["list-input-sources"]);
137
+ });
124
138
  }
125
139
  //# sourceMappingURL=input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/tools/input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/tools/input.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/tools/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyG1D"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/tools/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+GzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+G1D"}
@@ -2,8 +2,101 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerMediaTools = registerMediaTools;
4
4
  const zod_1 = require("zod");
5
+ const promises_1 = require("node:fs/promises");
6
+ const node_os_1 = require("node:os");
7
+ const node_path_1 = require("node:path");
8
+ const node_crypto_1 = require("node:crypto");
5
9
  const utils_js_1 = require("../utils.js");
6
10
  const backend_js_1 = require("../backend.js");
11
+ function extractText(result) {
12
+ return result.content
13
+ .filter((item) => item.type === "text")
14
+ .map((item) => item.text)
15
+ .join("\n");
16
+ }
17
+ function rewriteTextContent(result, search, replace) {
18
+ return {
19
+ ...result,
20
+ content: result.content.map((item) => item.type === "text"
21
+ ? { ...item, text: item.text.split(search).join(replace) }
22
+ : item),
23
+ };
24
+ }
25
+ function createStagingPath(finalPath, extension) {
26
+ const finalBaseName = (0, node_path_1.basename)(finalPath);
27
+ const suffix = `-${(0, node_crypto_1.randomUUID)()}`;
28
+ const preferredBaseName = finalBaseName.endsWith(`.${extension}`)
29
+ ? finalBaseName.replace(new RegExp(`\\.${extension}$`), `${suffix}.${extension}`)
30
+ : `mcp-baepsae-media-${Date.now()}${suffix}.${extension}`;
31
+ return (0, node_path_1.join)((0, node_os_1.tmpdir)(), preferredBaseName);
32
+ }
33
+ async function finalizeStagedCapture(result, stagingPath, finalPath) {
34
+ if (result.isError) {
35
+ await (0, promises_1.rm)(stagingPath, { force: true }).catch(() => { });
36
+ return result;
37
+ }
38
+ try {
39
+ const info = await (0, promises_1.stat)(stagingPath);
40
+ if (!info.isFile() || info.size <= 0) {
41
+ throw new Error("Capture file was not created or is empty.");
42
+ }
43
+ }
44
+ catch (error) {
45
+ await (0, promises_1.rm)(stagingPath, { force: true }).catch(() => { });
46
+ const message = error instanceof Error ? error.message : String(error);
47
+ return {
48
+ content: [{ type: "text", text: `${extractText(result)}\n\nPost-processing failed.\nExpected staging file: ${stagingPath}\nReason: ${message}`.trim() }],
49
+ isError: true,
50
+ error: (0, utils_js_1.makeToolError)({
51
+ code: "execution.capture_output_missing",
52
+ category: "execution",
53
+ message,
54
+ retryable: true,
55
+ source: "runtime",
56
+ }),
57
+ metadata: {
58
+ ...(result.metadata ?? {}),
59
+ stagingOutputPath: stagingPath,
60
+ outputPath: finalPath,
61
+ },
62
+ };
63
+ }
64
+ try {
65
+ await (0, promises_1.copyFile)(stagingPath, finalPath);
66
+ await (0, promises_1.rm)(stagingPath, { force: true }).catch(() => { });
67
+ }
68
+ catch (error) {
69
+ const message = error instanceof Error ? error.message : String(error);
70
+ return {
71
+ content: [{
72
+ type: "text",
73
+ text: `${extractText(result)}\n\nPost-processing failed.\nStaging file: ${stagingPath}\nRequested output: ${finalPath}\nReason: ${message}`.trim(),
74
+ }],
75
+ isError: true,
76
+ error: (0, utils_js_1.makeToolError)({
77
+ code: "execution.capture_output_finalize_failed",
78
+ category: "execution",
79
+ message,
80
+ retryable: true,
81
+ source: "runtime",
82
+ }),
83
+ metadata: {
84
+ ...(result.metadata ?? {}),
85
+ stagingOutputPath: stagingPath,
86
+ outputPath: finalPath,
87
+ },
88
+ };
89
+ }
90
+ const rewritten = rewriteTextContent(result, stagingPath, finalPath);
91
+ return {
92
+ ...rewritten,
93
+ metadata: {
94
+ ...(rewritten.metadata ?? {}),
95
+ stagingOutputPath: stagingPath,
96
+ outputPath: finalPath,
97
+ },
98
+ };
99
+ }
7
100
  function registerMediaTools(server) {
8
101
  server.tool("stream_video", "Capture a time-bounded simulator clip through the native stream-video shim.", {
9
102
  udid: zod_1.z.string().min(1).describe("Simulator UDID"),
@@ -18,9 +111,10 @@ function registerMediaTools(server) {
18
111
  const durationSeconds = params.durationSeconds ?? 10;
19
112
  const outputPath = params.output ?? `simulator-stream-${Date.now()}.mov`;
20
113
  const resolvedOutput = await (0, utils_js_1.ensureOutputPath)(outputPath);
114
+ const stagingOutput = createStagingPath(resolvedOutput, "mov");
21
115
  (0, utils_js_1.pushOption)(args, "--duration", durationSeconds);
22
- args.push("--output", resolvedOutput);
23
- return await (0, backend_js_1.runBackend)("utility", args, {
116
+ args.push("--output", stagingOutput);
117
+ const result = await (0, backend_js_1.runBackend)("utility", args, {
24
118
  timeoutMs: Math.max(15_000, Math.round((durationSeconds + 15) * 1000)),
25
119
  }, {
26
120
  extraLines: [
@@ -36,6 +130,7 @@ function registerMediaTools(server) {
36
130
  outputPath: resolvedOutput,
37
131
  },
38
132
  });
133
+ return await finalizeStagedCapture(result, stagingOutput, resolvedOutput);
39
134
  });
40
135
  server.tool("record_video", "Record simulator display directly with simctl recordVideo.", {
41
136
  udid: zod_1.z.string().min(1).describe("Simulator UDID"),
@@ -49,12 +144,13 @@ function registerMediaTools(server) {
49
144
  const durationSeconds = params.durationSeconds ?? 10;
50
145
  const outputPath = params.output ?? `simulator-recording-${Date.now()}.mov`;
51
146
  const resolvedOutput = await (0, utils_js_1.ensureOutputPath)(outputPath);
147
+ const stagingOutput = createStagingPath(resolvedOutput, "mov");
52
148
  const extraLines = [
53
149
  "Capture mode: direct simctl recordVideo.",
54
150
  `Requested duration: ${durationSeconds}s`,
55
151
  `Output file: ${resolvedOutput}`,
56
152
  ];
57
- return await (0, backend_js_1.runBackend)("simulator", ["io", params.udid, "recordVideo", "--force", resolvedOutput], {
153
+ const result = await (0, backend_js_1.runBackend)("simulator", ["io", params.udid, "recordVideo", "--force", stagingOutput], {
58
154
  timeoutMs: Math.max(15_000, Math.round((durationSeconds + 5) * 1000)),
59
155
  }, {
60
156
  timeoutIsExpected: true,
@@ -66,6 +162,7 @@ function registerMediaTools(server) {
66
162
  outputPath: resolvedOutput,
67
163
  },
68
164
  });
165
+ return await finalizeStagedCapture(result, stagingOutput, resolvedOutput);
69
166
  });
70
167
  server.tool("screenshot", "Capture a screenshot from simulator display using simctl screenshot.", {
71
168
  udid: zod_1.z.string().min(1).describe("Simulator UDID"),
@@ -73,9 +170,11 @@ function registerMediaTools(server) {
73
170
  }, async (params) => {
74
171
  const outputPath = params.output ?? `simulator-screenshot-${Date.now()}.png`;
75
172
  const resolvedOutput = await (0, utils_js_1.ensureOutputPath)(outputPath);
76
- return await (0, backend_js_1.runBackend)("simulator", ["io", params.udid, "screenshot", resolvedOutput], undefined, {
173
+ const stagingOutput = createStagingPath(resolvedOutput, "png");
174
+ const result = await (0, backend_js_1.runBackend)("simulator", ["io", params.udid, "screenshot", stagingOutput], undefined, {
77
175
  extraLines: [`Output file: ${resolvedOutput}`],
78
176
  });
177
+ return await finalizeStagedCapture(result, stagingOutput, resolvedOutput);
79
178
  });
80
179
  }
81
180
  //# sourceMappingURL=media.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/tools/media.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/tools/media.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoDzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkF3D"}
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoDzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqJ3D"}
@@ -84,5 +84,57 @@ function registerSystemTools(server) {
84
84
  }
85
85
  return await (0, utils_js_1.runNative)(args);
86
86
  });
87
+ server.tool("focus_window", "Raise and focus a specific window by index or title. macOS apps only.", {
88
+ ...utils_js_1.unifiedTargetSchema,
89
+ index: zod_1.z.number().int().min(0).optional().describe("Window index (0-based)"),
90
+ title: zod_1.z.string().optional().describe("Window title substring"),
91
+ }, async (params) => {
92
+ const target = (0, utils_js_1.resolveUnifiedTargetArgs)(params);
93
+ if (!Array.isArray(target))
94
+ return target;
95
+ const args = ["focus-window", ...target];
96
+ (0, utils_js_1.pushOption)(args, "--index", params.index);
97
+ (0, utils_js_1.pushOption)(args, "--title", params.title);
98
+ return await (0, utils_js_1.runNative)(args);
99
+ });
100
+ server.tool("context_menu_action", "Select an item from an open context menu. Call after right_click. Supports submenu paths with > separator (e.g. 'Refactor > Rename').", {
101
+ ...utils_js_1.unifiedTargetSchema,
102
+ item: zod_1.z.string().min(1).describe("Context menu item path (e.g. 'Copy', 'Refactor > Rename')"),
103
+ }, async (params) => {
104
+ const target = (0, utils_js_1.resolveUnifiedTargetArgs)(params);
105
+ if (!Array.isArray(target))
106
+ return target;
107
+ const args = ["context-menu-action", ...target, "--item", params.item];
108
+ return await (0, utils_js_1.runNative)(args);
109
+ });
110
+ server.tool("watch_notification", "Watch for AX notifications from an app. Blocks until a notification fires or timeout. Use presets for common patterns: window (created/destroyed), text (value/selection changed), focus (app/window focus), menu (opened/closed).", {
111
+ ...utils_js_1.unifiedTargetSchema,
112
+ preset: zod_1.z.enum(["window", "text", "focus", "menu"]).optional()
113
+ .describe("Notification preset (window, text, focus, menu)"),
114
+ notifications: zod_1.z.string().optional()
115
+ .describe("Comma-separated notification names (e.g. 'AXValueChanged,AXWindowCreated')"),
116
+ timeout: zod_1.z.number().optional().describe("Max wait time in seconds (default: 10)"),
117
+ }, async (params) => {
118
+ const anyParams = params;
119
+ if (!anyParams.preset && !anyParams.notifications) {
120
+ return {
121
+ content: [{ type: "text", text: "watch_notification requires either preset or notifications parameter." }],
122
+ isError: true,
123
+ error: (0, utils_js_1.makeToolError)({
124
+ code: "validation.watch_notification.missing_filter",
125
+ category: "validation",
126
+ message: "watch_notification requires either preset or notifications parameter.",
127
+ }),
128
+ };
129
+ }
130
+ const target = (0, utils_js_1.resolveUnifiedTargetArgs)(params);
131
+ if (!Array.isArray(target))
132
+ return target;
133
+ const args = ["watch-notification", ...target];
134
+ (0, utils_js_1.pushOption)(args, "--preset", anyParams.preset);
135
+ (0, utils_js_1.pushOption)(args, "--notifications", anyParams.notifications);
136
+ (0, utils_js_1.pushOption)(args, "--timeout", anyParams.timeout);
137
+ return await (0, utils_js_1.runNative)(args);
138
+ });
87
139
  }
88
140
  //# sourceMappingURL=system.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":";;AAoDA,kDAkFC;AArID,6BAAwB;AAGxB,0CAMqB;AAcrB,MAAM,gBAAgB,GAAG;IACvB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;CAC3D,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxB,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxB,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,GAAG,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC;AAEF,SAAS,mBAAmB,CAAC,MAAgB,EAAE,MAAwB;IACrE,MAAM,IAAI,GAAG,CAAC,gBAAgB,EAAE,GAAG,MAAM,CAAC,CAAC;IAC3C,IAAA,qBAAU,EAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAgB,EAAE,MAAwB;IACrE,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,GAAG,MAAM,CAAC,CAAC;IACxC,IAAA,qBAAU,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACjC,IAAA,qBAAU,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACjC,IAAA,qBAAU,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACpC,IAAA,qBAAU,EAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,GAAG;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,mBAAmB,CAAC,MAAiB;IACnD,MAAM,CAAC,IAAI,CACT,cAAc,EACd,iCAAiC,EACjC,8BAAmB,EACnB,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,IAAA,mCAAwB,EAAC,MAA6B,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC1C,OAAO,MAAM,IAAA,oBAAS,EAAC,CAAC,cAAc,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,qCAAqC,EACrC,8BAAmB,EACnB,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,IAAA,mCAAwB,EAAC,MAA6B,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC1C,OAAO,MAAM,IAAA,oBAAS,EAAC,CAAC,cAAc,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,6CAA6C,EAC7C,EAAE,GAAG,8BAAmB,EAAE,GAAG,gBAAgB,EAAE,EAC/C,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,IAAA,mCAAwB,EAAC,MAA6B,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC1C,OAAO,MAAM,IAAA,oBAAS,EAAC,mBAAmB,CAAC,MAAM,EAAE,MAA0B,CAAC,CAAC,CAAC;IAClF,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,kHAAkH,EAClH,EAAE,GAAG,8BAAmB,EAAE,GAAG,gBAAgB,EAAE,EAC/C,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,IAAA,mCAAwB,EAAC,MAA6B,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC1C,OAAO,MAAM,IAAA,oBAAS,EAAC,mBAAmB,CAAC,MAAM,EAAE,MAA0B,CAAC,CAAC,CAAC;IAClF,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,2CAA2C,EAC3C;QACE,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACpD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;KAC1D,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;aAC1D,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;;YAC5D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAA,wBAAa,EAAC,EAAE,IAAI,EAAE,wCAAwC,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,EAAE,CAAC;QAC5O,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,MAAM,IAAA,oBAAS,EAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,WAAW,EACX,qCAAqC,EACrC;QACE,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACrE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;KAClF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAA,wBAAa,EAAC,EAAE,IAAI,EAAE,0CAA0C,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC,EAAE,CAAC;YACvQ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,IAAA,oBAAS,EAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/tools/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4XzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyIvD"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/tools/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsYzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkSvD"}