> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# protocol • AI Agent SDK

> Action Trace Protocol for PraisonAI Agents.

# protocol

<Badge color="blue">AI Agent</Badge>

Action Trace Protocol for PraisonAI Agents.

Lightweight protocol for tracing agent actions. Uses only stdlib
to ensure zero dependencies and minimal overhead.

Schema Version: 1.0

## Import

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents.trace import protocol
```

## Classes

<CardGroup cols={2}>
  <Card title="ActionEventType" icon="brackets-curly" href="../classes/ActionEventType">
    Types of action events.
  </Card>

  <Card title="ActionEvent" icon="brackets-curly" href="../classes/ActionEvent">
    Lightweight action trace event.
  </Card>

  <Card title="TraceSinkProtocol" icon="brackets-curly" href="../classes/TraceSinkProtocol">
    Protocol for trace event sinks.
  </Card>

  <Card title="NoOpSink" icon="brackets-curly" href="../classes/NoOpSink">
    No-operation sink that discards all events.
  </Card>

  <Card title="ListSink" icon="brackets-curly" href="../classes/ListSink">
    Sink that collects events in a list.
  </Card>

  <Card title="ActionTraceConfig" icon="brackets-curly" href="../classes/ActionTraceConfig">
    Configuration for action tracing.
  </Card>

  <Card title="TraceEmitter" icon="brackets-curly" href="../classes/TraceEmitter">
    Emitter for action trace events.
  </Card>
</CardGroup>

## Functions

<CardGroup cols={2}>
  <Card title="get_default_emitter()" icon="function" href="../functions/get_default_emitter">
    Get the default trace emitter.
  </Card>

  <Card title="set_default_emitter()" icon="function" href="../functions/set_default_emitter">
    Set the default trace emitter.
  </Card>
</CardGroup>

### Constants

| Name             | Value   |
| ---------------- | ------- |
| `SCHEMA_VERSION` | `'1.0'` |
