at.inlay.component

inlay.at

Schema Diff

+9 -22

From

CID
bafyreibivq6ffow...
Indexed At
2026-02-14 14:06 UTC
View this version

To

CID
bafyreie34glisqg...
Indexed At
2026-02-15 21:43 UTC
View this version
1 1
{
2 2
  "id": "at.inlay.component",
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
          "type"
11 11
        ],
12 12
        "properties": {
13 13
          "via": {
14 14
            "refs": [
15 15
              "at.inlay.defs#viaValtown"
16 16
            ],
17 17
            "type": "union",
18 18
            "description": "Platform-managed deployment metadata"
19 19
          },
20 20
          "body": {
21 21
            "refs": [
22 22
              "#bodyExternal",
23 23
              "#bodyTemplate"
24 24
            ],
25 25
            "type": "union",
26 26
            "description": "How this component is rendered. Omit for primitives rendered by the host."
27 27
          },
28 28
          "type": {
29 29
            "type": "string",
30 30
            "format": "nsid",
31 31
            "description": "NSID this component implements (also the XRPC procedure)"
32 32
          },
33 33
          "view": {
34 34
            "type": "array",
35 35
            "items": {
36 36
              "refs": [
37 37
                "#viewRecord",
38 38
                "#viewCollection",
39 39
                "#viewIdentity"
40 40
              ],
41 41
              "type": "union"
42 42
            },
43 43
            "description": "What kinds of pages this component is a view for"
44 44
          },
45 45
          "accepts": {
46 46
            "type": "array",
47 47
            "items": {
48 48
              "ref": "#acceptsEntry",
49 49
              "type": "ref"
50 50
            },
51 51
            "description": "Data types this component can render. Used for data-driven discovery."
52 52
          },
53 53
          "imports": {
54 54
            "type": "array",
55 55
            "items": {
56 -
              "ref": "#import",
57 -
              "type": "ref"
56 +
              "type": "string",
57 +
              "format": "at-uri"
58 58
            },
59 -
            "description": "Where to resolve types from"
59 +
            "description": "Ordered list of pack URIs (import stack). First pack that exports an NSID wins."
60 60
          },
61 61
          "createdAt": {
62 62
            "type": "string",
63 63
            "format": "datetime"
64 64
          },
65 65
          "updatedAt": {
66 66
            "type": "string",
67 67
            "format": "datetime",
68 68
            "description": "Last update timestamp. Set by the publish flow to bust cached responses."
69 69
          },
70 70
          "description": {
71 -
            "type": "string"
71 +
            "type": "string",
72 +
            "maxLength": 10000,
73 +
            "maxGraphemes": 1000
72 74
          }
73 75
        }
74 76
      },
75 77
      "description": "Component record - declares an implementation of a type"
76 78
    },
77 -
    "import": {
78 -
      "type": "object",
79 -
      "required": [
80 -
        "types",
81 -
        "pack"
82 -
      ],
83 -
      "properties": {
84 -
        "pack": {
85 -
          "type": "string",
86 -
          "format": "at-uri",
87 -
          "description": "Pack to resolve from"
88 -
        },
89 -
        "types": {
90 -
          "type": "string",
91 -
          "description": "Type pattern to match (glob like com.alice.* or concrete like com.alice.Avatar)"
92 -
        }
93 -
      }
94 -
    },
95 79
    "viewRecord": {
96 80
      "type": "object",
97 81
      "properties": {
98 82
        "collection": {
99 83
          "type": "string",
100 84
          "format": "nsid",
101 85
          "description": "The collection this component views. Omit for any-collection."
102 86
        }
103 87
      },
104 88
      "description": "Component is a view for individual records of a collection. Omit collection for a generic record view."
105 89
    },
106 90
    "acceptsEntry": {
107 91
      "type": "object",
108 92
      "required": [
109 93
        "type",
110 94
        "prop"
111 95
      ],
112 96
      "properties": {
113 97
        "prop": {
114 98
          "type": "string",
99 +
          "maxLength": 256,
115 100
          "description": "Prop to bind matched data to."
116 101
        },
117 102
        "type": {
118 103
          "type": "string",
104 +
          "maxLength": 128,
119 105
          "description": "Lexicon field type.",
120 106
          "knownValues": [
121 107
            "string",
122 108
            "integer",
123 109
            "boolean",
124 110
            "blob",
125 111
            "cid-link",
126 112
            "bytes"
127 113
          ]
128 114
        },
129 115
        "format": {
130 116
          "type": "string",
117 +
          "maxLength": 64,
131 118
          "description": "String format constraint. Only applies when type is 'string'.",
132 119
          "knownValues": [
133 120
            "at-uri",
134 121
            "did",
135 122
            "datetime",
136 123
            "uri",
137 124
            "handle",
138 125
            "at-identifier",
139 126
            "nsid",
140 127
            "cid",
141 128
            "language",
142 129
            "record-key",
143 130
            "tid"
144 131
          ]
145 132
        },
146 133
        "collection": {
147 134
          "type": "string",
148 135
          "format": "nsid",
149 136
          "description": "For at-uri strings, restricts to this collection."
150 137
        }
151 138
      },
152 139
      "description": "Declares a data type this component can handle, routed to a specific prop."
153 140
    },
154 141
    "bodyExternal": {
155 142
      "type": "object",
156 143
      "required": [
157 144
        "did"
158 145
      ],
159 146
      "properties": {
160 147
        "did": {
161 148
          "type": "string",
162 149
          "format": "did",
163 150
          "description": "DID of the service hosting this component"
164 151
        }
165 152
      },
166 153
      "description": "Component rendered by calling a remote XRPC endpoint"
167 154
    },
168 155
    "bodyTemplate": {
169 156
      "type": "object",
170 157
      "required": [
171 158
        "node"
172 159
      ],
173 160
      "properties": {
174 161
        "node": {
175 162
          "type": "unknown",
176 163
          "description": "Serialized element tree with bindings"
177 164
        }
178 165
      },
179 166
      "description": "Component rendered by the host from a serialized element tree"
180 167
    },
181 168
    "viewIdentity": {
182 169
      "type": "object",
183 170
      "properties": {},
184 171
      "description": "Component is a view for an identity (person/DID)."
185 172
    },
186 173
    "viewCollection": {
187 174
      "type": "object",
188 175
      "properties": {
189 176
        "collection": {
190 177
          "type": "string",
191 178
          "format": "nsid",
192 179
          "description": "The collection this component lists. Omit for any-collection."
193 180
        }
194 181
      },
195 182
      "description": "Component is a view for a collection listing. Omit collection for a generic collection view."
196 183
    }
197 184
  },
198 185
  "$type": "com.atproto.lexicon.schema",
199 186
  "lexicon": 1
200 187
}

Compare Other Versions

Lexicon Garden

@