A personal website powered by Astro and ATProto
1// Auto-generated types from collection discovery
2// Generated at: 2025-08-06T17:33:43.119Z
3// Repository: tynanpurdy.com (did:plc:6ayddqghxhciedbaofoxkcbs)
4// Collections: 64, Records: 124
5
6// Collection: app.bsky.actor.profile
7// Service: bsky.app
8// Types: app.bsky.actor.profile
9export interface AppBskyActorProfile {
10 $type: 'app.bsky.actor.profile';
11 avatar?: Record<string, any>;
12 banner?: Record<string, any>;
13 description?: string;
14 displayName?: string;
15}
16
17
18// Collection: app.bsky.feed.like
19// Service: bsky.app
20// Types: app.bsky.feed.like
21export interface AppBskyFeedLike {
22 $type: 'app.bsky.feed.like';
23 subject?: Record<string, any>;
24 createdAt?: string;
25}
26
27
28// Collection: app.bsky.feed.post
29// Service: bsky.app
30// Types: app.bsky.feed.post
31export interface AppBskyFeedPost {
32 $type: 'app.bsky.feed.post';
33 text?: string;
34 langs?: string[];
35 createdAt?: string;
36}
37
38
39// Collection: app.bsky.feed.postgate
40// Service: bsky.app
41// Types: app.bsky.feed.postgate
42export interface AppBskyFeedPostgate {
43 $type: 'app.bsky.feed.postgate';
44 post?: string;
45 createdAt?: string;
46 embeddingRules?: Record<string, any>[];
47 detachedEmbeddingUris?: any[];
48}
49
50
51// Collection: app.bsky.feed.repost
52// Service: bsky.app
53// Types: app.bsky.feed.repost
54export interface AppBskyFeedRepost {
55 $type: 'app.bsky.feed.repost';
56 subject?: Record<string, any>;
57 createdAt?: string;
58}
59
60
61// Collection: app.bsky.feed.threadgate
62// Service: bsky.app
63// Types: app.bsky.feed.threadgate
64export interface AppBskyFeedThreadgate {
65 $type: 'app.bsky.feed.threadgate';
66 post?: string;
67 allow?: Record<string, any>[];
68 createdAt?: string;
69 hiddenReplies?: any[];
70}
71
72
73// Collection: app.bsky.graph.block
74// Service: bsky.app
75// Types: app.bsky.graph.block
76export interface AppBskyGraphBlock {
77 $type: 'app.bsky.graph.block';
78 subject?: string;
79 createdAt?: string;
80}
81
82
83// Collection: app.bsky.graph.follow
84// Service: bsky.app
85// Types: app.bsky.graph.follow
86export interface AppBskyGraphFollow {
87 $type: 'app.bsky.graph.follow';
88 subject?: string;
89 createdAt?: string;
90}
91
92
93// Collection: app.bsky.graph.list
94// Service: bsky.app
95// Types: app.bsky.graph.list
96export interface AppBskyGraphList {
97 $type: 'app.bsky.graph.list';
98 name?: string;
99 purpose?: string;
100 createdAt?: string;
101 description?: string;
102}
103
104
105// Collection: app.bsky.graph.listitem
106// Service: bsky.app
107// Types: app.bsky.graph.listitem
108export interface AppBskyGraphListitem {
109 $type: 'app.bsky.graph.listitem';
110 list?: string;
111 subject?: string;
112 createdAt?: string;
113}
114
115
116// Collection: app.bsky.graph.starterpack
117// Service: bsky.app
118// Types: app.bsky.graph.starterpack
119export interface AppBskyGraphStarterpack {
120 $type: 'app.bsky.graph.starterpack';
121 list?: string;
122 name?: string;
123 feeds?: Record<string, any>[];
124 createdAt?: string;
125 updatedAt?: string;
126}
127
128
129// Collection: app.bsky.graph.verification
130// Service: bsky.app
131// Types: app.bsky.graph.verification
132export interface AppBskyGraphVerification {
133 $type: 'app.bsky.graph.verification';
134 handle?: string;
135 subject?: string;
136 createdAt?: string;
137 displayName?: string;
138}
139
140
141// Collection: app.popsky.list
142// Service: unknown
143// Types: app.popsky.list
144export interface AppPopskyList {
145 $type: 'app.popsky.list';
146 name?: string;
147 authorDid?: string;
148 createdAt?: string;
149 indexedAt?: string;
150 description?: string;
151}
152
153
154// Collection: app.popsky.listItem
155// Service: unknown
156// Types: app.popsky.listItem
157export interface AppPopskyListItem {
158 $type: 'app.popsky.listItem';
159 addedAt?: string;
160 listUri?: string;
161 identifiers?: Record<string, any>;
162 creativeWorkType?: string;
163}
164
165
166// Collection: app.popsky.profile
167// Service: unknown
168// Types: app.popsky.profile
169export interface AppPopskyProfile {
170 $type: 'app.popsky.profile';
171 createdAt?: string;
172 description?: string;
173 displayName?: string;
174}
175
176
177// Collection: app.popsky.review
178// Service: unknown
179// Types: app.popsky.review
180export interface AppPopskyReview {
181 $type: 'app.popsky.review';
182 tags?: any[];
183 facets?: any[];
184 rating?: number;
185 createdAt?: string;
186 isRevisit?: boolean;
187 reviewText?: string;
188 identifiers?: Record<string, any>;
189 containsSpoilers?: boolean;
190 creativeWorkType?: string;
191}
192
193
194// Collection: app.rocksky.album
195// Service: unknown
196// Types: app.rocksky.album
197export interface AppRockskyAlbum {
198 $type: 'app.rocksky.album';
199 year?: number;
200 title?: string;
201 artist?: string;
202 albumArt?: Record<string, any>;
203 createdAt?: string;
204 releaseDate?: string;
205}
206
207
208// Collection: app.rocksky.artist
209// Service: unknown
210// Types: app.rocksky.artist
211export interface AppRockskyArtist {
212 $type: 'app.rocksky.artist';
213 name?: string;
214 picture?: Record<string, any>;
215 createdAt?: string;
216}
217
218
219// Collection: app.rocksky.like
220// Service: unknown
221// Types: app.rocksky.like
222export interface AppRockskyLike {
223 $type: 'app.rocksky.like';
224 subject?: Record<string, any>;
225 createdAt?: string;
226}
227
228
229// Collection: app.rocksky.scrobble
230// Service: unknown
231// Types: app.rocksky.scrobble
232export interface AppRockskyScrobble {
233 $type: 'app.rocksky.scrobble';
234 year?: number;
235 album?: string;
236 title?: string;
237 artist?: string;
238 albumArt?: Record<string, any>;
239 duration?: number;
240 createdAt?: string;
241 discNumber?: number;
242 albumArtist?: string;
243 releaseDate?: string;
244 spotifyLink?: string;
245 trackNumber?: number;
246}
247
248
249// Collection: app.rocksky.song
250// Service: unknown
251// Types: app.rocksky.song
252export interface AppRockskySong {
253 $type: 'app.rocksky.song';
254 year?: number;
255 album?: string;
256 title?: string;
257 artist?: string;
258 albumArt?: Record<string, any>;
259 duration?: number;
260 createdAt?: string;
261 discNumber?: number;
262 albumArtist?: string;
263 releaseDate?: string;
264 spotifyLink?: string;
265 trackNumber?: number;
266}
267
268
269// Collection: blue.flashes.actor.profile
270// Service: unknown
271// Types: blue.flashes.actor.profile
272export interface BlueFlashesActorProfile {
273 $type: 'blue.flashes.actor.profile';
274 createdAt?: string;
275 showFeeds?: boolean;
276 showLikes?: boolean;
277 showLists?: boolean;
278 showMedia?: boolean;
279 enablePortfolio?: boolean;
280 portfolioLayout?: string;
281 allowRawDownload?: boolean;
282}
283
284
285// Collection: blue.linkat.board
286// Service: unknown
287// Types: blue.linkat.board
288export interface BlueLinkatBoard {
289 $type: 'blue.linkat.board';
290 cards?: Record<string, any>[];
291}
292
293
294// Collection: buzz.bookhive.book
295// Service: unknown
296// Types: buzz.bookhive.book
297export interface BuzzBookhiveBook {
298 $type: 'buzz.bookhive.book';
299 cover?: Record<string, any>;
300 title?: string;
301 hiveId?: string;
302 status?: string;
303 authors?: string;
304 createdAt?: string;
305}
306
307
308// Collection: chat.bsky.actor.declaration
309// Service: unknown
310// Types: chat.bsky.actor.declaration
311export interface ChatBskyActorDeclaration {
312 $type: 'chat.bsky.actor.declaration';
313 allowIncoming?: string;
314}
315
316
317// Collection: chat.roomy.01JPNX7AA9BSM6TY2GWW1TR5V7.catalog
318// Service: unknown
319// Types: chat.roomy.01JPNX7AA9BSM6TY2GWW1TR5V7.catalog
320export interface ChatRoomy01JPNX7AA9BSM6TY2GWW1TR5V7Catalog {
321 $type: 'chat.roomy.01JPNX7AA9BSM6TY2GWW1TR5V7.catalog';
322 id?: string;
323}
324
325
326// Collection: chat.roomy.profile
327// Service: unknown
328// Types: chat.roomy.profile
329export interface ChatRoomyProfile {
330 $type: 'chat.roomy.profile';
331 accountId?: string;
332 profileId?: string;
333}
334
335
336// Collection: com.germnetwork.keypackage
337// Service: unknown
338// Types: com.germnetwork.keypackage
339export interface ComGermnetworkKeypackage {
340 $type: 'com.germnetwork.keypackage';
341 anchorHello?: string;
342}
343
344
345// Collection: com.whtwnd.blog.entry
346// Service: unknown
347// Types: com.whtwnd.blog.entry
348export interface ComWhtwndBlogEntry {
349 $type: 'com.whtwnd.blog.entry';
350 theme?: string;
351 title?: string;
352 content?: string;
353 createdAt?: string;
354 visibility?: string;
355}
356
357
358// Collection: community.lexicon.calendar.rsvp
359// Service: unknown
360// Types: community.lexicon.calendar.rsvp
361export interface CommunityLexiconCalendarRsvp {
362 $type: 'community.lexicon.calendar.rsvp';
363 status?: string;
364 subject?: Record<string, any>;
365 createdAt?: string;
366}
367
368
369// Collection: events.smokesignal.app.profile
370// Service: unknown
371// Types: events.smokesignal.app.profile
372export interface EventsSmokesignalAppProfile {
373 $type: 'events.smokesignal.app.profile';
374 tz?: string;
375}
376
377
378// Collection: events.smokesignal.calendar.event
379// Service: unknown
380// Types: events.smokesignal.calendar.event
381export interface EventsSmokesignalCalendarEvent {
382 $type: 'events.smokesignal.calendar.event';
383 mode?: string;
384 name?: string;
385 text?: string;
386 endsAt?: string;
387 status?: string;
388 location?: Record<string, any>;
389 startsAt?: string;
390 createdAt?: string;
391}
392
393
394// Collection: farm.smol.games.skyrdle.score
395// Service: unknown
396// Types: farm.smol.games.skyrdle.score
397export interface FarmSmolGamesSkyrdleScore {
398 $type: 'farm.smol.games.skyrdle.score';
399 hash?: string;
400 isWin?: boolean;
401 score?: number;
402 guesses?: Record<string, any>[];
403 timestamp?: string;
404 gameNumber?: number;
405}
406
407
408// Collection: fyi.bluelinks.links
409// Service: unknown
410// Types: fyi.bluelinks.links
411export interface FyiBluelinksLinks {
412 $type: 'fyi.bluelinks.links';
413 links?: Record<string, any>[];
414}
415
416
417// Collection: fyi.unravel.frontpage.comment
418// Service: unknown
419// Types: fyi.unravel.frontpage.comment
420export interface FyiUnravelFrontpageComment {
421 $type: 'fyi.unravel.frontpage.comment';
422 post?: Record<string, any>;
423 content?: string;
424 createdAt?: string;
425}
426
427
428// Collection: fyi.unravel.frontpage.post
429// Service: unknown
430// Types: fyi.unravel.frontpage.post
431export interface FyiUnravelFrontpagePost {
432 $type: 'fyi.unravel.frontpage.post';
433 url?: string;
434 title?: string;
435 createdAt?: string;
436}
437
438
439// Collection: fyi.unravel.frontpage.vote
440// Service: unknown
441// Types: fyi.unravel.frontpage.vote
442export interface FyiUnravelFrontpageVote {
443 $type: 'fyi.unravel.frontpage.vote';
444 subject?: Record<string, any>;
445 createdAt?: string;
446}
447
448
449// Collection: im.flushing.right.now
450// Service: unknown
451// Types: im.flushing.right.now
452export interface ImFlushingRightNow {
453 $type: 'im.flushing.right.now';
454 text?: string;
455 emoji?: string;
456 createdAt?: string;
457}
458
459
460// Collection: link.woosh.linkPage
461// Service: unknown
462// Types: link.woosh.linkPage
463export interface LinkWooshLinkPage {
464 $type: 'link.woosh.linkPage';
465 collections?: Record<string, any>[];
466}
467
468
469// Collection: my.skylights.rel
470// Service: unknown
471// Types: my.skylights.rel
472export interface MySkylightsRel {
473 $type: 'my.skylights.rel';
474 item?: Record<string, any>;
475 note?: Record<string, any>;
476 rating?: Record<string, any>;
477}
478
479
480// Collection: org.owdproject.application.windows
481// Service: unknown
482// Types: org.owdproject.application.windows
483export interface OrgOwdprojectApplicationWindows {
484 $type: 'org.owdproject.application.windows';
485}
486
487
488// Collection: org.owdproject.desktop
489// Service: unknown
490// Types: org.owdproject.desktop
491export interface OrgOwdprojectDesktop {
492 $type: 'org.owdproject.desktop';
493 state?: Record<string, any>;
494}
495
496
497// Collection: org.scrapboard.list
498// Service: unknown
499// Types: org.scrapboard.list
500export interface OrgScrapboardList {
501 $type: 'org.scrapboard.list';
502 name?: string;
503 createdAt?: string;
504 description?: string;
505}
506
507
508// Collection: org.scrapboard.listitem
509// Service: unknown
510// Types: org.scrapboard.listitem
511export interface OrgScrapboardListitem {
512 $type: 'org.scrapboard.listitem';
513 url?: string;
514 list?: string;
515 createdAt?: string;
516}
517
518
519// Collection: place.stream.chat.message
520// Service: unknown
521// Types: place.stream.chat.message
522export interface PlaceStreamChatMessage {
523 $type: 'place.stream.chat.message';
524 text?: string;
525 streamer?: string;
526 createdAt?: string;
527}
528
529
530// Collection: place.stream.chat.profile
531// Service: unknown
532// Types: place.stream.chat.profile
533export interface PlaceStreamChatProfile {
534 $type: 'place.stream.chat.profile';
535 color?: Record<string, any>;
536}
537
538
539// Collection: pub.leaflet.document
540// Service: unknown
541// Types: pub.leaflet.document
542export interface PubLeafletDocument {
543 $type: 'pub.leaflet.document';
544 pages?: Record<string, any>[];
545 title?: string;
546 author?: string;
547 postRef?: Record<string, any>;
548 description?: string;
549 publication?: string;
550 publishedAt?: string;
551}
552
553
554// Collection: pub.leaflet.graph.subscription
555// Service: unknown
556// Types: pub.leaflet.graph.subscription
557export interface PubLeafletGraphSubscription {
558 $type: 'pub.leaflet.graph.subscription';
559 publication?: string;
560}
561
562
563// Collection: pub.leaflet.publication
564// Service: unknown
565// Types: pub.leaflet.publication
566export interface PubLeafletPublication {
567 $type: 'pub.leaflet.publication';
568 icon?: Record<string, any>;
569 name?: string;
570 base_path?: string;
571 description?: string;
572}
573
574
575// Collection: sh.tangled.actor.profile
576// Service: sh.tangled
577// Types: sh.tangled.actor.profile
578export interface ShTangledActorProfile {
579 $type: 'sh.tangled.actor.profile';
580 links?: string[];
581 stats?: string[];
582 bluesky?: boolean;
583 location?: string;
584 description?: string;
585 pinnedRepositories?: string[];
586}
587
588
589// Collection: sh.tangled.feed.star
590// Service: sh.tangled
591// Types: sh.tangled.feed.star
592export interface ShTangledFeedStar {
593 $type: 'sh.tangled.feed.star';
594 subject?: string;
595 createdAt?: string;
596}
597
598
599// Collection: sh.tangled.publicKey
600// Service: sh.tangled
601// Types: sh.tangled.publicKey
602export interface ShTangledPublicKey {
603 $type: 'sh.tangled.publicKey';
604 key?: string;
605 name?: string;
606 createdAt?: string;
607}
608
609
610// Collection: sh.tangled.repo
611// Service: sh.tangled
612// Types: sh.tangled.repo
613export interface ShTangledRepo {
614 $type: 'sh.tangled.repo';
615 knot?: string;
616 name?: string;
617 owner?: string;
618 createdAt?: string;
619}
620
621
622// Collection: so.sprk.actor.profile
623// Service: unknown
624// Types: so.sprk.actor.profile
625export interface SoSprkActorProfile {
626 $type: 'so.sprk.actor.profile';
627 avatar?: Record<string, any>;
628 description?: string;
629 displayName?: string;
630}
631
632
633// Collection: so.sprk.feed.like
634// Service: unknown
635// Types: so.sprk.feed.like
636export interface SoSprkFeedLike {
637 $type: 'so.sprk.feed.like';
638 subject?: Record<string, any>;
639 createdAt?: string;
640}
641
642
643// Collection: so.sprk.feed.story
644// Service: unknown
645// Types: so.sprk.feed.story
646export interface SoSprkFeedStory {
647 $type: 'so.sprk.feed.story';
648 tags?: any[];
649 media?: Record<string, any>;
650 createdAt?: string;
651 selfLabels?: any[];
652}
653
654
655// Collection: social.grain.actor.profile
656// Service: grain.social
657// Types: social.grain.actor.profile
658export interface SocialGrainActorProfile {
659 $type: 'social.grain.actor.profile';
660 avatar?: Record<string, any>;
661 description?: string;
662 displayName?: string;
663}
664
665
666// Collection: social.grain.favorite
667// Service: grain.social
668// Types: social.grain.favorite
669export interface SocialGrainFavorite {
670 $type: 'social.grain.favorite';
671 subject?: string;
672 createdAt?: string;
673}
674
675
676// Collection: social.grain.gallery
677// Service: grain.social
678// Types: social.grain.gallery
679export interface SocialGrainGallery {
680 $type: 'social.grain.gallery';
681 title?: string;
682 createdAt?: string;
683 updatedAt?: string;
684 description?: string;
685}
686
687
688// Collection: social.grain.gallery.item
689// Service: grain.social
690// Types: social.grain.gallery.item
691export interface SocialGrainGalleryItem {
692 $type: 'social.grain.gallery.item';
693 item?: string;
694 gallery?: string;
695 position?: number;
696 createdAt?: string;
697}
698
699
700// Collection: social.grain.graph.follow
701// Service: grain.social
702// Types: social.grain.graph.follow
703export interface SocialGrainGraphFollow {
704 $type: 'social.grain.graph.follow';
705 subject?: string;
706 createdAt?: string;
707}
708
709
710// Collection: social.grain.photo
711// Service: grain.social
712// Types: social.grain.photo
713export interface SocialGrainPhoto {
714 $type: 'social.grain.photo';
715 alt?: string;
716 cid?: string;
717 did?: string;
718 uri?: string;
719 photo?: Record<string, any>;
720 createdAt?: string;
721 indexedAt?: string;
722 aspectRatio?: Record<string, any>;
723}
724
725
726// Collection: social.grain.photo.exif
727// Service: grain.social
728// Types: social.grain.photo.exif
729export interface SocialGrainPhotoExif {
730 $type: 'social.grain.photo.exif';
731 iSO?: number;
732 make?: string;
733 flash?: string;
734 model?: string;
735 photo?: string;
736 fNumber?: number;
737 lensMake?: string;
738 createdAt?: string;
739 lensModel?: string;
740 exposureTime?: number;
741 dateTimeOriginal?: string;
742 focalLengthIn35mmFormat?: number;
743}
744
745
746// Collection: social.pinksky.app.preference
747// Service: unknown
748// Types: social.pinksky.app.preference
749export interface SocialPinkskyAppPreference {
750 $type: 'social.pinksky.app.preference';
751 slug?: string;
752 value?: string;
753 createdAt?: string;
754}
755
756
757// Union type for all discovered types
758export type DiscoveredTypes = 'app.bsky.actor.profile' | 'app.bsky.feed.like' | 'app.bsky.feed.post' | 'app.bsky.feed.postgate' | 'app.bsky.feed.repost' | 'app.bsky.feed.threadgate' | 'app.bsky.graph.block' | 'app.bsky.graph.follow' | 'app.bsky.graph.list' | 'app.bsky.graph.listitem' | 'app.bsky.graph.starterpack' | 'app.bsky.graph.verification' | 'app.popsky.list' | 'app.popsky.listItem' | 'app.popsky.profile' | 'app.popsky.review' | 'app.rocksky.album' | 'app.rocksky.artist' | 'app.rocksky.like' | 'app.rocksky.scrobble' | 'app.rocksky.song' | 'blue.flashes.actor.profile' | 'blue.linkat.board' | 'buzz.bookhive.book' | 'chat.bsky.actor.declaration' | 'chat.roomy.01JPNX7AA9BSM6TY2GWW1TR5V7.catalog' | 'chat.roomy.profile' | 'com.germnetwork.keypackage' | 'com.whtwnd.blog.entry' | 'community.lexicon.calendar.rsvp' | 'events.smokesignal.app.profile' | 'events.smokesignal.calendar.event' | 'farm.smol.games.skyrdle.score' | 'fyi.bluelinks.links' | 'fyi.unravel.frontpage.comment' | 'fyi.unravel.frontpage.post' | 'fyi.unravel.frontpage.vote' | 'im.flushing.right.now' | 'link.woosh.linkPage' | 'my.skylights.rel' | 'org.owdproject.application.windows' | 'org.owdproject.desktop' | 'org.scrapboard.list' | 'org.scrapboard.listitem' | 'place.stream.chat.message' | 'place.stream.chat.profile' | 'pub.leaflet.document' | 'pub.leaflet.graph.subscription' | 'pub.leaflet.publication' | 'sh.tangled.actor.profile' | 'sh.tangled.feed.star' | 'sh.tangled.publicKey' | 'sh.tangled.repo' | 'so.sprk.actor.profile' | 'so.sprk.feed.like' | 'so.sprk.feed.story' | 'social.grain.actor.profile' | 'social.grain.favorite' | 'social.grain.gallery' | 'social.grain.gallery.item' | 'social.grain.graph.follow' | 'social.grain.photo' | 'social.grain.photo.exif' | 'social.pinksky.app.preference';
759