Skip to content

Shared agent event model

Every provider adapter translates its own transport into one shared event stream, so sessions, the activity UI, and AIgency never need agent-specific logic.

Claude Code, Codex, and Antigravity report progress in three completely different ways — structured SDK events, structured SDK events with different shapes, and classified PTY text. AgentDock normalizes all three into one shared AgentEvent model before anything else consumes them.

Event shapes

  • Assistant message content.
  • Activity started / updated / completed — the basis for the structured tool-call and file-edit cards in the conversation view.
  • Interaction required — a permission, choice, or authentication prompt, surfaced as an interaction card. See Approvals and interactions.
  • Model and usage information.

Note

Some providers report a provisional completion before their final tool result arrives. The shared reducer that assembles these events supports updating an already-emitted activity by id, rather than assuming each activity is reported exactly once.

Who consumes this

Sessions render it as a conversation, the AIgency activity feed folds it into a run-wide timeline, and neither needs to know which agent produced a given event — they consume the same shape regardless of transport.