1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//! A2A (Agent-to-Agent) protocol message telemetry records.
use ;
use ;
/// One A2A message exchange between the worker and a remote agent.
///
/// `blocking` indicates whether the caller awaited a response. `output` and
/// `error` are mutually exclusive based on `success`.
///
/// # Examples
///
/// ```rust
/// use codetether_agent::telemetry::A2AMessageRecord;
/// use chrono::Utc;
///
/// let r = A2AMessageRecord {
/// tool_name: "delegate".into(),
/// task_id: "task-1".into(),
/// blocking: true,
/// prompt: "hello".into(),
/// duration_ms: 120,
/// success: true,
/// output: Some("hi".into()),
/// error: None,
/// timestamp: Utc::now(),
/// };
/// assert!(r.success);
/// ```