feat: align browser callback runtime and export flows
Consolidate the browser task runtime around the callback path, add safer artifact opening for Zhihu exports, and cover the new service/browser flows with focused tests and supporting docs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -21,6 +21,24 @@ fn browser_init_round_trip_uses_frozen_wire_format() {
|
||||
assert_eq!(serde_json::to_string(&message).unwrap(), raw);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn browser_lifecycle_messages_use_frozen_wire_tags() {
|
||||
let connect_raw = r#"{"type":"connect"}"#;
|
||||
let start_raw = r#"{"type":"start"}"#;
|
||||
let stop_raw = r#"{"type":"stop"}"#;
|
||||
|
||||
let connect: BrowserMessage = serde_json::from_str(connect_raw).unwrap();
|
||||
let start: BrowserMessage = serde_json::from_str(start_raw).unwrap();
|
||||
let stop: BrowserMessage = serde_json::from_str(stop_raw).unwrap();
|
||||
|
||||
assert_eq!(connect, BrowserMessage::Connect);
|
||||
assert_eq!(start, BrowserMessage::Start);
|
||||
assert_eq!(stop, BrowserMessage::Stop);
|
||||
assert_eq!(serde_json::to_string(&connect).unwrap(), connect_raw);
|
||||
assert_eq!(serde_json::to_string(&start).unwrap(), start_raw);
|
||||
assert_eq!(serde_json::to_string(&stop).unwrap(), stop_raw);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn command_serializes_action_and_security_fields() {
|
||||
let message = AgentMessage::Command {
|
||||
@@ -40,6 +58,16 @@ fn command_serializes_action_and_security_fields() {
|
||||
assert!(raw.contains(r#""expected_domain":"oa.example.com""#));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn agent_status_changed_serializes_with_expected_tag() {
|
||||
let raw = serde_json::to_string(&AgentMessage::StatusChanged {
|
||||
state: "started".to_string(),
|
||||
})
|
||||
.unwrap();
|
||||
|
||||
assert_eq!(raw, r#"{"type":"status_changed","state":"started"}"#);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn response_deserializes_timing_and_payload() {
|
||||
let raw = r#"{"type":"response","seq":7,"success":true,"data":{"text":"提交成功"},"aom_snapshot":[],"timing":{"queue_ms":2,"exec_ms":38}}"#;
|
||||
|
||||
Reference in New Issue
Block a user