social.nstar.provider.declaration

nstar.social

Schema Diff

+22 -7

From

CID
bafyreify6ucwszy...
Indexed At
2026-05-01 05:42 UTC
View this version

To

CID
bafyreietelpko3a...
Indexed At
2026-06-19 07:18 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

3 breaking changes, 4 non-breaking changes.

Breaking Changes (3)
  • KindChanged KindChanged { vertex_id: "social.nstar.provider.declaration:body.services:items", old_kind: "string", new_kind: "ref" }
  • ConstraintAdded ConstraintAdded { vertex_id: "social.nstar.provider.declaration#service.id", sort: "maxLength", value: "64" }
  • ConstraintAdded ConstraintAdded { vertex_id: "social.nstar.provider.declaration#service.id", sort: "maxGraphemes", value: "640" }
Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "social.nstar.provider.declaration#service.id" }
  • AddedVertex AddedVertex { vertex_id: "social.nstar.provider.declaration#service.uri" }
  • AddedEdge AddedEdge { src: "social.nstar.provider.declaration#service", tgt: "social.nstar.provider.declaration#service.id", kind: "prop", name: Some("id") }
  • AddedEdge AddedEdge { src: "social.nstar.provider.declaration#service", tgt: "social.nstar.provider.declaration#service.uri", kind: "prop", name: Some("uri") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "social.nstar.provider.declaration#service.id" }
  • AddedVertex { vertex_id: "social.nstar.provider.declaration#service.uri" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "social.nstar.provider.declaration#service.id", sort: "maxGraphemes", value: "640" }
  • ConstraintAdded ConstraintAdded { vertex_id: "social.nstar.provider.declaration#service.id", sort: "maxLength", value: "64" }

Additional Notes

  • Breaking: KindChanged { vertex_id: "social.nstar.provider.declaration:body.services:items", old_kind: "string", new_kind: "ref" }
  • Non-breaking: AddedEdge { src: "social.nstar.provider.declaration#service", tgt: "social.nstar.provider.declaration#service.id", kind: "prop", name: Some("id") }
  • Non-breaking: AddedEdge { src: "social.nstar.provider.declaration#service", tgt: "social.nstar.provider.declaration#service.uri", kind: "prop", name: Some("uri") }
1 1
{
2 2
  "id": "social.nstar.provider.declaration",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "tid",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "did",
11 11
          "legalName",
12 12
          "displayName",
13 13
          "description",
14 14
          "services",
15 15
          "theme",
16 16
          "links",
17 17
          "contact"
18 18
        ],
19 19
        "properties": {
20 20
          "did": {
21 21
            "type": "string",
22 22
            "format": "uri",
23 23
            "description": "Provider's DID document containing 1 or more of following services: #atproto_pds, #appview_bsky, #appview_notif"
24 24
          },
25 25
          "links": {
26 26
            "ref": "#links",
27 27
            "type": "ref",
28 28
            "description": "URLs of the providers website and service policy documents."
29 29
          },
30 30
          "theme": {
31 31
            "ref": "#theme",
32 32
            "type": "ref",
33 33
            "description": "URLs of the providers website and service policy documents."
34 34
          },
35 35
          "contact": {
36 36
            "ref": "#contact",
37 37
            "type": "ref",
38 38
            "description": "Provider's contact information"
39 39
          },
40 40
          "services": {
41 41
            "type": "array",
42 42
            "items": {
43 -
              "type": "string",
44 -
              "knownValues": [
45 -
                "atproto_pds",
46 -
                "bsky_appview",
47 -
                "bsky_notif"
48 -
              ]
43 +
              "ref": "lex:social.nstar.actor.declaration#service",
44 +
              "type": "ref"
49 45
            },
46 +
            "maxLength": 100,
47 +
            "minLength": 1,
50 48
            "description": "The services offered by the provider as listed in the provider's DID document."
51 49
          },
52 50
          "legalName": {
53 51
            "type": "string",
54 52
            "maxLength": 64,
55 53
            "description": "Provider's full legal name",
56 54
            "maxGraphemes": 640
57 55
          },
58 56
          "description": {
59 57
            "type": "string",
60 58
            "maxLength": 256,
61 59
            "description": "Description of the services distinguish and are offered by provider.",
62 60
            "maxGraphemes": 2560
63 61
          },
64 62
          "displayName": {
65 63
            "type": "string",
66 64
            "maxLength": 15,
67 65
            "description": "Abbreviated name for displaying in limited UI space presentations (e.g. button label).",
68 66
            "maxGraphemes": 150
69 67
          }
70 68
        }
