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

# SessionObserver

> Receives one session's activity in delivery order.

Receives one session's activity in delivery order. Calls are synchronous
and errors thrown from them are swallowed, so an observer cannot break the
session it watches.

## Methods

### close()

```typescript
close(error: null | Error): void
```

The session was released or its connection closed; nothing more arrives.

#### Parameters

**error** `null | Error` *required*

### extension()

```typescript
extension(notification: CognitionExtensionNotification): void
```

A session-scoped `_cognition.ai/*` notification.

#### Parameters

**notification** `CognitionExtensionNotification` *required*

### prompt()

```typescript
prompt(prompt: OutgoingPrompt): void
```

A prompt is about to be sent.

#### Parameters

**prompt** `OutgoingPrompt` *required*

### promptRejected()

```typescript
promptRejected(error: unknown): void
```

The agent rejected the turn's prompt (not a `postMessage()` injection).

#### Parameters

**error** `unknown` *required*

### replayed()

```typescript
replayed(updates: readonly SessionUpdate[]): void
```

The transcript replayed while the session was loaded or attached.

#### Parameters

**updates** `readonly SessionUpdate[]` *required*

**Type:** `readonly SessionUpdate[]`

### update()

```typescript
update(update: SessionUpdate): void
```

A live `session/update` (replayed history arrives via `replayed`).

#### Parameters

**update** `SessionUpdate` *required*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.