pub enum Evidence {
Show 27 variants
ExecutionPath {
path: ExecutionPath,
reason: ExecutionReason,
state_version: u64,
elapsed_ms: u64,
bytes: Option<u64>,
sha256: Option<String>,
final_url: Option<String>,
content_type: Option<String>,
status: Option<u16>,
redirect_chain: Vec<String>,
},
Navigation {
url: String,
title: String,
},
Inspection {
selector: Option<String>,
url: String,
title: String,
text: String,
html: Option<String>,
},
Element {
selector: String,
text: Option<String>,
},
Upload {
selector: String,
paths: Vec<String>,
},
Page {
page_id: PageId,
url: String,
title: String,
},
Pages {
pages: Vec<PageEvidence>,
},
Popup {
opener_page_id: PageId,
page_id: PageId,
url: String,
title: String,
},
Download {
filename: String,
path: String,
bytes: u64,
sha256: String,
},
Configuration {
name: String,
value: String,
},
Resolution {
target: Box<TargetSpec>,
fingerprint: Box<TargetFingerprint>,
candidates: Vec<CandidateEvidence>,
best_match_authorized: bool,
},
Wait {
condition: WaitCondition,
elapsed_ms: u64,
observations: u64,
excluded_classes: Vec<String>,
},
Screenshot {
artifact_id: String,
media_type: String,
width: u32,
height: u32,
bytes: u64,
sha256: String,
},
BrowserExecution {
engine: String,
browser_version: String,
profile_id: String,
interaction_path: String,
},
JavaScriptResult {
value: Value,
truncated: bool,
},
AccessibilitySnapshot {
page_id: PageId,
nodes: Vec<AccessibilityNode>,
truncated: bool,
},
FormSnapshot {
snapshot: FormSnapshot,
},
ControlAction {
action: ControlActionEvidence,
},
StructuredExtraction {
page_id: PageId,
value: Value,
truncated: bool,
},
CookieState {
page_id: Option<PageId>,
cookies: Vec<CookieRecord>,
},
PdfArtifact {
artifact_id: String,
media_type: String,
bytes: u64,
sha256: String,
},
Dialog {
dialog_type: String,
message: String,
action: String,
},
Emulation {
viewport: Option<ViewportSize>,
geolocation: Option<GeolocationCoordinates>,
},
HarArtifact {
artifact_id: String,
media_type: String,
bytes: u64,
sha256: String,
entries: u32,
},
IntentExecution {
record: ExecutionRecord,
},
Humanization {
engine: String,
actions: u32,
synthesized_ms: u64,
},
Extraction {
field: String,
value: Option<String>,
resolution_path: IntentResolutionPath,
error_code: Option<ErrorCode>,
},
}Variants§
ExecutionPath
Inspection
Element
Upload
Page
Pages
Fields
pages: Vec<PageEvidence>Popup
Download
Configuration
Resolution
Fields
target: Box<TargetSpec>fingerprint: Box<TargetFingerprint>candidates: Vec<CandidateEvidence>Wait
Screenshot
BrowserExecution
JavaScriptResult
AccessibilitySnapshot
FormSnapshot
Fields
snapshot: FormSnapshotControlAction
Fields
action: ControlActionEvidenceStructuredExtraction
CookieState
PdfArtifact
Dialog
Emulation
HarArtifact
IntentExecution
Fields
record: ExecutionRecordHumanization
Input timing the runtime synthesized rather than observed, emitted when
the session opted into executionPolicy.humanize.
Without this, humanization is invisible to the layer that decides
whether an action happened: intent-engine verifies an effect against
what it asked the browser to do, and synthesized pauses, key-by-key
timing, and approach paths mean the browser did something with a
materially different shape. Recording the count and the total scripted
delay keeps verification and reality talking about the same event.
Carries no typed text — action counts and durations only.
Extraction
Result of resolving one named field of an ExtractIntent. Emitted
once per field, in field order, alongside a Resolution evidence
entry when the field resolved (deterministically or via vision).
value: None means the field could not be resolved; errorCode
then carries why (e.g. targetNotFound, targetAmbiguous,
visionAssistDenied, visionAssistFailed) without failing the rest
of the extraction.