chat.gel.assistant.message

One message in a chat, from the user or the assistant. A reply's key is the user message's key plus '.r' and the attempt number, such as '.r0' or '.r1'. The app creates the reply with status 'pending' and no content, it fills it in when generation ends. Creating fails if the key is taken, so each attempt gets exactly one reply. Sort replies by attempt number rather than by key, since '.r10' sorts before '.r2'.

Repository @gel.chat did:plc:k2csuyvih44bjf2lex73x56v namespace authority
Details · record, key any
Kindrecord
Record keyany
Authorityassistant.gel.chat
Indexed
cid bafyreibht2utlnpfuzdubkuqi4426yf4nc3pjse6js4ve3mlbaloeaun5i

Checks

Valid
  • unlimited-string defs.main.record.properties.roleNo maxLength, maxGraphemes or format limits this string.
  • unlimited-string defs.main.record.properties.statusNo maxLength, maxGraphemes or format limits this string.
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "One message in a chat, from the user or the assistant. A reply's key is the user message's key plus '.r' and the attempt number, such as '.r0' or '.r1'. The app creates the reply with status 'pending' and no content, it fills it in when generation ends. Creating fails if the key is taken, so each attempt gets exactly one reply. Sort replies by attempt number rather than by key, since '.r10' sorts before '.r2'.",
      "key": "any",
      "record": {
        "properties": {
          "content": {
            "refs": [
              "chat.gel.assistant.defs#plainContent",
              "chat.gel.assistant.defs#encryptedContent"
            ],
            "type": "union"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "effort": {
            "description": "The reasoning effort (assistant message).",
            "ref": "chat.gel.assistant.defs#effort",
            "type": "ref"
          },
          "error": {
            "maxLength": 3000,
            "type": "string"
          },
          "generation": {
            "description": "On a user message, asks the assistant to reply. The app only answers messages written by the chat's owner, and only recent ones: an old unanswered message found during a resync is left alone.",
            "ref": "chat.gel.assistant.defs#generationRequest",
            "type": "ref"
          },
          "model": {
            "description": "The model that generated the response (assistant message).",
            "ref": "chat.gel.assistant.defs#modelRef",
            "type": "ref"
          },
          "parent": {
            "description": "The key of the previous message. Siblings are edits or regenerations.",
            "format": "record-key",
            "type": "string"
          },
          "role": {
            "knownValues": [
              "user",
              "assistant"
            ],
            "type": "string"
          },
          "status": {
            "description": "Generation completion status (assistant message).",
            "knownValues": [
              "pending",
              "complete",
              "error",
              "cancelled"
            ],
            "type": "string"
          },
          "usage": {
            "ref": "chat.gel.assistant.defs#usage",
            "type": "ref"
          }
        },
        "required": [
          "role",
          "content",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "chat.gel.assistant.message",
  "lexicon": 1
}