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.