MCPcopy Create free account
hub / github.com/AI45Lab/Code / agent_event_to_ahp_events

Function agent_event_to_ahp_events

core/src/ahp/contract.rs:8–74  ·  view source on GitHub ↗

Convert a runtime event into zero or more harness-facing AHP contract events. The SDK event stream remains product/UI friendly. This mapper defines the durable AHP-facing contract used by runtimes, replay, and audit.

(
    event: &AgentEvent,
    run_id: &str,
    default_session_id: &str,
    agent_id: &str,
    depth: u32,
)

Source from the content-addressed store, hash-verified

6/// The SDK event stream remains product/UI friendly. This mapper defines the
7/// durable AHP-facing contract used by runtimes, replay, and audit.
8pub fn agent_event_to_ahp_events(
9 event: &AgentEvent,
10 run_id: &str,
11 default_session_id: &str,
12 agent_id: &str,
13 depth: u32,
14) -> Vec<a3s_ahp::AhpEvent> {
15 match event {
16 AgentEvent::Start { prompt } => vec![run_lifecycle_event(RunLifecycleParams {
17 run_id,
18 session_id: default_session_id,
19 agent_id,
20 depth,
21 status: a3s_ahp::RunStatus::Executing,
22 prompt: Some(prompt.clone()),
23 result_summary: None,
24 error: None,
25 })],
26 AgentEvent::PlanningStart { prompt } => vec![run_lifecycle_event(RunLifecycleParams {
27 run_id,
28 session_id: default_session_id,
29 agent_id,
30 depth,
31 status: a3s_ahp::RunStatus::Planning,
32 prompt: Some(prompt.clone()),
33 result_summary: None,
34 error: None,
35 })],
36 AgentEvent::TaskUpdated { session_id, tasks } => {
37 vec![task_list_event(run_id, session_id, agent_id, depth, tasks)]
38 }
39 AgentEvent::End {
40 text,
41 verification_summary,
42 ..
43 } => vec![
44 run_lifecycle_event(RunLifecycleParams {
45 run_id,
46 session_id: default_session_id,
47 agent_id,
48 depth,
49 status: a3s_ahp::RunStatus::Completed,
50 prompt: None,
51 result_summary: Some(text.clone()),
52 error: None,
53 }),
54 verification_event(
55 run_id,
56 default_session_id,
57 agent_id,
58 depth,
59 verification_summary,
60 ),
61 ],
62 AgentEvent::Error { message } => vec![run_lifecycle_event(RunLifecycleParams {
63 run_id,
64 session_id: default_session_id,
65 agent_id,

Calls

no outgoing calls