art.cllctv.actor.profile

cllctv.art

Schema Diff

+138 -21

From

CID
bafyreifvssu2mxd...
Indexed At
2026-08-28 07:51 UTC
View this version

To

CID
bafyreialzkamvma...
Indexed At
2026-10-02 17:40 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

12 breaking changes, 49 non-breaking changes.

Breaking Changes (12)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile:body", src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.createdAt", kind: "prop", name: Some("createdAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#viewBasic", src: "art.cllctv.actor.profile#viewBasic", tgt: "art.cllctv.actor.profile#viewBasic.handle", kind: "prop", name: Some("handle") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#viewBasic", src: "art.cllctv.actor.profile#viewBasic", tgt: "art.cllctv.actor.profile#viewBasic.role", kind: "prop", name: Some("role") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#viewBasic", src: "art.cllctv.actor.profile#viewBasic", tgt: "art.cllctv.actor.profile#viewBasic.did", kind: "prop", name: Some("did") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#viewDetailed", src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.role", kind: "prop", name: Some("role") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#viewDetailed", src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.did", kind: "prop", name: Some("did") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#viewDetailed", src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.handle", kind: "prop", name: Some("handle") }
  • ConstraintTightened ConstraintTightened { vertex_id: "art.cllctv.actor.profile:body.description", sort: "maxLength", old_value: "2560", new_value: "256" }
  • ConstraintTightened ConstraintTightened { vertex_id: "art.cllctv.actor.profile:body.bannerHash", sort: "maxLength", old_value: "640", new_value: "64" }
  • ConstraintTightened ConstraintTightened { vertex_id: "art.cllctv.actor.profile:body.pronouns", sort: "maxLength", old_value: "200", new_value: "20" }
  • ConstraintTightened ConstraintTightened { vertex_id: "art.cllctv.actor.profile:body.displayName", sort: "maxLength", old_value: "640", new_value: "64" }
  • ConstraintTightened ConstraintTightened { vertex_id: "art.cllctv.actor.profile:body.avatarHash", sort: "maxLength", old_value: "640", new_value: "64" }
Non-Breaking Changes (49)
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.avatar" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.avatarHash" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.did" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.displayName" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.handle" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.labels" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.labels:items" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.role" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.avatar" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.avatarHash" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.banner" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.bannerHash" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.description" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.did" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.displayName" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.handle" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.labels" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.labels:items" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.pronouns" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.role" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.theme" }
  • AddedVertex AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.website" }
  • AddedVertex AddedVertex { vertex_id: "com.atproto.label.defs#label" }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewBasic", tgt: "art.cllctv.actor.profile#viewBasic.avatar", kind: "prop", name: Some("avatar") }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewBasic", tgt: "art.cllctv.actor.profile#viewBasic.avatarHash", kind: "prop", name: Some("avatarHash") }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewBasic", tgt: "art.cllctv.actor.profile#viewBasic.displayName", kind: "prop", name: Some("displayName") }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewBasic", tgt: "art.cllctv.actor.profile#viewBasic.labels", kind: "prop", name: Some("labels") }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewBasic.labels", tgt: "art.cllctv.actor.profile#viewBasic.labels:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewBasic.labels:items", tgt: "com.atproto.label.defs#label", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.avatar", kind: "prop", name: Some("avatar") }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.avatarHash", kind: "prop", name: Some("avatarHash") }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.banner", kind: "prop", name: Some("banner") }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.bannerHash", kind: "prop", name: Some("bannerHash") }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.description", kind: "prop", name: Some("description") }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.displayName", kind: "prop", name: Some("displayName") }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.labels", kind: "prop", name: Some("labels") }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.pronouns", kind: "prop", name: Some("pronouns") }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.theme", kind: "prop", name: Some("theme") }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.website", kind: "prop", name: Some("website") }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewDetailed.labels", tgt: "art.cllctv.actor.profile#viewDetailed.labels:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewDetailed.labels:items", tgt: "com.atproto.label.defs#label", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "art.cllctv.actor.profile#viewDetailed.theme", tgt: "art.cllctv.actor.profile#theme", kind: "ref", name: None }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "art.cllctv.actor.profile:body.description", sort: "maxGraphemes", old_value: "256", new_value: "2560" }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "art.cllctv.actor.profile:body.bannerHash", sort: "maxGraphemes", old_value: "64", new_value: "640" }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "art.cllctv.actor.profile:body.pronouns", sort: "maxGraphemes", old_value: "20", new_value: "200" }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "art.cllctv.actor.profile:body.displayName", sort: "maxGraphemes", old_value: "64", new_value: "640" }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "art.cllctv.actor.profile:body.avatarHash", sort: "maxGraphemes", old_value: "64", new_value: "640" }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.avatar" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.avatarHash" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.did" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.displayName" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.handle" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.labels" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.labels:items" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewBasic.role" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.avatar" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.avatarHash" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.banner" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.bannerHash" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.description" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.did" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.displayName" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.handle" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.labels" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.labels:items" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.pronouns" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.role" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.theme" }
  • AddedVertex { vertex_id: "art.cllctv.actor.profile#viewDetailed.website" }
  • AddedVertex { vertex_id: "com.atproto.label.defs#label" }

Constraint Changes

  • ConstraintTightened ConstraintTightened { vertex_id: "art.cllctv.actor.profile:body.avatarHash", sort: "maxLength", old_value: "640", new_value: "64" }
  • ConstraintTightened ConstraintTightened { vertex_id: "art.cllctv.actor.profile:body.description", sort: "maxLength", old_value: "2560", new_value: "256" }
  • ConstraintTightened ConstraintTightened { vertex_id: "art.cllctv.actor.profile:body.pronouns", sort: "maxLength", old_value: "200", new_value: "20" }
  • ConstraintTightened ConstraintTightened { vertex_id: "art.cllctv.actor.profile:body.bannerHash", sort: "maxLength", old_value: "640", new_value: "64" }
  • ConstraintTightened ConstraintTightened { vertex_id: "art.cllctv.actor.profile:body.displayName", sort: "maxLength", old_value: "640", new_value: "64" }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "art.cllctv.actor.profile:body.avatarHash", sort: "maxGraphemes", old_value: "64", new_value: "640" }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "art.cllctv.actor.profile:body.description", sort: "maxGraphemes", old_value: "256", new_value: "2560" }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "art.cllctv.actor.profile:body.pronouns", sort: "maxGraphemes", old_value: "20", new_value: "200" }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "art.cllctv.actor.profile:body.bannerHash", sort: "maxGraphemes", old_value: "64", new_value: "640" }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "art.cllctv.actor.profile:body.displayName", sort: "maxGraphemes", old_value: "64", new_value: "640" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#viewDetailed", src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.role", kind: "prop", name: Some("role") }
  • Breaking: RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#viewDetailed", src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.did", kind: "prop", name: Some("did") }
  • Breaking: RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#viewDetailed", src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.handle", kind: "prop", name: Some("handle") }
  • Breaking: RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile:body", src: "art.cllctv.actor.profile:body", tgt: "art.cllctv.actor.profile:body.createdAt", kind: "prop", name: Some("createdAt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#viewBasic", src: "art.cllctv.actor.profile#viewBasic", tgt: "art.cllctv.actor.profile#viewBasic.handle", kind: "prop", name: Some("handle") }
  • Breaking: RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#viewBasic", src: "art.cllctv.actor.profile#viewBasic", tgt: "art.cllctv.actor.profile#viewBasic.role", kind: "prop", name: Some("role") }
  • Breaking: RequiredEdgeAdded { vertex_id: "art.cllctv.actor.profile#viewBasic", src: "art.cllctv.actor.profile#viewBasic", tgt: "art.cllctv.actor.profile#viewBasic.did", kind: "prop", name: Some("did") }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewBasic", tgt: "art.cllctv.actor.profile#viewBasic.avatar", kind: "prop", name: Some("avatar") }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewBasic", tgt: "art.cllctv.actor.profile#viewBasic.avatarHash", kind: "prop", name: Some("avatarHash") }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewBasic", tgt: "art.cllctv.actor.profile#viewBasic.displayName", kind: "prop", name: Some("displayName") }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewBasic", tgt: "art.cllctv.actor.profile#viewBasic.labels", kind: "prop", name: Some("labels") }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewBasic.labels", tgt: "art.cllctv.actor.profile#viewBasic.labels:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewBasic.labels:items", tgt: "com.atproto.label.defs#label", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.avatar", kind: "prop", name: Some("avatar") }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.avatarHash", kind: "prop", name: Some("avatarHash") }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.banner", kind: "prop", name: Some("banner") }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.bannerHash", kind: "prop", name: Some("bannerHash") }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.description", kind: "prop", name: Some("description") }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.displayName", kind: "prop", name: Some("displayName") }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.labels", kind: "prop", name: Some("labels") }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.pronouns", kind: "prop", name: Some("pronouns") }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.theme", kind: "prop", name: Some("theme") }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewDetailed", tgt: "art.cllctv.actor.profile#viewDetailed.website", kind: "prop", name: Some("website") }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewDetailed.labels", tgt: "art.cllctv.actor.profile#viewDetailed.labels:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewDetailed.labels:items", tgt: "com.atproto.label.defs#label", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "art.cllctv.actor.profile#viewDetailed.theme", tgt: "art.cllctv.actor.profile#theme", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A declaration of a cllctv.ART account profile.",
