Client Diminuendo (Gateway) Podium / Agent
│ │ │
│── initialize ───────────────>│ │
│<─ initialize response ───────│ │
│── initialized (notif.) ─────>│ │
│ │ │
│── thread/start ─────────────>│── POST /instances ──────────>│
│<─ thread/start response ─────│<─ {instance_id} ─────────────│
│ │── WS /agent/{instanceId} ──>│
│<─ thread/started (notif.) ──│ │
│ │ │
│── turn/start ───────────────>│── native: process_message ─>│ agent.onMessage()
│ (ACP JSON-RPC) │ (Podium native format) │ agent.run()
│<─ turn/started (notif.) ────│<─ native: StreamUpdate ──────│ ctx.emit()
│<─ item/agentMessage/delta ──│<─ native: StreamUpdate ──────│
│ (ACP notification) │ (PodiumNativeMapper │
│<─ item/completed (notif.) ──│ translates native → ACP) │
│<─ turn/completed (notif.) ──│<─ native: StreamUpdate ──────│
│ │ │
│── turn/start ───────────────>│ ... (repeat) ... │