# airdress.agent_chat.*

{/* Generated by scripts/generate-event-reference.mjs from https://schemas.airdress.co/operator/events/v1.json (operator v0.1.138).
    Do not edit by hand: run `pnpm generate:event-reference` and commit the result. */}

The events in the `airdress.agent_chat` family. How to read a section, and what
each audience means, is on the [event reference](/events/) page.

## `airdress.agent_chat.added`

Owner info Functions

An owner device recorded the commit that added the agent's leaf to the conversation's group, at this epoch.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- **Functions bound to this operator's events** (`source: operator`).

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

| Field | Type | Required | Description |
| ----- | ---- | -------- | ----------- |
| `assignment` | string (uuid) | yes |  |
| `by` | string (uuid) | yes | The owner device's enrollment. |
| `conversation` | string (uuid) | yes |  |
| `epoch` | integer (int64) | yes |  |

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "An owner device recorded the commit that added the agent's leaf to the conversation's group, at this epoch.",
  "properties": {
    "assignment": {
      "format": "uuid",
      "type": "string"
    },
    "by": {
      "description": "The owner device's enrollment.",
      "format": "uuid",
      "type": "string"
    },
    "conversation": {
      "format": "uuid",
      "type": "string"
    },
    "epoch": {
      "format": "int64",
      "type": "integer"
    }
  },
  "required": [
    "assignment",
    "by",
    "conversation",
    "epoch"
  ],
  "title": "AgentLeafAdded",
  "type": "object"
}
```

</details>

## `airdress.agent_chat.assigned`

Owner info Functions

The owner assigned a conversation to one of their agent devices.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- **Functions bound to this operator's events** (`source: operator`).

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

| Field | Type | Required | Description |
| ----- | ---- | -------- | ----------- |
| `agent` | string (uuid) | yes | The agent device's enrollment. |
| `by_device` | string or null | no | The owner device that decided, when a device did. |
| `conversation` | string (uuid) | yes |  |

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "The owner assigned a conversation to one of their agent devices.",
  "properties": {
    "agent": {
      "description": "The agent device's enrollment.",
      "format": "uuid",
      "type": "string"
    },
    "by_device": {
      "description": "The owner device that decided, when a device did.",
      "format": "uuid",
      "type": [
        "string",
        "null"
      ]
    },
    "conversation": {
      "format": "uuid",
      "type": "string"
    }
  },
  "required": [
    "agent",
    "conversation"
  ],
  "title": "AgentAssigned",
  "type": "object"
}
```

</details>

## `airdress.agent_chat.lane_created`

Owner info Functions

An agent device's own conversation with this operator's agent was created the first time it asked for one.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- **Functions bound to this operator's events** (`source: operator`).

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

| Field | Type | Required | Description |
| ----- | ---- | -------- | ----------- |
| `conversation` | string (uuid) | yes |  |
| `enrollment` | string (uuid) | yes | The agent device's enrollment. |

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "An agent device's own conversation with this operator's agent was created the first time it asked for one.",
  "properties": {
    "conversation": {
      "format": "uuid",
      "type": "string"
    },
    "enrollment": {
      "description": "The agent device's enrollment.",
      "format": "uuid",
      "type": "string"
    }
  },
  "required": [
    "conversation",
    "enrollment"
  ],
  "title": "AgentLaneCreated",
  "type": "object"
}
```

</details>

## `airdress.agent_chat.no_lane`

Owner warn

An agent device wrote to this operator's agent without a lane of its own, so the message reached nobody. Said for each such message.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- Not functions bound to this operator's events: it is kept off that path as too frequent or too internal. A subscription with a function target still receives it.

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

| Field | Type | Required | Description |
| ----- | ---- | -------- | ----------- |
| `enrollment` | string (uuid) | yes | The agent device's enrollment. |

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "An agent device wrote to this operator's agent without a lane of its own, so the message reached nobody. Said for each such message.",
  "properties": {
    "enrollment": {
      "description": "The agent device's enrollment.",
      "format": "uuid",
      "type": "string"
    }
  },
  "required": [
    "enrollment"
  ],
  "title": "AgentLaneMissing",
  "type": "object"
}
```

</details>

## `airdress.agent_chat.removed`

Owner info Functions

An owner device recorded the commit that removed the agent's leaf from the conversation's group, at this epoch.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- **Functions bound to this operator's events** (`source: operator`).

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

| Field | Type | Required | Description |
| ----- | ---- | -------- | ----------- |
| `assignment` | string (uuid) | yes |  |
| `by` | string (uuid) | yes | The owner device's enrollment. |
| `conversation` | string (uuid) | yes |  |
| `epoch` | integer (int64) | yes |  |

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "An owner device recorded the commit that removed the agent's leaf from the conversation's group, at this epoch.",
  "properties": {
    "assignment": {
      "format": "uuid",
      "type": "string"
    },
    "by": {
      "description": "The owner device's enrollment.",
      "format": "uuid",
      "type": "string"
    },
    "conversation": {
      "format": "uuid",
      "type": "string"
    },
    "epoch": {
      "format": "int64",
      "type": "integer"
    }
  },
  "required": [
    "assignment",
    "by",
    "conversation",
    "epoch"
  ],
  "title": "AgentLeafRemoved",
  "type": "object"
}
```

</details>

## `airdress.agent_chat.unassigned`

Owner info Functions

An agent device's assignment to a conversation ended; nothing more is fanned out to it.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- **Functions bound to this operator's events** (`source: operator`).

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

| Field | Type | Required | Description |
| ----- | ---- | -------- | ----------- |
| `assignment` | string (uuid) | yes |  |
| `by_device` | string or null | no | The owner device that decided, when a device did. |
| `conversation` | string (uuid) | yes |  |

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "An agent device's assignment to a conversation ended; nothing more is fanned out to it.",
  "properties": {
    "assignment": {
      "format": "uuid",
      "type": "string"
    },
    "by_device": {
      "description": "The owner device that decided, when a device did.",
      "format": "uuid",
      "type": [
        "string",
        "null"
      ]
    },
    "conversation": {
      "format": "uuid",
      "type": "string"
    }
  },
  "required": [
    "assignment",
    "conversation"
  ],
  "title": "AgentUnassigned",
  "type": "object"
}
```

</details>