6 6
      "key": "literal:self",
7 7
      "record": {
8 8
        "properties": {
9 9
          "avatar": {
10 10
            "accept": [
11 -
              "image/png",
12 -
              "image/jpeg"
11 +
              "image/jpeg",
12 +
              "image/png"
13 13
            ],
14 -
            "description": "Small image to be displayed next to posts from account. AKA, 'profile picture'",
15 -
            "maxSize": 1000000,
14 +
            "maxSize": 2000000,
16 15
            "type": "blob"
17 16
          },
18 17
          "avatarHash": {
19 -
            "maxGraphemes": 64,
20 -
            "maxLength": 640,
18 +
            "maxGraphemes": 640,
19 +
            "maxLength": 64,
21 20
            "type": "string"
22 21
          },
23 22
          "banner": {
24 23
            "accept": [
25 -
              "image/png",
26 -
              "image/jpeg"
24 +
              "image/jpeg",
25 +
              "image/png"
27 26
            ],
28 -
            "description": "Larger horizontal image to display behind profile view.",
29 -
            "maxSize": 1000000,
27 +
            "maxSize": 2000000,
30 28
            "type": "blob"
31 29
          },
32 30
          "bannerHash": {
33 -
            "maxGraphemes": 64,
34 -
            "maxLength": 640,
31 +
            "maxGraphemes": 640,
32 +
            "maxLength": 64,
35 33
            "type": "string"
36 34
          },
37 35
          "createdAt": {
38 36
            "format": "datetime",
39 37
            "type": "string"
40 38
          },
41 39
          "description": {
42 -
            "description": "Free-form profile description text.",
43 -
            "maxGraphemes": 256,
44 -
            "maxLength": 2560,
40 +
            "maxGraphemes": 2560,
41 +
            "maxLength": 256,
45 42
            "type": "string"
46 43
          },
47 44
          "displayName": {
48 -
            "maxGraphemes": 64,
49 -
            "maxLength": 640,
45 +
            "maxGraphemes": 640,
46 +
            "maxLength": 64,
50 47
            "type": "string"
51 48
          },
52 49
          "labels": {
53 -
            "description": "Self-label values, specific to the cllctv.ART application, on the overall account.",
54 50
            "refs": [
55 51
              "com.atproto.label.defs#selfLabels"
56 52
            ],
57 53
            "type": "union"
58 54
          },
59 55
          "pronouns": {
60 -
            "description": "Free-form pronouns text.",
61 -
            "maxGraphemes": 20,
62 -
            "maxLength": 200,
56 +
            "maxGraphemes": 200,
57 +
            "maxLength": 20,
63 58
            "type": "string"
64 59
          },
65 60
          "theme": {
66 61
            "ref": "#theme",
67 62
            "type": "ref"
68 63
          },
69 64
          "website": {
70 65
            "format": "uri",
71 66
            "type": "string"
72 67
          }
73 68
        },
69 +
        "required": [
70 +
          "createdAt"
71 +
        ],
74 72
        "type": "object"
75 73
      },
