Direct Action Surface

Phase 4 closes the main direct-action parity gap on top of the live runtime without changing the existing sikuli-go architecture.

Scope

The live API now represents the SikuliX-style direct action vocabulary across:

Supported actions:

Primitive vs Composed

The protocol only adds primitives where stateful or platform-sensitive behavior needs durable server-side semantics.

Primitive RPCs:

Composed helpers in pkg/sikuli:

This keeps the runtime protocol small while still exposing the full direct-action vocabulary at the public API layer.

Match Behavior

Match direct actions now route through the live runtime instead of the local InputController.

That change is important for parity:

Backend Notes

No backend architecture was changed.

Current platform notes:

Result

The SikuliX direct-action vocabulary is now represented at the API level without changing the current separation between: