# xyz.quasigod.lab.letta.conversation

> Published by [quasigod.spaces-alpha.bsky.network](https://lexicon.garden/identity/did:plc:7pezv7mb4agwyktraauhl26g)

## Description

A letta conversation: an ordered message thread bound to an agent. The rkey (TID) is the conversation's id in letta.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:7pezv7mb4agwyktraauhl26g/xyz.quasigod.lab.letta.conversation)
- [Documentation](https://lexicon.garden/lexicon/did:plc:7pezv7mb4agwyktraauhl26g/xyz.quasigod.lab.letta.conversation/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:7pezv7mb4agwyktraauhl26g/xyz.quasigod.lab.letta.conversation/examples)

## Definitions

### `xyz.quasigod.lab.letta.conversation`

**Type**: `record`

A letta conversation persisted in a permissioned space. The record is write-once config: the message thread is the messages referencing this conversation, and the in-context window is derived from their status+seq (see xyz.quasigod.lab.letta.message), so appending a message never rewrites this record.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `role` | `string` | Yes | primary: the agent's main thread (exactly one per agent, referenced by the agent's primaryConversation). fork: a branched copy of a message prefix. |
| `agent` | `string` (at-uri) | Yes | The agent this conversation belongs to. |
| `model` | `string` | No | Optional per-conversation model override. |
| `title` | `string` | No | Optional display title. |
| `hidden` | `boolean` | No | Hidden conversations are excluded from listings. Expected to be false. |
| `createdAt` | `string` (datetime) | Yes |  |
| `updatedAt` | `string` (datetime) | Yes |  |
| `modelSettings` | `ref` → `xyz.quasigod.lab.letta.defs#modelSettings` | No | Optional per-conversation model settings override. |

## Raw Schema

```json
{
  "id": "xyz.quasigod.lab.letta.conversation",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "agent",
          "role",
          "lastSeq",
          "createdAt",
          "updatedAt"
        ],
        "properties": {
          "role": {
            "type": "string",
            "description": "primary: the agent's main thread (exactly one per agent, referenced by the agent's primaryConversation). fork: a branched copy of a message prefix.",
            "knownValues": [
              "primary",
              "fork"
            ]
          },
          "agent": {
            "type": "string",
            "format": "at-uri",
            "description": "The agent this conversation belongs to."
          },
          "model": {
            "type": "string",
            "maxLength": 256,
            "description": "Optional per-conversation model override."
          },
          "title": {
            "type": "string",
            "maxLength": 256,
            "description": "Optional display title."
          },
          "hidden": {
            "type": "boolean",
            "description": "Hidden conversations are excluded from listings. Expected to be false."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          },
          "updatedAt": {
            "type": "string",
            "format": "datetime"
          },
          "modelSettings": {
            "ref": "xyz.quasigod.lab.letta.defs#modelSettings",
            "type": "ref",
            "description": "Optional per-conversation model settings override."
          }
        }
      },
      "description": "A letta conversation persisted in a permissioned space. The record is write-once config: the message thread is the messages referencing this conversation, and the in-context window is derived from their status+seq (see xyz.quasigod.lab.letta.message), so appending a message never rewrites this record."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "A letta conversation: an ordered message thread bound to an agent. The rkey (TID) is the conversation's id in letta."
}
```