76 74
      "type": "record"
77 75
    },
78 76
    "theme": {
79 77
      "properties": {
80 78
        "signature": {
81 79
          "refs": [
82 80
            "art.cllctv.theme.color#hsl"
83 81
          ],
84 82
          "type": "union"
85 83
        }
86 84
      },
87 85
      "required": [
88 86
        "signature"
89 87
      ],
90 88
      "type": "object"
89 +
    },
90 +
    "viewBasic": {
91 +
      "properties": {
92 +
        "avatar": {
93 +
          "format": "uri",
94 +
          "type": "string"
95 +
        },
96 +
        "avatarHash": {
97 +
          "maxGraphemes": 640,
98 +
          "maxLength": 64,
99 +
          "type": "string"
100 +
        },
101 +
        "did": {
102 +
          "format": "did",
103 +
          "type": "string"
104 +
        },
105 +
        "displayName": {
106 +
          "maxGraphemes": 640,
107 +
          "maxLength": 64,
108 +
          "type": "string"
109 +
        },
110 +
        "handle": {
111 +
          "format": "handle",
112 +
          "type": "string"
113 +
        },
114 +
        "labels": {
115 +
          "items": {
116 +
            "ref": "com.atproto.label.defs#label",
117 +
            "type": "ref"
118 +
          },
119 +
          "type": "array"
120 +
        },
121 +
        "role": {
122 +
          "knownValues": [
123 +
            "member",
124 +
            "maker"
125 +
          ],
126 +
          "type": "string"
127 +
        }
128 +
      },
129 +
      "required": [
130 +
        "did",
131 +
        "handle",
132 +
        "role"
133 +
      ],
134 +
      "type": "object"
135 +
    },
