network.sharedcomputer.chat.defs

sharedcomputer.network

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "effort": {
      "description": "The model's reasoning effort.",
      "knownValues": [
        "none",
        "low",
        "medium",
        "high",
        "max"
      ],
      "type": "string"
    },
    "encryptedContent": {
      "description": "A sealed plainContent, or the sealed fields of the enclosing record. All user content is sealed, metadata stays in the clear.",
      "properties": {
        "blobs": {
          "description": "Encrypted blobs referenced inside the ciphertext, listed so the PDS keeps them.",
          "items": {
            "type": "blob"
          },
          "maxLength": 100,
          "type": "array"
        },
        "ciphertext": {
          "maxLength": 1000000,
          "type": "bytes"
        },
        "keyId": {
          "maxLength": 128,
          "type": "string"
        },
        "nonce": {
          "maxLength": 64,
          "type": "bytes"
        },
        "scheme": {
          "maxLength": 128,
          "type": "string"
        }
      },
      "required": [
        "scheme",
        "keyId",
        "nonce",
        "ciphertext"
      ],
      "type": "object"
    },
    "extractedText": {
      "description": "Cache for text pulled from a file.",
      "properties": {
        "method": {
          "knownValues": [
            "text",
            "ocr"
          ],
          "type": "string"
        },
        "text": {
          "accept": [
            "text/plain"
          ],
          "maxSize": 20000000,
          "type": "blob"
        }
      },
      "required": [
        "text",
        "method"
      ],
      "type": "object"
    },
    "filePart": {
      "properties": {
        "extracted": {
          "ref": "#extractedText",
          "type": "ref"
        },
        "file": {
          "accept": [
            "*/*"
          ],
          "maxSize": 50000000,
          "type": "blob"
        },
        "name": {
          "maxLength": 1024,
          "type": "string"
        }
      },
      "required": [
        "file"
      ],
      "type": "object"
    },
    "generationRequest": {
      "properties": {
        "attempt": {
          "default": 0,
          "description": "The reply is written as '{messageKey}.r{attempt}'. Increase by 1 to ask for a regeneration.",
          "maximum": 1000,
          "minimum": 0,
          "type": "integer"
        },
        "effort": {
          "ref": "#effort",
          "type": "ref"
        },
        "model": {
          "description": "Model used in generating the response. If empty falls back to previous response model, then the user's default.",
          "ref": "#modelRef",
          "type": "ref"
        },
        "tools": {
          "description": "Ids for the tools the assistant may use for this turn.",
          "items": {
            "maxLength": 128,
            "type": "string"
          },
          "maxLength": 64,
          "type": "array"
        }
      },
      "type": "object"
    },
    "imagePart": {
      "properties": {
        "alt": {
          "maxGraphemes": 1000,
          "maxLength": 10000,
          "type": "string"
        },
        "image": {
          "accept": [
            "image/png",
            "image/jpeg",
            "image/webp",
            "image/gif"
          ],
          "maxSize": 20000000,
          "type": "blob"
        }
      },
      "required": [
        "image"
      ],
      "type": "object"
    },
    "modelRef": {
      "description": "The model being used. API keys are stored in the app database.",
      "properties": {
        "id": {
          "maxLength": 256,
          "type": "string"
        },
        "provider": {
          "knownValues": [
            "anthropic",
            "openai",
            "google",
            "openrouter",
            "cocore"
          ],
          "maxLength": 128,
          "type": "string"
        }
      },
      "required": [
        "provider",
        "id"
      ],
      "type": "object"
    },
    "plainContent": {
      "properties": {
        "parts": {
          "items": {
            "refs": [
              "#textPart",
              "#reasoningPart",
              "#imagePart",
              "#filePart",
              "#toolCallPart",
              "#toolResultPart",
              "#sourcePart"
            ],
            "type": "union"
          },
          "maxLength": 1000,
          "type": "array"
        }
      },
      "required": [
        "parts"
      ],
      "type": "object"
    },
    "providerData": {
      "description": "JSON-encoded provider options for this part, such as reasoning signatures. Sent back unchanged when continuing with the same provider.",
      "maxLength": 100000,
      "type": "string"
    },
    "reasoningPart": {
      "properties": {
        "providerData": {
          "ref": "#providerData",
          "type": "ref"
        },
        "text": {
          "maxLength": 500000,
          "type": "string"
        }
      },
      "type": "object"
    },
    "sourcePart": {
      "description": "URL source cited by the assistant.",
      "properties": {
        "title": {
          "maxGraphemes": 300,
          "maxLength": 3000,
          "type": "string"
        },
        "url": {
          "format": "uri",
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "type": "object"
    },
    "textPart": {
      "properties": {
        "providerData": {
          "ref": "#providerData",
          "type": "ref"
        },
        "text": {
          "maxLength": 500000,
          "type": "string"
        }
      },
      "required": [
        "text"
      ],
      "type": "object"
    },
    "toolCallPart": {
      "properties": {
        "callId": {
          "maxLength": 256,
          "type": "string"
        },
        "input": {
          "description": "JSON-encoded arguments.",
          "maxLength": 200000,
          "type": "string"
        },
        "providerData": {
          "ref": "#providerData",
          "type": "ref"
        },
        "tool": {
          "maxLength": 128,
          "type": "string"
        }
      },
      "required": [
        "callId",
        "tool",
        "input"
      ],
      "type": "object"
    },
    "toolResultPart": {
      "properties": {
        "callId": {
          "maxLength": 256,
          "type": "string"
        },
        "isError": {
          "default": false,
          "type": "boolean"
        },
        "output": {
          "description": "Tool output as text or JSON-encoded data.",
          "maxLength": 500000,
          "type": "string"
        },
        "outputBlob": {
          "accept": [
            "*/*"
          ],
          "description": "Used when the output is too long for the output record. Output will contain a summary in that case.",
          "maxSize": 50000000,
          "type": "blob"
        }
      },
      "required": [
        "callId",
        "output"
      ],
      "type": "object"
    },
    "usage": {
      "properties": {
        "inputTokens": {
          "minimum": 0,
          "type": "integer"
        },
        "outputTokens": {
          "minimum": 0,
          "type": "integer"
        },
        "reasoningTokens": {
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "id": "network.sharedcomputer.chat.defs",
  "lexicon": 1
}

Validate Record

Validate a record against network.sharedcomputer.chat.defs

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:n4mzxx6z4ehnswc7znswtfr2
CID
bafyreia35rfv63pdnp5clap2bwspjkq5q5qdi4utbmzinsgqm5jz3ydoiy
Indexed At
2026-09-27 01:44 UTC
AT-URI
at://did:plc:n4mzxx6z4ehnswc7znswtfr2/com.atproto.lexicon.schema/network.sharedcomputer.chat.defs

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

Lexicon Garden

@