{
"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."
}