136 +
    "viewDetailed": {
137 +
      "properties": {
138 +
        "avatar": {
139 +
          "format": "uri",
140 +
          "type": "string"
141 +
        },
142 +
        "avatarHash": {
143 +
          "maxGraphemes": 640,
144 +
          "maxLength": 64,
145 +
          "type": "string"
146 +
        },
147 +
        "banner": {
148 +
          "format": "uri",
149 +
          "type": "string"
150 +
        },
151 +
        "bannerHash": {
152 +
          "maxGraphemes": 640,
153 +
          "maxLength": 64,
154 +
          "type": "string"
155 +
        },
156 +
        "description": {
157 +
          "maxGraphemes": 2560,
158 +
          "maxLength": 256,
159 +
          "type": "string"
160 +
        },
161 +
        "did": {
162 +
          "format": "did",
163 +
          "type": "string"
164 +
        },
165 +
        "displayName": {
166 +
          "maxGraphemes": 640,
167 +
          "maxLength": 64,
168 +
          "type": "string"
169 +
        },
170 +
        "handle": {
171 +
          "format": "handle",
172 +
          "type": "string"
173 +
        },
174 +
        "labels": {
175 +
          "items": {
176 +
            "ref": "com.atproto.label.defs#label",
177 +
            "type": "ref"
178 +
          },
179 +
          "type": "array"
180 +
        },
181 +
        "pronouns": {
182 +
          "maxGraphemes": 200,
183 +
          "maxLength": 20,
184 +
          "type": "string"
185 +
        },
186 +
        "role": {
187 +
          "knownValues": [
188 +
            "member",
189 +
            "maker"
190 +
          ],
191 +
          "type": "string"
192 +
        },
193 +
        "theme": {
194 +
          "ref": "art.cllctv.actor.profile#theme",
195 +
          "type": "ref"
196 +
        },
197 +
        "website": {
198 +
          "format": "uri",
199 +
          "type": "string"
200 +
        }
201 +
      },
202 +
      "required": [
203 +
        "did",
204 +
        "handle",
205 +
        "role"
206 +
      ],
207 +
      "type": "object"
91 208
    }
92 209
  },
93 210
  "id": "art.cllctv.actor.profile",
94 211
  "lexicon": 1
95 212
}

Compare Other Versions

Lexicon Garden

@