rightkit-control 0.1.1

Background native input, accessibility reads, and a WebDriver bridge for driving real desktop apps without stealing focus.
Documentation
# rightkit-control

Shared native desktop control APIs for Right Suite applications. Provides JSON helpers, keyboard input, WebDriver bridging, and platform-specific accessibility or embedded control modules.

The `tauri-plugin` feature enables the embedded Tauri control server.

Publish through the RightKit release workflow.

## Control-plane guarantees (0.1.1)

- **EFF-001 admission** (`admission::EffectGate`): every effectful request is
  validated, approved by a host `AdmissionHook` (trait or closure), executed,
  and settled as `ok | denied | failed | cancelled`. A denial (or a panicking
  hook) happens before any side effect. `webdriver::Server::with_gate` and the
  `tauri-plugin` `Control::gate` route effectful methods through it; the
  default gate is allow-all, so existing behaviour is unchanged.
- **PTY-002 input lease** (`lease::InputLease`, `lease::ControlSession`):
  acquire bumps the epoch and fences the previous holder; input carries
  `(epoch, sequence)`; stale epochs are rejected, acknowledged duplicates are
  deduplicated without re-execution, gaps are rejected, and ambiguous
  (unacknowledged) input must be explicitly reconciled before new input.
  `Control::input_lease` makes the plugin's input methods require
  `leaseEpoch` + `inputSequence` and adds `lease_*` methods.
- **Lifecycle events** (`events::ControlEvent`): content-free
  start/stop/crash/denied and lease acquired/fenced/released/rejected events
  via an `EventSink` callback.

The raw `mac` primitives remain ungated building blocks.