# API Reference

## Props for `PersonaRuntimeProvider`

| Prop            | Type          | Default Value                                   | Description                                                                                         |
| --------------- | ------------- | ----------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `dev`           | boolean       | `false`                                         | Enable development mode for local Persona API usage.                                                |
| `logger`        | function      | `console.log`                                   | Custom logger for debugging and logging messages.                                                   |
| `protocols`     | object        | `{ rest: true, webrtc: true, websocket: true }` | Protocols to use for the chat. Can be enabled/disabled using boolean values.                        |
| `session`       | string        | `undefined`                                     | Session ID for the chat. Required for the chat to function.                                         |
| `apiKey`        | string        | `toolkit-test`                                  | API key for authentication. Required for the chat to function.                                      |
| `agentId`       | string        | `default`                                       | Agent ID for the chat. Required for the chat to function.                                           |
| `messageFilter` | MessageFilter | `undefined`                                     | Optional function to filter and transform messages before they are displayed in the chat interface. |
| `messageStorage`| MessageStorage| `InMemoryMessageStorage`                        | Optional storage implementation for persisting messages.                                            |
| `threads`       | boolean       | `false`                                         | Enable thread management.                                                                           |
| `tools`         | object\|array  | `undefined`                                     | Custom tools for the Transaction Protocol.                                                          |
