Skip to main content

Crate devicerail_protocol

Crate devicerail_protocol 

Source

Modules§

feature
fixtures
Canonical cross-language Golden Fixtures embedded for consistency suites.
schema
Deterministic JSON Schema documents for the public wire DTOs.

Structs§

ActionCall
ActionDefinition
ActionResult
AssetRef
ClearElementArguments
DeviceDisconnectResult
Result returned by device.disconnect.
DeviceExecuteParams
Parameters for device.execute.
DeviceId
DeviceInfo
DeviceSelectParams
Parameters accepted by device.select.
DeviceSelectResult
Result returned by device.select.
DevicesListResult
Result returned by devices.list.
ElementActionOutput
ElementSelector
Cross-channel selector. Native contexts use accessibility fields; web contexts may additionally use CSS. Context selection never carries a stale document epoch; resolved node references always carry the full context.
ErrorInfo
EventId
EventSequence
A one-based sequence number within one session.
EventStreamCursor
A Session-scoped, daemon-epoch-scoped application acknowledgement.
EventStreamEndpoint
A short-lived bearer URL. Debug intentionally never exposes its contents.
EventStreamEpoch
Identifies one daemon process lifetime. A cursor from another epoch must never be accepted as a resumable position.
EventSubscriptionId
EventsClearResult
Result returned by events.clear.
EventsListParams
Optional parameters accepted by events.list.
EventsStreamEventNotification
EventsStreamEventParams
EventsStreamOpenParams
EventsStreamOpenResult
EventsStreamTerminalNotification
EventsStreamTerminalParams
EventsSubscribeParams
EventsSubscribeResult
FeatureNegotiationError
FeatureOffer
FeatureSelection
FindElementArguments
FindElementResult
HelloParams
HelloResult
ManualActionStep
ManualRecording
A bounded, Driver-neutral record of human-selected Actions.
MediaFrame
MediaStreamCaptureParams
Parameters accepted by media.stream.capture.
MediaStreamCaptureResult
Result returned by media.stream.capture.
MediaStreamEndParams
Parameters accepted by media.stream.end.
MediaStreamEndResult
Result returned by media.stream.end.
MediaStreamId
MediaStreamInfo
MediaStreamStartParams
Parameters accepted by media.stream.start.
MediaStreamStartResult
Result returned by media.stream.start.
Observation
PeerInfo
ProtocolOffer
An explicit set of supported ranges. Multiple entries avoid implying support for major versions that a peer intentionally skipped.
ProtocolRange
A contiguous minor-version range within one protocol major version.
ProtocolSelection
ProtocolVersion
RecordedActionCall
Durable representation of an Action invocation.
RequestCancelParams
RequestCancelResult
RequestTimeoutMs
A positive timeout in milliseconds that is safe to represent as a JSON number in every supported client language.
RpcError
RpcRequest
SessionCurrentResult
Result returned by session.current.
SessionEndParams
Optional parameters accepted by session.end.
SessionExport
SessionExportParams
Optional parameters accepted by session.export.
SessionExportResult
Result returned by session.export.
SessionId
SessionInfo
SessionTargetParams
Optional session selector accepted by events.clear.
SetElementValueArguments
SystemDescribeResult
Result returned by system.describe.
TapElementArguments
TestEvent
TextMatch
TransportInfo
UiContextRef
Full identity of one native accessibility or web-document context. documentEpoch is required for both channels and changes after reconnect, navigation, or any replacement that invalidates prior node references.
UiContextSelector
Selects a current context without pretending to own its document epoch.
UiNode
One node in the normalized preorder list. Unknown platform values remain null; Drivers must not manufacture optimistic enabled/hittable states.
UiNodeRef
Durable reference to one node in one observed UI Tree.
UiRect
UiSnapshot
Canonical UI Tree. nodes is preorder and every parent must precede its contiguous descendants. The serialized payload is bounded to 768 KiB.
UiSnapshotGetParams
Parameters accepted by ui.snapshot.get.
UiSnapshotRef
Small Observation-side reference to a UI Tree Evidence object.
Verdict
VerdictRecordParams
Parameters accepted by verdict.record.
VerdictRecordResult
Result returned by verdict.record after the durable event append.
Viewport
WaitForElementArguments
WaitForElementResult

Enums§

ActionExecution
ActionOutcome
The terminal outcome for one action call.
ActionProtection
CoordinateFallbackReason
ElementTarget
EventStreamOriginPolicy
Browser Origin policy bound to a single-use stream capability.
EventsStreamEventMethod
EventsStreamTerminalMethod
EventsStreamTermination
The terminal reason is a closed tagged union so reason/error combinations cannot become ambiguous on the wire.
JsonRpcVersion
ManualActionArguments
MediaStreamKind
Platform
ProtocolIncompatibilityReason
ProtocolNegotiationError
RequestCancelStatus
RpcId
RpcParams
RpcResponse
RpcServerMessage
RpcServerNotification
ScreenshotOmissionReason
SessionOutcome
SessionState
TestEventPayload
TextMatchMode
UiContextKind
UiContractError
UiSnapshotOmissionReason
VerdictStatus
VerdictValidationError
WaitForElementCondition

Constants§

CLEAR_ELEMENT_ACTION
FIND_ELEMENT_ACTION
MANUAL_RECORDING_VERSION
Version of the portable manual Action recording document.
MAX_EVENTS_LIST_PAGE_SIZE
Largest page accepted by the snapshot-style events.list RPC.
MAX_SAFE_INTEGER
Largest integer that round-trips through JavaScript and JSON number implementations without loss.
MAX_SAFE_INTEGER_ID
MAX_UI_IDENTIFIER_LENGTH
MAX_UI_ROLE_LENGTH
MAX_UI_SNAPSHOT_BYTES
Leaves headroom for the JSON-RPC response envelope under the 1 MiB frame cap.
MAX_UI_SNAPSHOT_NODES
Hard limits shared by schema validation, Evidence loading, and Drivers.
MAX_UI_TEXT_LENGTH
MAX_VERDICT_EVIDENCE_REFERENCES
Maximum typed Evidence references attached to one Verdict.
MAX_VERDICT_SUMMARY_LENGTH
Maximum Unicode code points in a persisted Verdict summary.
PROTOCOL_VERSION
Highest protocol version implemented by this crate.
SEMANTIC_ACTION_NAMES
SET_ELEMENT_VALUE_ACTION
TAP_ELEMENT_ACTION
UI_SNAPSHOT_FORMAT_VERSION
Current canonical UI Tree payload version.
UI_SNAPSHOT_MEDIA_TYPE
Media type used by Evidence objects containing a canonical UI Tree.
WAIT_FOR_ELEMENT_ACTION

Functions§

is_semantic_action_name
json_integer_as_i32
Interprets a JSON number using JSON Schema’s mathematical integer semantics and converts it to i32 when it is finite and in range.
json_integer_as_u32
Interprets a JSON number using JSON Schema’s mathematical integer semantics and converts it to u32 when it is finite and in range.
negotiate_features
negotiate_protocol
Selects the lexicographically newest version present in both offers.
supported_protocol_offer

Type Aliases§

ClearElementResult
DeviceCapabilitiesResult
Result returned by device.capabilities.
DeviceConnectResult
Result returned by device.connect.
DeviceExecuteResult
Result returned by device.execute.
DeviceObserveResult
Result returned by device.observe.
EventsListResult
Result returned by events.list.
SessionEndResult
Result returned by session.end.
SessionStartResult
Result returned by session.start.
SessionsListResult
Result returned by sessions.list.
SetElementValueResult
TapElementResult
UiSnapshotGetResult
Result returned by ui.snapshot.get.