Skip to content

feat: add Windows native dialog automation - #39

Open
Hushlor wants to merge 1 commit into
hypothesi:mainfrom
Hushlor:feat/windows-native-dialog-automation
Open

feat: add Windows native dialog automation#39
Hushlor wants to merge 1 commit into
hypothesi:mainfrom
Hushlor:feat/windows-native-dialog-automation

Conversation

@Hushlor

@Hushlor Hushlor commented Jul 22, 2026

Copy link
Copy Markdown

Summary

  • add Windows-only native_dialog_snapshot and native_dialog_interact MCP tools backed by Microsoft UI Automation on a dedicated COM MTA thread
  • support message and confirmation dialogs, single- and multi-file Open, Save, folder selection, overwrite confirmation, and advertised navigation controls
  • follow bounded same-process dialog ownership chains while keeping opaque references session-scoped and short-lived
  • add Windows E2E coverage, unit tests, test-app fixtures, API documentation, and changelog entries

Security and scope

  • only visible dialogs in the connected Tauri process whose owner chain leads to the targeted Tauri window are exposed
  • interaction revalidates the process, owner chain, window visibility, session scope, element process, and advertised UI Automation pattern
  • path values are validated without being logged or echoed in interaction results
  • non-Windows platforms return a clear unsupported-platform error

Validation

  • npm run standards
  • npm run test:unit -w @hypothesi/tauri-mcp-server — 65 passed
  • npm run test:e2e -w @hypothesi/tauri-mcp-server — 162 passed, 1 skipped
  • native Windows dialog E2E — all 9 scenarios passed against real dialogs
  • cargo test --manifest-path packages/tauri-plugin-mcp-bridge/Cargo.toml
  • cargo clippy --manifest-path packages/tauri-plugin-mcp-bridge/Cargo.toml --all-targets -- -D warnings
  • npm run docs:build

Closes #5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support for native dialogs?

1 participant