this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add starterpack types (#683)

authored by

Jaz and committed by
GitHub
9ee0a266 328d10a4

+648 -4
+5 -3
api/bsky/actorprofile.go
··· 24 24 // avatar: Small image to be displayed next to posts from account. AKA, 'profile picture' 25 25 Avatar *util.LexBlob `json:"avatar,omitempty" cborgen:"avatar,omitempty"` 26 26 // banner: Larger horizontal image to display behind profile view. 27 - Banner *util.LexBlob `json:"banner,omitempty" cborgen:"banner,omitempty"` 27 + Banner *util.LexBlob `json:"banner,omitempty" cborgen:"banner,omitempty"` 28 + CreatedAt *string `json:"createdAt,omitempty" cborgen:"createdAt,omitempty"` 28 29 // description: Free-form profile description text. 29 - Description *string `json:"description,omitempty" cborgen:"description,omitempty"` 30 - DisplayName *string `json:"displayName,omitempty" cborgen:"displayName,omitempty"` 30 + Description *string `json:"description,omitempty" cborgen:"description,omitempty"` 31 + DisplayName *string `json:"displayName,omitempty" cborgen:"displayName,omitempty"` 32 + JoinedViaStarterPack *comatprototypes.RepoStrongRef `json:"joinedViaStarterPack,omitempty" cborgen:"joinedViaStarterPack,omitempty"` 31 33 // labels: Self-label values, specific to the Bluesky application, on the overall account. 32 34 Labels *ActorProfile_Labels `json:"labels,omitempty" cborgen:"labels,omitempty"` 33 35 }
+611 -1
api/bsky/cbor_gen.go
··· 2091 2091 } 2092 2092 2093 2093 cw := cbg.NewCborWriter(w) 2094 - fieldCount := 6 2094 + fieldCount := 8 2095 2095 2096 2096 if t.Avatar == nil { 2097 2097 fieldCount-- ··· 2101 2101 fieldCount-- 2102 2102 } 2103 2103 2104 + if t.CreatedAt == nil { 2105 + fieldCount-- 2106 + } 2107 + 2104 2108 if t.Description == nil { 2105 2109 fieldCount-- 2106 2110 } 2107 2111 2108 2112 if t.DisplayName == nil { 2113 + fieldCount-- 2114 + } 2115 + 2116 + if t.JoinedViaStarterPack == nil { 2109 2117 fieldCount-- 2110 2118 } 2111 2119 ··· 2193 2201 } 2194 2202 } 2195 2203 2204 + // t.CreatedAt (string) (string) 2205 + if t.CreatedAt != nil { 2206 + 2207 + if len("createdAt") > 1000000 { 2208 + return xerrors.Errorf("Value in field \"createdAt\" was too long") 2209 + } 2210 + 2211 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("createdAt"))); err != nil { 2212 + return err 2213 + } 2214 + if _, err := cw.WriteString(string("createdAt")); err != nil { 2215 + return err 2216 + } 2217 + 2218 + if t.CreatedAt == nil { 2219 + if _, err := cw.Write(cbg.CborNull); err != nil { 2220 + return err 2221 + } 2222 + } else { 2223 + if len(*t.CreatedAt) > 1000000 { 2224 + return xerrors.Errorf("Value in field t.CreatedAt was too long") 2225 + } 2226 + 2227 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(*t.CreatedAt))); err != nil { 2228 + return err 2229 + } 2230 + if _, err := cw.WriteString(string(*t.CreatedAt)); err != nil { 2231 + return err 2232 + } 2233 + } 2234 + } 2235 + 2196 2236 // t.Description (string) (string) 2197 2237 if t.Description != nil { 2198 2238 ··· 2256 2296 } 2257 2297 } 2258 2298 } 2299 + 2300 + // t.JoinedViaStarterPack (atproto.RepoStrongRef) (struct) 2301 + if t.JoinedViaStarterPack != nil { 2302 + 2303 + if len("joinedViaStarterPack") > 1000000 { 2304 + return xerrors.Errorf("Value in field \"joinedViaStarterPack\" was too long") 2305 + } 2306 + 2307 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("joinedViaStarterPack"))); err != nil { 2308 + return err 2309 + } 2310 + if _, err := cw.WriteString(string("joinedViaStarterPack")); err != nil { 2311 + return err 2312 + } 2313 + 2314 + if err := t.JoinedViaStarterPack.MarshalCBOR(cw); err != nil { 2315 + return err 2316 + } 2317 + } 2259 2318 return nil 2260 2319 } 2261 2320 ··· 2368 2427 } 2369 2428 2370 2429 } 2430 + // t.CreatedAt (string) (string) 2431 + case "createdAt": 2432 + 2433 + { 2434 + b, err := cr.ReadByte() 2435 + if err != nil { 2436 + return err 2437 + } 2438 + if b != cbg.CborNull[0] { 2439 + if err := cr.UnreadByte(); err != nil { 2440 + return err 2441 + } 2442 + 2443 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 2444 + if err != nil { 2445 + return err 2446 + } 2447 + 2448 + t.CreatedAt = (*string)(&sval) 2449 + } 2450 + } 2371 2451 // t.Description (string) (string) 2372 2452 case "description": 2373 2453 ··· 2409 2489 2410 2490 t.DisplayName = (*string)(&sval) 2411 2491 } 2492 + } 2493 + // t.JoinedViaStarterPack (atproto.RepoStrongRef) (struct) 2494 + case "joinedViaStarterPack": 2495 + 2496 + { 2497 + 2498 + b, err := cr.ReadByte() 2499 + if err != nil { 2500 + return err 2501 + } 2502 + if b != cbg.CborNull[0] { 2503 + if err := cr.UnreadByte(); err != nil { 2504 + return err 2505 + } 2506 + t.JoinedViaStarterPack = new(atproto.RepoStrongRef) 2507 + if err := t.JoinedViaStarterPack.UnmarshalCBOR(cr); err != nil { 2508 + return xerrors.Errorf("unmarshaling t.JoinedViaStarterPack pointer: %w", err) 2509 + } 2510 + } 2511 + 2412 2512 } 2413 2513 2414 2514 default: ··· 5858 5958 } 5859 5959 5860 5960 t.LexiconTypeID = string(sval) 5961 + } 5962 + 5963 + default: 5964 + // Field doesn't exist on this type, so ignore it 5965 + cbg.ScanForLinks(r, func(cid.Cid) {}) 5966 + } 5967 + } 5968 + 5969 + return nil 5970 + } 5971 + func (t *GraphStarterpack_FeedItem) MarshalCBOR(w io.Writer) error { 5972 + if t == nil { 5973 + _, err := w.Write(cbg.CborNull) 5974 + return err 5975 + } 5976 + 5977 + cw := cbg.NewCborWriter(w) 5978 + 5979 + if _, err := cw.Write([]byte{161}); err != nil { 5980 + return err 5981 + } 5982 + 5983 + // t.Uri (string) (string) 5984 + if len("uri") > 1000000 { 5985 + return xerrors.Errorf("Value in field \"uri\" was too long") 5986 + } 5987 + 5988 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("uri"))); err != nil { 5989 + return err 5990 + } 5991 + if _, err := cw.WriteString(string("uri")); err != nil { 5992 + return err 5993 + } 5994 + 5995 + if len(t.Uri) > 1000000 { 5996 + return xerrors.Errorf("Value in field t.Uri was too long") 5997 + } 5998 + 5999 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Uri))); err != nil { 6000 + return err 6001 + } 6002 + if _, err := cw.WriteString(string(t.Uri)); err != nil { 6003 + return err 6004 + } 6005 + return nil 6006 + } 6007 + 6008 + func (t *GraphStarterpack_FeedItem) UnmarshalCBOR(r io.Reader) (err error) { 6009 + *t = GraphStarterpack_FeedItem{} 6010 + 6011 + cr := cbg.NewCborReader(r) 6012 + 6013 + maj, extra, err := cr.ReadHeader() 6014 + if err != nil { 6015 + return err 6016 + } 6017 + defer func() { 6018 + if err == io.EOF { 6019 + err = io.ErrUnexpectedEOF 6020 + } 6021 + }() 6022 + 6023 + if maj != cbg.MajMap { 6024 + return fmt.Errorf("cbor input should be of type map") 6025 + } 6026 + 6027 + if extra > cbg.MaxLength { 6028 + return fmt.Errorf("GraphStarterpack_FeedItem: map struct too large (%d)", extra) 6029 + } 6030 + 6031 + var name string 6032 + n := extra 6033 + 6034 + for i := uint64(0); i < n; i++ { 6035 + 6036 + { 6037 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 6038 + if err != nil { 6039 + return err 6040 + } 6041 + 6042 + name = string(sval) 6043 + } 6044 + 6045 + switch name { 6046 + // t.Uri (string) (string) 6047 + case "uri": 6048 + 6049 + { 6050 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 6051 + if err != nil { 6052 + return err 6053 + } 6054 + 6055 + t.Uri = string(sval) 6056 + } 6057 + 6058 + default: 6059 + // Field doesn't exist on this type, so ignore it 6060 + cbg.ScanForLinks(r, func(cid.Cid) {}) 6061 + } 6062 + } 6063 + 6064 + return nil 6065 + } 6066 + func (t *GraphStarterpack) MarshalCBOR(w io.Writer) error { 6067 + if t == nil { 6068 + _, err := w.Write(cbg.CborNull) 6069 + return err 6070 + } 6071 + 6072 + cw := cbg.NewCborWriter(w) 6073 + fieldCount := 7 6074 + 6075 + if t.Description == nil { 6076 + fieldCount-- 6077 + } 6078 + 6079 + if t.DescriptionFacets == nil { 6080 + fieldCount-- 6081 + } 6082 + 6083 + if t.Feeds == nil { 6084 + fieldCount-- 6085 + } 6086 + 6087 + if _, err := cw.Write(cbg.CborEncodeMajorType(cbg.MajMap, uint64(fieldCount))); err != nil { 6088 + return err 6089 + } 6090 + 6091 + // t.List (string) (string) 6092 + if len("list") > 1000000 { 6093 + return xerrors.Errorf("Value in field \"list\" was too long") 6094 + } 6095 + 6096 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("list"))); err != nil { 6097 + return err 6098 + } 6099 + if _, err := cw.WriteString(string("list")); err != nil { 6100 + return err 6101 + } 6102 + 6103 + if len(t.List) > 1000000 { 6104 + return xerrors.Errorf("Value in field t.List was too long") 6105 + } 6106 + 6107 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.List))); err != nil { 6108 + return err 6109 + } 6110 + if _, err := cw.WriteString(string(t.List)); err != nil { 6111 + return err 6112 + } 6113 + 6114 + // t.Name (string) (string) 6115 + if len("name") > 1000000 { 6116 + return xerrors.Errorf("Value in field \"name\" was too long") 6117 + } 6118 + 6119 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("name"))); err != nil { 6120 + return err 6121 + } 6122 + if _, err := cw.WriteString(string("name")); err != nil { 6123 + return err 6124 + } 6125 + 6126 + if len(t.Name) > 1000000 { 6127 + return xerrors.Errorf("Value in field t.Name was too long") 6128 + } 6129 + 6130 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Name))); err != nil { 6131 + return err 6132 + } 6133 + if _, err := cw.WriteString(string(t.Name)); err != nil { 6134 + return err 6135 + } 6136 + 6137 + // t.LexiconTypeID (string) (string) 6138 + if len("$type") > 1000000 { 6139 + return xerrors.Errorf("Value in field \"$type\" was too long") 6140 + } 6141 + 6142 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("$type"))); err != nil { 6143 + return err 6144 + } 6145 + if _, err := cw.WriteString(string("$type")); err != nil { 6146 + return err 6147 + } 6148 + 6149 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("app.bsky.graph.starterpack"))); err != nil { 6150 + return err 6151 + } 6152 + if _, err := cw.WriteString(string("app.bsky.graph.starterpack")); err != nil { 6153 + return err 6154 + } 6155 + 6156 + // t.Feeds ([]*bsky.GraphStarterpack_FeedItem) (slice) 6157 + if t.Feeds != nil { 6158 + 6159 + if len("feeds") > 1000000 { 6160 + return xerrors.Errorf("Value in field \"feeds\" was too long") 6161 + } 6162 + 6163 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("feeds"))); err != nil { 6164 + return err 6165 + } 6166 + if _, err := cw.WriteString(string("feeds")); err != nil { 6167 + return err 6168 + } 6169 + 6170 + if len(t.Feeds) > 8192 { 6171 + return xerrors.Errorf("Slice value in field t.Feeds was too long") 6172 + } 6173 + 6174 + if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.Feeds))); err != nil { 6175 + return err 6176 + } 6177 + for _, v := range t.Feeds { 6178 + if err := v.MarshalCBOR(cw); err != nil { 6179 + return err 6180 + } 6181 + 6182 + } 6183 + } 6184 + 6185 + // t.CreatedAt (string) (string) 6186 + if len("createdAt") > 1000000 { 6187 + return xerrors.Errorf("Value in field \"createdAt\" was too long") 6188 + } 6189 + 6190 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("createdAt"))); err != nil { 6191 + return err 6192 + } 6193 + if _, err := cw.WriteString(string("createdAt")); err != nil { 6194 + return err 6195 + } 6196 + 6197 + if len(t.CreatedAt) > 1000000 { 6198 + return xerrors.Errorf("Value in field t.CreatedAt was too long") 6199 + } 6200 + 6201 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.CreatedAt))); err != nil { 6202 + return err 6203 + } 6204 + if _, err := cw.WriteString(string(t.CreatedAt)); err != nil { 6205 + return err 6206 + } 6207 + 6208 + // t.Description (string) (string) 6209 + if t.Description != nil { 6210 + 6211 + if len("description") > 1000000 { 6212 + return xerrors.Errorf("Value in field \"description\" was too long") 6213 + } 6214 + 6215 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("description"))); err != nil { 6216 + return err 6217 + } 6218 + if _, err := cw.WriteString(string("description")); err != nil { 6219 + return err 6220 + } 6221 + 6222 + if t.Description == nil { 6223 + if _, err := cw.Write(cbg.CborNull); err != nil { 6224 + return err 6225 + } 6226 + } else { 6227 + if len(*t.Description) > 1000000 { 6228 + return xerrors.Errorf("Value in field t.Description was too long") 6229 + } 6230 + 6231 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(*t.Description))); err != nil { 6232 + return err 6233 + } 6234 + if _, err := cw.WriteString(string(*t.Description)); err != nil { 6235 + return err 6236 + } 6237 + } 6238 + } 6239 + 6240 + // t.DescriptionFacets ([]*bsky.RichtextFacet) (slice) 6241 + if t.DescriptionFacets != nil { 6242 + 6243 + if len("descriptionFacets") > 1000000 { 6244 + return xerrors.Errorf("Value in field \"descriptionFacets\" was too long") 6245 + } 6246 + 6247 + if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("descriptionFacets"))); err != nil { 6248 + return err 6249 + } 6250 + if _, err := cw.WriteString(string("descriptionFacets")); err != nil { 6251 + return err 6252 + } 6253 + 6254 + if len(t.DescriptionFacets) > 8192 { 6255 + return xerrors.Errorf("Slice value in field t.DescriptionFacets was too long") 6256 + } 6257 + 6258 + if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.DescriptionFacets))); err != nil { 6259 + return err 6260 + } 6261 + for _, v := range t.DescriptionFacets { 6262 + if err := v.MarshalCBOR(cw); err != nil { 6263 + return err 6264 + } 6265 + 6266 + } 6267 + } 6268 + return nil 6269 + } 6270 + 6271 + func (t *GraphStarterpack) UnmarshalCBOR(r io.Reader) (err error) { 6272 + *t = GraphStarterpack{} 6273 + 6274 + cr := cbg.NewCborReader(r) 6275 + 6276 + maj, extra, err := cr.ReadHeader() 6277 + if err != nil { 6278 + return err 6279 + } 6280 + defer func() { 6281 + if err == io.EOF { 6282 + err = io.ErrUnexpectedEOF 6283 + } 6284 + }() 6285 + 6286 + if maj != cbg.MajMap { 6287 + return fmt.Errorf("cbor input should be of type map") 6288 + } 6289 + 6290 + if extra > cbg.MaxLength { 6291 + return fmt.Errorf("GraphStarterpack: map struct too large (%d)", extra) 6292 + } 6293 + 6294 + var name string 6295 + n := extra 6296 + 6297 + for i := uint64(0); i < n; i++ { 6298 + 6299 + { 6300 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 6301 + if err != nil { 6302 + return err 6303 + } 6304 + 6305 + name = string(sval) 6306 + } 6307 + 6308 + switch name { 6309 + // t.List (string) (string) 6310 + case "list": 6311 + 6312 + { 6313 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 6314 + if err != nil { 6315 + return err 6316 + } 6317 + 6318 + t.List = string(sval) 6319 + } 6320 + // t.Name (string) (string) 6321 + case "name": 6322 + 6323 + { 6324 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 6325 + if err != nil { 6326 + return err 6327 + } 6328 + 6329 + t.Name = string(sval) 6330 + } 6331 + // t.LexiconTypeID (string) (string) 6332 + case "$type": 6333 + 6334 + { 6335 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 6336 + if err != nil { 6337 + return err 6338 + } 6339 + 6340 + t.LexiconTypeID = string(sval) 6341 + } 6342 + // t.Feeds ([]*bsky.GraphStarterpack_FeedItem) (slice) 6343 + case "feeds": 6344 + 6345 + maj, extra, err = cr.ReadHeader() 6346 + if err != nil { 6347 + return err 6348 + } 6349 + 6350 + if extra > 8192 { 6351 + return fmt.Errorf("t.Feeds: array too large (%d)", extra) 6352 + } 6353 + 6354 + if maj != cbg.MajArray { 6355 + return fmt.Errorf("expected cbor array") 6356 + } 6357 + 6358 + if extra > 0 { 6359 + t.Feeds = make([]*GraphStarterpack_FeedItem, extra) 6360 + } 6361 + 6362 + for i := 0; i < int(extra); i++ { 6363 + { 6364 + var maj byte 6365 + var extra uint64 6366 + var err error 6367 + _ = maj 6368 + _ = extra 6369 + _ = err 6370 + 6371 + { 6372 + 6373 + b, err := cr.ReadByte() 6374 + if err != nil { 6375 + return err 6376 + } 6377 + if b != cbg.CborNull[0] { 6378 + if err := cr.UnreadByte(); err != nil { 6379 + return err 6380 + } 6381 + t.Feeds[i] = new(GraphStarterpack_FeedItem) 6382 + if err := t.Feeds[i].UnmarshalCBOR(cr); err != nil { 6383 + return xerrors.Errorf("unmarshaling t.Feeds[i] pointer: %w", err) 6384 + } 6385 + } 6386 + 6387 + } 6388 + 6389 + } 6390 + } 6391 + // t.CreatedAt (string) (string) 6392 + case "createdAt": 6393 + 6394 + { 6395 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 6396 + if err != nil { 6397 + return err 6398 + } 6399 + 6400 + t.CreatedAt = string(sval) 6401 + } 6402 + // t.Description (string) (string) 6403 + case "description": 6404 + 6405 + { 6406 + b, err := cr.ReadByte() 6407 + if err != nil { 6408 + return err 6409 + } 6410 + if b != cbg.CborNull[0] { 6411 + if err := cr.UnreadByte(); err != nil { 6412 + return err 6413 + } 6414 + 6415 + sval, err := cbg.ReadStringWithMax(cr, 1000000) 6416 + if err != nil { 6417 + return err 6418 + } 6419 + 6420 + t.Description = (*string)(&sval) 6421 + } 6422 + } 6423 + // t.DescriptionFacets ([]*bsky.RichtextFacet) (slice) 6424 + case "descriptionFacets": 6425 + 6426 + maj, extra, err = cr.ReadHeader() 6427 + if err != nil { 6428 + return err 6429 + } 6430 + 6431 + if extra > 8192 { 6432 + return fmt.Errorf("t.DescriptionFacets: array too large (%d)", extra) 6433 + } 6434 + 6435 + if maj != cbg.MajArray { 6436 + return fmt.Errorf("expected cbor array") 6437 + } 6438 + 6439 + if extra > 0 { 6440 + t.DescriptionFacets = make([]*RichtextFacet, extra) 6441 + } 6442 + 6443 + for i := 0; i < int(extra); i++ { 6444 + { 6445 + var maj byte 6446 + var extra uint64 6447 + var err error 6448 + _ = maj 6449 + _ = extra 6450 + _ = err 6451 + 6452 + { 6453 + 6454 + b, err := cr.ReadByte() 6455 + if err != nil { 6456 + return err 6457 + } 6458 + if b != cbg.CborNull[0] { 6459 + if err := cr.UnreadByte(); err != nil { 6460 + return err 6461 + } 6462 + t.DescriptionFacets[i] = new(RichtextFacet) 6463 + if err := t.DescriptionFacets[i].UnmarshalCBOR(cr); err != nil { 6464 + return xerrors.Errorf("unmarshaling t.DescriptionFacets[i] pointer: %w", err) 6465 + } 6466 + } 6467 + 6468 + } 6469 + 6470 + } 5861 6471 } 5862 6472 5863 6473 default:
+30
api/bsky/graphstarterpack.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package bsky 4 + 5 + // schema: app.bsky.graph.starterpack 6 + 7 + import ( 8 + "github.com/bluesky-social/indigo/lex/util" 9 + ) 10 + 11 + func init() { 12 + util.RegisterType("app.bsky.graph.starterpack", &GraphStarterpack{}) 13 + } // 14 + // RECORDTYPE: GraphStarterpack 15 + type GraphStarterpack struct { 16 + LexiconTypeID string `json:"$type,const=app.bsky.graph.starterpack" cborgen:"$type,const=app.bsky.graph.starterpack"` 17 + CreatedAt string `json:"createdAt" cborgen:"createdAt"` 18 + Description *string `json:"description,omitempty" cborgen:"description,omitempty"` 19 + DescriptionFacets []*RichtextFacet `json:"descriptionFacets,omitempty" cborgen:"descriptionFacets,omitempty"` 20 + Feeds []*GraphStarterpack_FeedItem `json:"feeds,omitempty" cborgen:"feeds,omitempty"` 21 + // list: Reference (AT-URI) to the list record. 22 + List string `json:"list" cborgen:"list"` 23 + // name: Display name for starter pack; can not be empty. 24 + Name string `json:"name" cborgen:"name"` 25 + } 26 + 27 + // GraphStarterpack_FeedItem is a "feedItem" in the app.bsky.graph.starterpack schema. 28 + type GraphStarterpack_FeedItem struct { 29 + Uri string `json:"uri" cborgen:"uri"` 30 + }
+2
gen/main.go
··· 63 63 bsky.FeedThreadgate_ListRule{}, 64 64 bsky.FeedThreadgate_MentionRule{}, 65 65 bsky.FeedThreadgate_FollowingRule{}, 66 + bsky.GraphStarterpack_FeedItem{}, 67 + bsky.GraphStarterpack{}, 66 68 bsky.LabelerService{}, 67 69 bsky.LabelerDefs_LabelerPolicies{}, 68 70 /*bsky.EmbedImages_View{},