71 69
      },
72 70
      "description": "A declaration of an Atmosphere service provider."
73 71
    },
74 72
    "links": {
75 73
      "type": "object",
76 74
      "required": [
77 75
        "website",
78 76
        "privacyPolicy",
79 77
        "termsOfService"
80 78
      ],
81 79
      "properties": {
82 80
        "website": {
83 81
          "type": "string",
84 82
          "format": "uri",
85 83
          "description": "Provider's website reference."
86 84
        },
87 85
        "privacyPolicy": {
88 86
          "type": "string",
89 87
          "format": "uri",
90 88
          "description": "Link reference to the provider's privacy policy."
91 89
        },
92 90
        "termsOfService": {
93 91
          "type": "string",
94 92
          "format": "uri",
95 93
          "description": "Link reference to the provider's terms of service."
96 94
        }
97 95
      }
98 96
    },
99 97
    "theme": {
100 98
      "type": "object",
101 99
      "properties": {
102 100
        "logoPNG": {
103 101
          "type": "string",
104 102
          "maxLength": 4096,
105 103
          "description": "Providers branded logo in PNG format (base64 encoded). Optional.",
106 104
          "maxGraphemes": 40960
107 105
        },
108 106
        "logoSVG": {
109 107
          "type": "string",
110 108
          "maxLength": 4096,
111 109
          "description": "Providers branded template logo in SVG format. Optional.",
112 110
          "maxGraphemes": 40960
113 111
        },
114 112
        "colorDark": {
115 113
          "type": "string",
116 114
          "maxLength": 7,
117 115
          "description": "HEX color code to use in dark mode presentations. Optional.",
118 116
          "maxGraphemes": 70
119 117
        },
120 118
        "colorLight": {
121 119
          "type": "string",
122 120
          "maxLength": 7,
123 121
          "description": "HEX color code to use in light mode presentations. Optional.",
124 122
          "maxGraphemes": 70
125 123
        }
126 124
      }
127 125
    },
128 126
    "contact": {
129 127
      "type": "object",
130 128
      "required": [
131 129
        "email"
132 130
      ],
133 131
      "properties": {
134 132
        "email": {
135 133
          "type": "string",
136 134
          "description": "Provider's support email address."
137 135
        },
138 136
        "phone": {
139 137
          "type": "string",
140 138
          "description": "Provider's support phone number."
141 139
        }
142 140
      }
143 141
    },
144 142
    "service": {
145 -
      "type": "object"
143 +
      "type": "object",
144 +
      "required": [
145 +
        "id",
146 +
        "uri"
147 +
      ],
148 +
      "properties": {
149 +
        "id": {
150 +
          "type": "string",
151 +
          "maxLength": 64,
152 +
          "description": "A service identifier (eg atproto_pds, bsky_appview, bsky_notif, plc_dir)",
153 +
          "maxGraphemes": 640
154 +
        },
155 +
        "uri": {
156 +
          "type": "string",
157 +
          "format": "uri",
158 +
          "description": "Service identifier's URI"
159 +
        }
160 +
      }
146 161
    }
147 162
  },
148 163
  "$type": "com.atproto.lexicon.schema",
149 164
  "lexicon": 1,
150 165
  "createdAt": "2026-04-19T22:58:04.496Z"
151 166
}

Compare Other Versions

Lexicon Garden

@