Skip to content

feat: add brokered WinInspect mutation endpoints (Phase 1) - #116

Merged
mark-e-deyoung merged 3 commits into
mainfrom
feat/wininspect-mutations
Jul 8, 2026
Merged

feat: add brokered WinInspect mutation endpoints (Phase 1)#116
mark-e-deyoung merged 3 commits into
mainfrom
feat/wininspect-mutations

Conversation

@mark-e-deyoung

@mark-e-deyoung mark-e-deyoung commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds WinInspect mutation endpoints behind WineBot's Input Broker. All endpoints check broker.check_access() (returns 423 if denied) and call broker.report_agent_activity() on success.

Endpoints

Method Path WinInspect Method Description
POST /wininspect/click window.controlClick / input.mouseClick Click at coordinates or on window control
POST /wininspect/key input.text / input.hotkey Send keystrokes (text or composite)
POST /wininspect/hotkey input.hotkey Send hotkey combination

Models

Reuses existing ClickModel and KeyModel from api/core/models.py.

Part of Package C (WineBot Read Expansion).

Closes #118

Three changes:

1. Protocol version (Item 3): Updated from 0.3.0 to 0.4.0 to match
   current WinInspect daemon version.

2. window.listChildren (Item 7): Added list_children() method and
   GET /wininspect/window/{hwnd}/children endpoint. Enables recursive
   UIA tree traversal.

3. Added window.getZOrder to READ_ONLY_METHODS (useful for tab/window
   ordering queries).
Adds mutation endpoints behind WineBot's Input Broker:

- POST /wininspect/click — window.controlClick or input.mouseClick
  (uses window_id for controlClick, otherwise mouseClick)
- POST /wininspect/key — input.text or input.hotkey
  (single keys use text, composite keys with + use hotkey)
- POST /wininspect/hotkey — input.hotkey

All endpoints check broker.check_access() first (423 if denied),
then report_agent_activity().

New wininspect.py functions:
- control_click(hwnd, x, y, button)
- mouse_click(x, y, button)
- send_text(text)
- send_hotkey(keys)
- mutation_request() method set

Part of Package C (WineBot Read Expansion).
@mark-e-deyoung
mark-e-deyoung merged commit 169fbfe into main Jul 8, 2026
@mark-e-deyoung
mark-e-deyoung deleted the feat/wininspect-mutations branch July 8, 2026 16:17
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.

feat: add brokered WinInspect mutation endpoints (Phase 1)

1 participant