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

# API and Events

> App-server events and desktop runtime messages used by Autopilot.

## Overview

Autopilot uses an in‑process desktop runtime. The app sends user actions to the
Codex app‑server client and renders normalized event streams for UI updates.

**Note:** Current desktop builds connect to Codex via the app‑server client. Other agent
adapters exist in the repo but are not enabled by default.

## Core Messages

* `UserAction::NewChat` — start a new session and thread
* `UserAction::Message` — send a prompt to the active thread
* `UserAction::Interrupt` — stop an active turn

## Session ID Flow

Autopilot uses a two-phase session ID:

1. Temporary session ID from `connect_unified_agent`
2. Actual ACP session ID emitted via `SessionStarted`

All messages must use the actual ACP session ID.

## Event Streams

Normalized agent events are surfaced to the UI, including:

* message/turn start and completion
* tool call updates
* token usage and rate limits

For full type definitions, see the Autopilot Desktop API docs in the OpenAgents
repo.
