Drivers are the platform-specific adapters that allow Theseus to explore real software.
Each driver connects to a particular UI technology (web, desktop, mobile, etc.) and exposes a normalized view of the interface to the Theseus core:
The goal is that the core logic never needs to know whether it is exploring a browser, a native desktop app, or a mobile app.
Every driver is responsible for:
Tree acquisition
Element characterization
Action execution
activate(elementId) – click or trigger an action.setValue(elementId, value) – enter text, toggle a checkbox, select an option.focus(elementId) – move focus to an element.Context metadata
Error handling
Conceptually, Each driver implements an interface like:
Driver:
getTree() -> UITree
listInteractiveElements(tree) -> [UIElement]
perform(action: AbstractAction) -> Result
getContext() -> ContextMetadata