@atproto/bsky 0.0.236 → 0.0.238

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/api/com/atproto/repo/getRecord.js +2 -2
  3. package/dist/api/com/atproto/repo/getRecord.js.map +1 -1
  4. package/dist/hydration/hydrator.d.ts.map +1 -1
  5. package/dist/hydration/hydrator.js +3 -2
  6. package/dist/hydration/hydrator.js.map +1 -1
  7. package/dist/hydration/label.d.ts +1 -1
  8. package/dist/hydration/label.d.ts.map +1 -1
  9. package/dist/hydration/label.js +4 -4
  10. package/dist/hydration/label.js.map +1 -1
  11. package/dist/lexicons/app/bsky/actor/profile.defs.d.ts.map +1 -1
  12. package/dist/lexicons/app/bsky/actor/status.defs.d.ts.map +1 -1
  13. package/dist/lexicons/app/bsky/draft/defs.defs.d.ts +22 -0
  14. package/dist/lexicons/app/bsky/draft/defs.defs.d.ts.map +1 -1
  15. package/dist/lexicons/app/bsky/draft/defs.defs.js +11 -0
  16. package/dist/lexicons/app/bsky/draft/defs.defs.js.map +1 -1
  17. package/dist/lexicons/app/bsky/embed/gallery.d.ts +3 -0
  18. package/dist/lexicons/app/bsky/embed/gallery.d.ts.map +1 -0
  19. package/dist/lexicons/app/bsky/embed/gallery.defs.d.ts +130 -0
  20. package/dist/lexicons/app/bsky/embed/gallery.defs.d.ts.map +1 -0
  21. package/dist/lexicons/app/bsky/embed/gallery.defs.js +47 -0
  22. package/dist/lexicons/app/bsky/embed/gallery.defs.js.map +1 -0
  23. package/dist/lexicons/app/bsky/embed/gallery.js +6 -0
  24. package/dist/lexicons/app/bsky/embed/gallery.js.map +1 -0
  25. package/dist/lexicons/app/bsky/embed/record.defs.d.ts +2 -1
  26. package/dist/lexicons/app/bsky/embed/record.defs.d.ts.map +1 -1
  27. package/dist/lexicons/app/bsky/embed/record.defs.js +2 -0
  28. package/dist/lexicons/app/bsky/embed/record.defs.js.map +1 -1
  29. package/dist/lexicons/app/bsky/embed/recordWithMedia.defs.d.ts +13 -12
  30. package/dist/lexicons/app/bsky/embed/recordWithMedia.defs.d.ts.map +1 -1
  31. package/dist/lexicons/app/bsky/embed/recordWithMedia.defs.js +3 -0
  32. package/dist/lexicons/app/bsky/embed/recordWithMedia.defs.js.map +1 -1
  33. package/dist/lexicons/app/bsky/embed.d.ts +1 -0
  34. package/dist/lexicons/app/bsky/embed.d.ts.map +1 -1
  35. package/dist/lexicons/app/bsky/embed.js +1 -0
  36. package/dist/lexicons/app/bsky/embed.js.map +1 -1
  37. package/dist/lexicons/app/bsky/feed/defs.defs.d.ts +2 -1
  38. package/dist/lexicons/app/bsky/feed/defs.defs.d.ts.map +1 -1
  39. package/dist/lexicons/app/bsky/feed/defs.defs.js +2 -0
  40. package/dist/lexicons/app/bsky/feed/defs.defs.js.map +1 -1
  41. package/dist/lexicons/app/bsky/feed/generator.defs.d.ts.map +1 -1
  42. package/dist/lexicons/app/bsky/feed/like.defs.d.ts.map +1 -1
  43. package/dist/lexicons/app/bsky/feed/post.defs.d.ts +12 -11
  44. package/dist/lexicons/app/bsky/feed/post.defs.d.ts.map +1 -1
  45. package/dist/lexicons/app/bsky/feed/post.defs.js +2 -0
  46. package/dist/lexicons/app/bsky/feed/post.defs.js.map +1 -1
  47. package/dist/lexicons/app/bsky/feed/postgate.defs.d.ts.map +1 -1
  48. package/dist/lexicons/app/bsky/feed/repost.defs.d.ts.map +1 -1
  49. package/dist/lexicons/app/bsky/feed/threadgate.defs.d.ts.map +1 -1
  50. package/dist/lexicons/app/bsky/graph/block.defs.d.ts.map +1 -1
  51. package/dist/lexicons/app/bsky/graph/follow.defs.d.ts.map +1 -1
  52. package/dist/lexicons/app/bsky/graph/list.defs.d.ts.map +1 -1
  53. package/dist/lexicons/app/bsky/graph/listblock.defs.d.ts.map +1 -1
  54. package/dist/lexicons/app/bsky/graph/listitem.defs.d.ts.map +1 -1
  55. package/dist/lexicons/app/bsky/graph/starterpack.defs.d.ts.map +1 -1
  56. package/dist/lexicons/app/bsky/graph/verification.defs.d.ts.map +1 -1
  57. package/dist/lexicons/app/bsky/labeler/service.defs.d.ts.map +1 -1
  58. package/dist/lexicons/app/bsky/notification/declaration.defs.d.ts.map +1 -1
  59. package/dist/lexicons/chat/bsky/actor/declaration.defs.d.ts.map +1 -1
  60. package/dist/lexicons/chat/bsky/moderation/getConvos.d.ts +3 -0
  61. package/dist/lexicons/chat/bsky/moderation/getConvos.d.ts.map +1 -0
  62. package/dist/lexicons/chat/bsky/moderation/getConvos.defs.d.ts +22 -0
  63. package/dist/lexicons/chat/bsky/moderation/getConvos.defs.d.ts.map +1 -0
  64. package/dist/lexicons/chat/bsky/moderation/getConvos.defs.js +22 -0
  65. package/dist/lexicons/chat/bsky/moderation/getConvos.defs.js.map +1 -0
  66. package/dist/lexicons/chat/bsky/moderation/getConvos.js +6 -0
  67. package/dist/lexicons/chat/bsky/moderation/getConvos.js.map +1 -0
  68. package/dist/lexicons/chat/bsky/moderation.d.ts +1 -0
  69. package/dist/lexicons/chat/bsky/moderation.d.ts.map +1 -1
  70. package/dist/lexicons/chat/bsky/moderation.js +1 -0
  71. package/dist/lexicons/chat/bsky/moderation.js.map +1 -1
  72. package/dist/lexicons/com/atproto/lexicon/schema.defs.d.ts.map +1 -1
  73. package/dist/lexicons/com/germnetwork/declaration.defs.d.ts.map +1 -1
  74. package/dist/lexicons/site/standard/document.defs.d.ts.map +1 -1
  75. package/dist/lexicons/site/standard/graph/recommend.defs.d.ts.map +1 -1
  76. package/dist/lexicons/site/standard/graph/subscription.defs.d.ts.map +1 -1
  77. package/dist/lexicons/site/standard/publication.defs.d.ts.map +1 -1
  78. package/dist/lexicons/site/standard/theme/basic.defs.d.ts.map +1 -1
  79. package/dist/views/index.d.ts +4 -1
  80. package/dist/views/index.d.ts.map +1 -1
  81. package/dist/views/index.js +48 -8
  82. package/dist/views/index.js.map +1 -1
  83. package/dist/views/types.d.ts +8 -2
  84. package/dist/views/types.d.ts.map +1 -1
  85. package/dist/views/types.js +2 -0
  86. package/dist/views/types.js.map +1 -1
  87. package/package.json +4 -4
  88. package/src/api/com/atproto/repo/getRecord.ts +2 -2
  89. package/src/hydration/hydrator.ts +3 -6
  90. package/src/hydration/label.ts +3 -3
  91. package/src/views/index.ts +74 -18
  92. package/src/views/types.ts +9 -0
  93. package/tests/views/__snapshots__/posts.test.ts.snap +251 -0
  94. package/tests/views/drafts.test.ts +105 -0
  95. package/tests/views/posts.test.ts +134 -0
  96. package/tsconfig.build.tsbuildinfo +1 -1
@@ -21,6 +21,12 @@ export type ImagesEmbedView = app.bsky.embed.images.View;
21
21
  export declare const isVideoEmbedType: <TValue extends Record<string, unknown>>(value: TValue) => value is import("@atproto/lex-schema").MaybeTypedObject<"app.bsky.embed.video", TValue>;
22
22
  export type VideoEmbed = app.bsky.embed.video.Main;
23
23
  export type VideoEmbedView = app.bsky.embed.video.View;
24
+ export declare const isGalleryEmbedType: <TValue extends Record<string, unknown>>(value: TValue) => value is import("@atproto/lex-schema").MaybeTypedObject<"app.bsky.embed.gallery", TValue>;
25
+ export type GalleryEmbed = app.bsky.embed.gallery.Main;
26
+ export type GalleryEmbedView = app.bsky.embed.gallery.View;
27
+ export declare const isGalleryImageEmbedType: <TValue extends Record<string, unknown>>(value: TValue) => value is import("@atproto/lex-schema").MaybeTypedObject<"app.bsky.embed.gallery#image", TValue>;
28
+ export type GalleryImageEmbed = app.bsky.embed.gallery.Image;
29
+ export type GalleryImageEmbedView = app.bsky.embed.gallery.ViewImage;
24
30
  export declare const isExternalEmbedType: <TValue extends Record<string, unknown>>(value: TValue) => value is import("@atproto/lex-schema").MaybeTypedObject<"app.bsky.embed.external", TValue>;
25
31
  export type ExternalEmbed = app.bsky.embed.external.Main;
26
32
  export type ExternalEmbedView = app.bsky.embed.external.View;
@@ -38,8 +44,8 @@ export declare const isRecordWithMediaType: <TValue extends Record<string, unkno
38
44
  export type RecordWithMedia = app.bsky.embed.recordWithMedia.Main;
39
45
  export type RecordWithMediaView = app.bsky.embed.recordWithMedia.View;
40
46
  export type RecordWithMediaEmbedView = app.bsky.embed.recordWithMedia.View;
41
- export type Embed = ImagesEmbed | VideoEmbed | ExternalEmbed | RecordEmbed | RecordWithMedia;
42
- export type EmbedView = ImagesEmbedView | VideoEmbedView | ExternalEmbedView | RecordEmbedView | RecordWithMediaView;
47
+ export type Embed = ImagesEmbed | VideoEmbed | GalleryEmbed | ExternalEmbed | RecordEmbed | RecordWithMedia;
48
+ export type EmbedView = ImagesEmbedView | VideoEmbedView | GalleryEmbedView | ExternalEmbedView | RecordEmbedView | RecordWithMediaView;
43
49
  export type MaybePostView = PostView | NotFoundPost | BlockedPost;
44
50
  export type RecordEmbedViewInternal = PostEmbedView | GeneratorView | ListView | LabelerView | StarterPackViewBasic;
45
51
  export type LikeRecord = app.bsky.feed.like.Main;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/views/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/views/types.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ export const isProfileRecordType = app.bsky.actor.profile.$isTypeOf;
3
3
  // app.bsky.embed
4
4
  export const isImagesEmbedType = app.bsky.embed.images.$isTypeOf;
5
5
  export const isVideoEmbedType = app.bsky.embed.video.$isTypeOf;
6
+ export const isGalleryEmbedType = app.bsky.embed.gallery.$isTypeOf;
7
+ export const isGalleryImageEmbedType = app.bsky.embed.gallery.image.$isTypeOf;
6
8
  export const isExternalEmbedType = app.bsky.embed.external.$isTypeOf;
7
9
  export const isRecordEmbedType = app.bsky.embed.record.$isTypeOf;
8
10
  export const isRecordWithMediaType = app.bsky.embed.recordWithMedia.$isTypeOf;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/views/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAQ,GAAG,EAAQ,MAAM,sBAAsB,CAAA;AAK3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAA;AAoBnE,iBAAiB;AAEjB,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAA;AAIhE,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAA;AAI9D,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAA;AAQpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAA;AAQhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAA;AAkC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;AAG5D,MAAM,CAAC,MAAM,yBAAyB,GACpC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAA;AAa9C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAA;AAGnE,MAAM,CAAC,MAAM,kBAAkB,GAC7B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAA;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAC9B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAA;AAClD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAA;AACzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAA;AAqB/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAA;AAcrE,oBAAoB;AAEpB,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAA;AAsB3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAA;AAK3E,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAA","sourcesContent":["import { app, chat, com, site } from '../lexicons/index.js'\n\n// app.bsky.actor\n\nexport type ProfileRecord = app.bsky.actor.profile.Main\nexport const isProfileRecordType = app.bsky.actor.profile.$isTypeOf\n\nexport type ProfileViewer = app.bsky.actor.defs.ViewerState\nexport type KnownFollowers = app.bsky.actor.defs.KnownFollowers\nexport type ProfileAssociatedActivitySubscription =\n app.bsky.actor.defs.ProfileAssociatedActivitySubscription\nexport type ProfileAssociatedChat = app.bsky.actor.defs.ProfileAssociatedChat\nexport type ProfileView = app.bsky.actor.defs.ProfileView\nexport type ProfileViewBasic = app.bsky.actor.defs.ProfileViewBasic\nexport type ProfileViewDetailed = app.bsky.actor.defs.ProfileViewDetailed\nexport type StatusView = app.bsky.actor.defs.StatusView\nexport type VerificationState = app.bsky.actor.defs.VerificationState\nexport type VerificationView = app.bsky.actor.defs.VerificationView\n\nexport type StatusRecord = app.bsky.actor.status.Main\n\n// app.bsky.bookmark\n\nexport type BookmarkView = app.bsky.bookmark.defs.BookmarkView\n\n// app.bsky.embed\n\nexport const isImagesEmbedType = app.bsky.embed.images.$isTypeOf\nexport type ImagesEmbed = app.bsky.embed.images.Main\nexport type ImagesEmbedView = app.bsky.embed.images.View\n\nexport const isVideoEmbedType = app.bsky.embed.video.$isTypeOf\nexport type VideoEmbed = app.bsky.embed.video.Main\nexport type VideoEmbedView = app.bsky.embed.video.View\n\nexport const isExternalEmbedType = app.bsky.embed.external.$isTypeOf\nexport type ExternalEmbed = app.bsky.embed.external.Main\nexport type ExternalEmbedView = app.bsky.embed.external.View\nexport type ExternalEmbedSourceView = app.bsky.embed.external.ViewExternalSource\nexport type ExternalEmbedSourceThemeView =\n app.bsky.embed.external.ViewExternalSourceTheme\nexport type ExternalEmbedColorRgb = app.bsky.embed.external.ColorRgb\n\nexport const isRecordEmbedType = app.bsky.embed.record.$isTypeOf\nexport type RecordEmbed = app.bsky.embed.record.Main\nexport type RecordEmbedView = app.bsky.embed.record.View\nexport type EmbedBlocked = app.bsky.embed.record.ViewBlocked\nexport type EmbedDetached = app.bsky.embed.record.ViewDetached\nexport type EmbedNotFound = app.bsky.embed.record.ViewNotFound\nexport type PostEmbedView = app.bsky.embed.record.ViewRecord\n\nexport const isRecordWithMediaType = app.bsky.embed.recordWithMedia.$isTypeOf\nexport type RecordWithMedia = app.bsky.embed.recordWithMedia.Main\nexport type RecordWithMediaView = app.bsky.embed.recordWithMedia.View\nexport type RecordWithMediaEmbedView = app.bsky.embed.recordWithMedia.View\n\nexport type Embed =\n | ImagesEmbed\n | VideoEmbed\n | ExternalEmbed\n | RecordEmbed\n | RecordWithMedia\n\nexport type EmbedView =\n | ImagesEmbedView\n | VideoEmbedView\n | ExternalEmbedView\n | RecordEmbedView\n | RecordWithMediaView\n\nexport type MaybePostView = PostView | NotFoundPost | BlockedPost\n\nexport type RecordEmbedViewInternal =\n | PostEmbedView\n | GeneratorView\n | ListView\n | LabelerView\n | StarterPackViewBasic\n\n// app.bsky.feed\n\nexport type LikeRecord = app.bsky.feed.like.Main\nexport type RepostRecord = app.bsky.feed.repost.Main\n\nexport type PostRecord = app.bsky.feed.post.Main\nexport const isPostRecordType = app.bsky.feed.post.$isTypeOf\n\nexport type PostgateRecord = app.bsky.feed.postgate.Main\nexport const isPostgateDisableRuleType =\n app.bsky.feed.postgate.disableRule.$isTypeOf\n\nexport type FeedViewPost = app.bsky.feed.defs.FeedViewPost\nexport type ReasonPin = app.bsky.feed.defs.ReasonPin\nexport type ReasonRepost = app.bsky.feed.defs.ReasonRepost\nexport type ReplyRef = app.bsky.feed.defs.ReplyRef\nexport type PostReplyRef = app.bsky.feed.post.ReplyRef\nexport type ThreadViewPost = app.bsky.feed.defs.ThreadViewPost\nexport type ThreadgateView = app.bsky.feed.defs.ThreadgateView\nexport type BlockedPost = app.bsky.feed.defs.BlockedPost\nexport type GeneratorView = app.bsky.feed.defs.GeneratorView\nexport type NotFoundPost = app.bsky.feed.defs.NotFoundPost\nexport type PostView = app.bsky.feed.defs.PostView\nexport const isPostViewType = app.bsky.feed.defs.postView.$isTypeOf\n\nexport type GateRecord = app.bsky.feed.threadgate.Main\nexport const isFollowerRuleType =\n app.bsky.feed.threadgate.followerRule.$isTypeOf\nexport const isFollowingRuleType =\n app.bsky.feed.threadgate.followingRule.$isTypeOf\nexport const isListRuleType = app.bsky.feed.threadgate.listRule.$isTypeOf\nexport const isMentionRuleType = app.bsky.feed.threadgate.mentionRule.$isTypeOf\n\nexport type FeedGenRecord = app.bsky.feed.generator.Main\n\n// app.bsky.graph\n\nexport type BlockRecord = app.bsky.graph.block.Main\nexport type FollowRecord = app.bsky.graph.follow.Main\nexport type ListItemRecord = app.bsky.graph.listitem.Main\nexport type ListItemView = app.bsky.graph.defs.ListItemView\nexport type ListRecord = app.bsky.graph.list.Main\nexport type ListView = app.bsky.graph.defs.ListView\nexport type ListViewBasic = app.bsky.graph.defs.ListViewBasic\nexport type StarterPackRecord = app.bsky.graph.starterpack.Main\nexport type StarterPackView = app.bsky.graph.defs.StarterPackView\nexport type StarterPackViewBasic = app.bsky.graph.defs.StarterPackViewBasic\nexport type VerificationRecord = app.bsky.graph.verification.Main\n\n// app.bsky.labeler\n\nexport type LabelerRecord = app.bsky.labeler.service.Main\nexport const isLabelerRecordType = app.bsky.labeler.service.$isTypeOf\nexport type LabelerView = app.bsky.labeler.defs.LabelerView\nexport type LabelerViewDetailed = app.bsky.labeler.defs.LabelerViewDetailed\n\n// app.bsky.notification\n\nexport type NotificationDeclarationRecord =\n app.bsky.notification.declaration.Main\nexport type ActivitySubscription =\n app.bsky.notification.defs.ActivitySubscription\nexport type NotificationRecordDeleted = app.bsky.notification.defs.RecordDeleted\nexport type NotificationView =\n app.bsky.notification.listNotifications.Notification\n\n// app.bsky.richtext\n\nexport const isMentionFacetType = app.bsky.richtext.facet.mention.$isTypeOf\n\n// app.bsky.unspecced\n\nexport type ThreadItemBlocked = app.bsky.unspecced.defs.ThreadItemBlocked\nexport type ThreadItemNoUnauthenticated =\n app.bsky.unspecced.defs.ThreadItemNoUnauthenticated\nexport type ThreadItemNotFound = app.bsky.unspecced.defs.ThreadItemNotFound\nexport type ThreadItemPost = app.bsky.unspecced.defs.ThreadItemPost\n\nexport type ThreadOtherItem = app.bsky.unspecced.getPostThreadOtherV2.ThreadItem\nexport type GetPostThreadV2QueryParams =\n app.bsky.unspecced.getPostThreadV2.$Params\nexport type ThreadItem = app.bsky.unspecced.getPostThreadV2.ThreadItem\n\n// chat.bsky.actor\n\nexport type ChatDeclarationRecord = chat.bsky.actor.declaration.Main\n\n// com.atproto.label\n\nexport type Label = com.atproto.label.defs.Label\nexport const isSelfLabelsType = com.atproto.label.defs.selfLabels.$isTypeOf\n\n// com.atproto.label\n\nexport type StrongRef = com.atproto.repo.strongRef.Main\nexport const validateStrongRef = com.atproto.repo.strongRef.$safeValidate\n\n// com.germnetwork.declaration\n\nexport type GermDeclarationRecord = com.germnetwork.declaration.Main\n\n// site.standard\n\nexport type SiteStandardDocumentRecord = site.standard.document.Main\nexport type SiteStandardPublicationRecord = site.standard.publication.Main\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/views/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAQ,GAAG,EAAQ,MAAM,sBAAsB,CAAA;AAK3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAA;AAoBnE,iBAAiB;AAEjB,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAA;AAIhE,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAA;AAI9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAA;AAGlE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAA;AAI7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAA;AAQpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAA;AAQhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAA;AAoC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;AAG5D,MAAM,CAAC,MAAM,yBAAyB,GACpC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAA;AAa9C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAA;AAGnE,MAAM,CAAC,MAAM,kBAAkB,GAC7B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAA;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAC9B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAA;AAClD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAA;AACzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAA;AAqB/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAA;AAcrE,oBAAoB;AAEpB,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAA;AAsB3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAA;AAK3E,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAA","sourcesContent":["import { app, chat, com, site } from '../lexicons/index.js'\n\n// app.bsky.actor\n\nexport type ProfileRecord = app.bsky.actor.profile.Main\nexport const isProfileRecordType = app.bsky.actor.profile.$isTypeOf\n\nexport type ProfileViewer = app.bsky.actor.defs.ViewerState\nexport type KnownFollowers = app.bsky.actor.defs.KnownFollowers\nexport type ProfileAssociatedActivitySubscription =\n app.bsky.actor.defs.ProfileAssociatedActivitySubscription\nexport type ProfileAssociatedChat = app.bsky.actor.defs.ProfileAssociatedChat\nexport type ProfileView = app.bsky.actor.defs.ProfileView\nexport type ProfileViewBasic = app.bsky.actor.defs.ProfileViewBasic\nexport type ProfileViewDetailed = app.bsky.actor.defs.ProfileViewDetailed\nexport type StatusView = app.bsky.actor.defs.StatusView\nexport type VerificationState = app.bsky.actor.defs.VerificationState\nexport type VerificationView = app.bsky.actor.defs.VerificationView\n\nexport type StatusRecord = app.bsky.actor.status.Main\n\n// app.bsky.bookmark\n\nexport type BookmarkView = app.bsky.bookmark.defs.BookmarkView\n\n// app.bsky.embed\n\nexport const isImagesEmbedType = app.bsky.embed.images.$isTypeOf\nexport type ImagesEmbed = app.bsky.embed.images.Main\nexport type ImagesEmbedView = app.bsky.embed.images.View\n\nexport const isVideoEmbedType = app.bsky.embed.video.$isTypeOf\nexport type VideoEmbed = app.bsky.embed.video.Main\nexport type VideoEmbedView = app.bsky.embed.video.View\n\nexport const isGalleryEmbedType = app.bsky.embed.gallery.$isTypeOf\nexport type GalleryEmbed = app.bsky.embed.gallery.Main\nexport type GalleryEmbedView = app.bsky.embed.gallery.View\nexport const isGalleryImageEmbedType = app.bsky.embed.gallery.image.$isTypeOf\nexport type GalleryImageEmbed = app.bsky.embed.gallery.Image\nexport type GalleryImageEmbedView = app.bsky.embed.gallery.ViewImage\n\nexport const isExternalEmbedType = app.bsky.embed.external.$isTypeOf\nexport type ExternalEmbed = app.bsky.embed.external.Main\nexport type ExternalEmbedView = app.bsky.embed.external.View\nexport type ExternalEmbedSourceView = app.bsky.embed.external.ViewExternalSource\nexport type ExternalEmbedSourceThemeView =\n app.bsky.embed.external.ViewExternalSourceTheme\nexport type ExternalEmbedColorRgb = app.bsky.embed.external.ColorRgb\n\nexport const isRecordEmbedType = app.bsky.embed.record.$isTypeOf\nexport type RecordEmbed = app.bsky.embed.record.Main\nexport type RecordEmbedView = app.bsky.embed.record.View\nexport type EmbedBlocked = app.bsky.embed.record.ViewBlocked\nexport type EmbedDetached = app.bsky.embed.record.ViewDetached\nexport type EmbedNotFound = app.bsky.embed.record.ViewNotFound\nexport type PostEmbedView = app.bsky.embed.record.ViewRecord\n\nexport const isRecordWithMediaType = app.bsky.embed.recordWithMedia.$isTypeOf\nexport type RecordWithMedia = app.bsky.embed.recordWithMedia.Main\nexport type RecordWithMediaView = app.bsky.embed.recordWithMedia.View\nexport type RecordWithMediaEmbedView = app.bsky.embed.recordWithMedia.View\n\nexport type Embed =\n | ImagesEmbed\n | VideoEmbed\n | GalleryEmbed\n | ExternalEmbed\n | RecordEmbed\n | RecordWithMedia\n\nexport type EmbedView =\n | ImagesEmbedView\n | VideoEmbedView\n | GalleryEmbedView\n | ExternalEmbedView\n | RecordEmbedView\n | RecordWithMediaView\n\nexport type MaybePostView = PostView | NotFoundPost | BlockedPost\n\nexport type RecordEmbedViewInternal =\n | PostEmbedView\n | GeneratorView\n | ListView\n | LabelerView\n | StarterPackViewBasic\n\n// app.bsky.feed\n\nexport type LikeRecord = app.bsky.feed.like.Main\nexport type RepostRecord = app.bsky.feed.repost.Main\n\nexport type PostRecord = app.bsky.feed.post.Main\nexport const isPostRecordType = app.bsky.feed.post.$isTypeOf\n\nexport type PostgateRecord = app.bsky.feed.postgate.Main\nexport const isPostgateDisableRuleType =\n app.bsky.feed.postgate.disableRule.$isTypeOf\n\nexport type FeedViewPost = app.bsky.feed.defs.FeedViewPost\nexport type ReasonPin = app.bsky.feed.defs.ReasonPin\nexport type ReasonRepost = app.bsky.feed.defs.ReasonRepost\nexport type ReplyRef = app.bsky.feed.defs.ReplyRef\nexport type PostReplyRef = app.bsky.feed.post.ReplyRef\nexport type ThreadViewPost = app.bsky.feed.defs.ThreadViewPost\nexport type ThreadgateView = app.bsky.feed.defs.ThreadgateView\nexport type BlockedPost = app.bsky.feed.defs.BlockedPost\nexport type GeneratorView = app.bsky.feed.defs.GeneratorView\nexport type NotFoundPost = app.bsky.feed.defs.NotFoundPost\nexport type PostView = app.bsky.feed.defs.PostView\nexport const isPostViewType = app.bsky.feed.defs.postView.$isTypeOf\n\nexport type GateRecord = app.bsky.feed.threadgate.Main\nexport const isFollowerRuleType =\n app.bsky.feed.threadgate.followerRule.$isTypeOf\nexport const isFollowingRuleType =\n app.bsky.feed.threadgate.followingRule.$isTypeOf\nexport const isListRuleType = app.bsky.feed.threadgate.listRule.$isTypeOf\nexport const isMentionRuleType = app.bsky.feed.threadgate.mentionRule.$isTypeOf\n\nexport type FeedGenRecord = app.bsky.feed.generator.Main\n\n// app.bsky.graph\n\nexport type BlockRecord = app.bsky.graph.block.Main\nexport type FollowRecord = app.bsky.graph.follow.Main\nexport type ListItemRecord = app.bsky.graph.listitem.Main\nexport type ListItemView = app.bsky.graph.defs.ListItemView\nexport type ListRecord = app.bsky.graph.list.Main\nexport type ListView = app.bsky.graph.defs.ListView\nexport type ListViewBasic = app.bsky.graph.defs.ListViewBasic\nexport type StarterPackRecord = app.bsky.graph.starterpack.Main\nexport type StarterPackView = app.bsky.graph.defs.StarterPackView\nexport type StarterPackViewBasic = app.bsky.graph.defs.StarterPackViewBasic\nexport type VerificationRecord = app.bsky.graph.verification.Main\n\n// app.bsky.labeler\n\nexport type LabelerRecord = app.bsky.labeler.service.Main\nexport const isLabelerRecordType = app.bsky.labeler.service.$isTypeOf\nexport type LabelerView = app.bsky.labeler.defs.LabelerView\nexport type LabelerViewDetailed = app.bsky.labeler.defs.LabelerViewDetailed\n\n// app.bsky.notification\n\nexport type NotificationDeclarationRecord =\n app.bsky.notification.declaration.Main\nexport type ActivitySubscription =\n app.bsky.notification.defs.ActivitySubscription\nexport type NotificationRecordDeleted = app.bsky.notification.defs.RecordDeleted\nexport type NotificationView =\n app.bsky.notification.listNotifications.Notification\n\n// app.bsky.richtext\n\nexport const isMentionFacetType = app.bsky.richtext.facet.mention.$isTypeOf\n\n// app.bsky.unspecced\n\nexport type ThreadItemBlocked = app.bsky.unspecced.defs.ThreadItemBlocked\nexport type ThreadItemNoUnauthenticated =\n app.bsky.unspecced.defs.ThreadItemNoUnauthenticated\nexport type ThreadItemNotFound = app.bsky.unspecced.defs.ThreadItemNotFound\nexport type ThreadItemPost = app.bsky.unspecced.defs.ThreadItemPost\n\nexport type ThreadOtherItem = app.bsky.unspecced.getPostThreadOtherV2.ThreadItem\nexport type GetPostThreadV2QueryParams =\n app.bsky.unspecced.getPostThreadV2.$Params\nexport type ThreadItem = app.bsky.unspecced.getPostThreadV2.ThreadItem\n\n// chat.bsky.actor\n\nexport type ChatDeclarationRecord = chat.bsky.actor.declaration.Main\n\n// com.atproto.label\n\nexport type Label = com.atproto.label.defs.Label\nexport const isSelfLabelsType = com.atproto.label.defs.selfLabels.$isTypeOf\n\n// com.atproto.label\n\nexport type StrongRef = com.atproto.repo.strongRef.Main\nexport const validateStrongRef = com.atproto.repo.strongRef.$safeValidate\n\n// com.germnetwork.declaration\n\nexport type GermDeclarationRecord = com.germnetwork.declaration.Main\n\n// site.standard\n\nexport type SiteStandardDocumentRecord = site.standard.document.Main\nexport type SiteStandardPublicationRecord = site.standard.publication.Main\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/bsky",
3
- "version": "0.0.236",
3
+ "version": "0.0.238",
4
4
  "license": "MIT",
5
5
  "description": "Reference implementation of app.bsky App View (Bluesky API)",
6
6
  "keywords": [
@@ -48,9 +48,9 @@
48
48
  "uint8arrays": "^5.0.0",
49
49
  "undici": "^6.19.8",
50
50
  "zod": "3.23.8",
51
- "@atproto-labs/xrpc-utils": "^0.1.0",
52
51
  "@atproto-labs/fetch-node": "^0.3.0",
53
- "@atproto/api": "^0.20.7",
52
+ "@atproto-labs/xrpc-utils": "^0.1.0",
53
+ "@atproto/api": "^0.20.9",
54
54
  "@atproto/common": "^0.6.1",
55
55
  "@atproto/crypto": "^0.5.0",
56
56
  "@atproto/did": "^0.5.0",
@@ -74,7 +74,7 @@
74
74
  "ts-node": "^10.8.2",
75
75
  "typescript": "^6.0.3",
76
76
  "vitest": "^4.0.16",
77
- "@atproto/pds": "^0.5.1"
77
+ "@atproto/pds": "^0.5.2"
78
78
  },
79
79
  "type": "module",
80
80
  "exports": {
@@ -1,4 +1,4 @@
1
- import { AtUri } from '@atproto/syntax'
1
+ import { atUri } from '@atproto/lex'
2
2
  import { InvalidRequestError, Server } from '@atproto/xrpc-server'
3
3
  import { AppContext } from '../../../../context.js'
4
4
  import { com } from '../../../../lexicons/index.js'
@@ -21,7 +21,7 @@ export default function (server: Server, ctx: AppContext) {
21
21
  throw new InvalidRequestError(`Could not find repo: ${repo}`)
22
22
  }
23
23
 
24
- const uri = AtUri.make(did, collection, rkey).toString()
24
+ const uri = atUri(did, collection, rkey)
25
25
  const result = await ctx.hydrator.getRecord(uri, includeTakedowns)
26
26
 
27
27
  if (!result || (cid && result.cid !== cid)) {
@@ -1,5 +1,6 @@
1
1
  import assert from 'node:assert'
2
2
  import { dedupeStrs, mapDefined } from '@atproto/common'
3
+ import { atUri } from '@atproto/lex'
3
4
  import { AtUri, AtUriString, DidString, UriString } from '@atproto/syntax'
4
5
  import { DataPlaneClient } from '../data-plane/client/index.js'
5
6
  import {
@@ -1575,12 +1576,8 @@ const isModList = (
1575
1576
  const labelSubjectsForDid = (dids: DidString[]) => {
1576
1577
  return [
1577
1578
  ...dids,
1578
- ...dids.map((did) =>
1579
- AtUri.make(did, app.bsky.actor.profile.$type, 'self').toString(),
1580
- ),
1581
- ...dids.map((did) =>
1582
- AtUri.make(did, app.bsky.actor.status.$type, 'self').toString(),
1583
- ),
1579
+ ...dids.map((did) => atUri(did, app.bsky.actor.profile)),
1580
+ ...dids.map((did) => atUri(did, app.bsky.actor.status)),
1584
1581
  ]
1585
1582
  }
1586
1583
 
@@ -1,4 +1,4 @@
1
- import { AtUri, AtUriString, DidString, UriString } from '@atproto/syntax'
1
+ import { AtUriString, DidString, UriString, atUri } from '@atproto/lex'
2
2
  import { DataPlaneClient } from '../data-plane/client/index.js'
3
3
  import { app, com } from '../lexicons/index.js'
4
4
  import { ParsedLabelers } from '../util.js'
@@ -198,8 +198,8 @@ export class LabelHydrator {
198
198
  }
199
199
  }
200
200
 
201
- const labelerDidToUri = (did: DidString): AtUriString => {
202
- return AtUri.make(did, app.bsky.labeler.service.$type, 'self').toString()
201
+ function labelerDidToUri<T extends DidString>(did: T) {
202
+ return atUri(did, app.bsky.labeler.service)
203
203
  }
204
204
 
205
205
  const IMPERSONATION_LABEL = 'impersonation'
@@ -4,6 +4,7 @@ import {
4
4
  Un$Typed,
5
5
  Unknown$TypedObject,
6
6
  UriString,
7
+ atUri,
7
8
  getBlobCidString,
8
9
  } from '@atproto/lex'
9
10
  import {
@@ -66,6 +67,10 @@ import {
66
67
  ExternalEmbedView,
67
68
  FeedViewPost,
68
69
  FollowRecord,
70
+ GalleryEmbed,
71
+ GalleryEmbedView,
72
+ GalleryImageEmbed,
73
+ GalleryImageEmbedView,
69
74
  GeneratorView,
70
75
  GetPostThreadV2QueryParams,
71
76
  ImagesEmbed,
@@ -115,6 +120,8 @@ import {
115
120
  VideoEmbed,
116
121
  VideoEmbedView,
117
122
  isExternalEmbedType,
123
+ isGalleryEmbedType,
124
+ isGalleryImageEmbedType,
118
125
  isImagesEmbedType,
119
126
  isLabelerRecordType,
120
127
  isListRuleType,
@@ -135,6 +142,11 @@ const notificationDeletedRecord =
135
142
  const notificationDeletedRecordCid =
136
143
  'bafyreidad6nyekfa4a67yfb573ptxiv6s7kyxyg2ra6qbbemcruadvtuim'
137
144
 
145
+ // Soft-limit for `app.bsky.embed.gallery#main.items`. The lexicon's
146
+ // schema-level cap is 20, but clients are expected to enforce a soft limit
147
+ // of 10 today. The AppView trims defensively at the view boundary.
148
+ const GALLERY_SOFT_LIMIT = 10
149
+
138
150
  export class Views {
139
151
  public imgUriBuilder: ImageUriBuilder = this.opts.imgUriBuilder
140
152
  public videoUriBuilder: VideoUriBuilder = this.opts.videoUriBuilder
@@ -348,11 +360,7 @@ export class Views {
348
360
  ): Un$Typed<ProfileViewBasic> | undefined {
349
361
  const actor = state.actors?.get(did)
350
362
  if (!actor) return
351
- const profileUri = AtUri.make(
352
- did,
353
- app.bsky.actor.profile.$nsid,
354
- 'self',
355
- ).toString()
363
+ const profileUri = atUri(did, app.bsky.actor.profile)
356
364
  const labels = [
357
365
  ...(state.labels?.getBySubject(did) ?? []),
358
366
  ...(state.labels?.getBySubject(profileUri) ?? []),
@@ -603,7 +611,7 @@ export class Views {
603
611
  return undefined
604
612
  }
605
613
 
606
- const uri = AtUri.make(did, app.bsky.actor.status.$nsid, 'self').toString()
614
+ const uri = atUri(did, app.bsky.actor.status)
607
615
  const labels = state.labels?.getBySubject(uri)
608
616
 
609
617
  const minDuration = 5 * MINUTE
@@ -838,11 +846,7 @@ export class Views {
838
846
  const viewer = state.labelerViewers?.get(did)
839
847
  const aggs = state.labelerAggs?.get(did)
840
848
 
841
- const uri = AtUri.make(
842
- did,
843
- app.bsky.labeler.service.$type,
844
- 'self',
845
- ).toString()
849
+ const uri = atUri(did, app.bsky.labeler.service)
846
850
  const labels = [
847
851
  ...(state.labels?.getBySubject(uri) ?? []),
848
852
  ...this.selfLabels({
@@ -2090,6 +2094,8 @@ export class Views {
2090
2094
  return this.imagesEmbed(creatorFromUri(postUri), embed)
2091
2095
  } else if (isVideoEmbedType(embed)) {
2092
2096
  return this.videoEmbed(creatorFromUri(postUri), embed)
2097
+ } else if (isGalleryEmbedType(embed)) {
2098
+ return this.galleryEmbed(creatorFromUri(postUri), embed)
2093
2099
  } else if (isExternalEmbedType(embed)) {
2094
2100
  return this.externalEmbed(creatorFromUri(postUri), embed, state)
2095
2101
  } else if (isRecordEmbedType(embed)) {
@@ -2133,6 +2139,47 @@ export class Views {
2133
2139
  })
2134
2140
  }
2135
2141
 
2142
+ galleryEmbed(did: DidString, embed: GalleryEmbed): $Typed<GalleryEmbedView> {
2143
+ // The lexicon's schema-level cap is 20, but clients are expected to
2144
+ // enforce a soft limit of 10. Trim defensively at the view boundary so
2145
+ // viewers see at most 10 items regardless of what was authored.
2146
+ const items = embed.items.slice(0, GALLERY_SOFT_LIMIT).flatMap((item) => {
2147
+ const view = this.galleryItemView(did, item)
2148
+ return view ? [view] : []
2149
+ })
2150
+ return app.bsky.embed.gallery.view.$build({ items })
2151
+ }
2152
+
2153
+ private galleryItemView(
2154
+ did: DidString,
2155
+ item: GalleryEmbed['items'][number],
2156
+ ): $Typed<GalleryImageEmbedView> | undefined {
2157
+ if (isGalleryImageEmbedType(item)) {
2158
+ return this.galleryImageView(did, item)
2159
+ }
2160
+ return undefined
2161
+ }
2162
+
2163
+ private galleryImageView(
2164
+ did: DidString,
2165
+ item: GalleryImageEmbed,
2166
+ ): $Typed<GalleryImageEmbedView> {
2167
+ return app.bsky.embed.gallery.viewImage.$build({
2168
+ thumbnail: this.imgUriBuilder.getPresetUri(
2169
+ 'feed_thumbnail',
2170
+ did,
2171
+ getBlobCidString(item.image),
2172
+ ),
2173
+ fullsize: this.imgUriBuilder.getPresetUri(
2174
+ 'feed_fullsize',
2175
+ did,
2176
+ getBlobCidString(item.image),
2177
+ ),
2178
+ alt: item.alt,
2179
+ aspectRatio: item.aspectRatio,
2180
+ })
2181
+ }
2182
+
2136
2183
  externalEmbed(
2137
2184
  did: DidString,
2138
2185
  embed: ExternalEmbed,
@@ -2149,19 +2196,25 @@ export class Views {
2149
2196
  state,
2150
2197
  assumedUrl: embed.external.uri,
2151
2198
  })
2199
+ // The author-supplied (scraped) thumbnail always wins when present —
2200
+ // it's the per-article OG image. Only when the embed has no thumb do
2201
+ // we fall back to whatever the SS overlay provides (the document's
2202
+ // `coverImage`). `thumb` is set after the `...ssView` spread so the
2203
+ // overlay's `coverImage`-derived thumb can't clobber the embed's.
2204
+ const embeddedThumb = embed.external.thumb
2205
+ ? this.imgUriBuilder.getPresetUri(
2206
+ 'feed_thumbnail',
2207
+ did,
2208
+ getBlobCidString(embed.external.thumb),
2209
+ )
2210
+ : undefined
2152
2211
  return app.bsky.embed.external.view.$build({
2153
2212
  external: {
2154
2213
  uri: embed.external.uri,
2155
2214
  title: embed.external.title,
2156
2215
  description: embed.external.description,
2157
- thumb: embed.external.thumb
2158
- ? this.imgUriBuilder.getPresetUri(
2159
- 'feed_thumbnail',
2160
- did,
2161
- getBlobCidString(embed.external.thumb),
2162
- )
2163
- : undefined,
2164
2216
  ...ssView,
2217
+ thumb: embeddedThumb ?? ssView?.thumb,
2165
2218
  associatedRefs: embed.external.associatedRefs,
2166
2219
  },
2167
2220
  })
@@ -2522,11 +2575,14 @@ export class Views {
2522
2575
  let mediaEmbed:
2523
2576
  | $Typed<ImagesEmbedView>
2524
2577
  | $Typed<VideoEmbedView>
2578
+ | $Typed<GalleryEmbedView>
2525
2579
  | $Typed<ExternalEmbedView>
2526
2580
  if (isImagesEmbedType(embed.media)) {
2527
2581
  mediaEmbed = this.imagesEmbed(creator, embed.media)
2528
2582
  } else if (isVideoEmbedType(embed.media)) {
2529
2583
  mediaEmbed = this.videoEmbed(creator, embed.media)
2584
+ } else if (isGalleryEmbedType(embed.media)) {
2585
+ mediaEmbed = this.galleryEmbed(creator, embed.media)
2530
2586
  } else if (isExternalEmbedType(embed.media)) {
2531
2587
  mediaEmbed = this.externalEmbed(creator, embed.media, state)
2532
2588
  } else {
@@ -33,6 +33,13 @@ export const isVideoEmbedType = app.bsky.embed.video.$isTypeOf
33
33
  export type VideoEmbed = app.bsky.embed.video.Main
34
34
  export type VideoEmbedView = app.bsky.embed.video.View
35
35
 
36
+ export const isGalleryEmbedType = app.bsky.embed.gallery.$isTypeOf
37
+ export type GalleryEmbed = app.bsky.embed.gallery.Main
38
+ export type GalleryEmbedView = app.bsky.embed.gallery.View
39
+ export const isGalleryImageEmbedType = app.bsky.embed.gallery.image.$isTypeOf
40
+ export type GalleryImageEmbed = app.bsky.embed.gallery.Image
41
+ export type GalleryImageEmbedView = app.bsky.embed.gallery.ViewImage
42
+
36
43
  export const isExternalEmbedType = app.bsky.embed.external.$isTypeOf
37
44
  export type ExternalEmbed = app.bsky.embed.external.Main
38
45
  export type ExternalEmbedView = app.bsky.embed.external.View
@@ -57,6 +64,7 @@ export type RecordWithMediaEmbedView = app.bsky.embed.recordWithMedia.View
57
64
  export type Embed =
58
65
  | ImagesEmbed
59
66
  | VideoEmbed
67
+ | GalleryEmbed
60
68
  | ExternalEmbed
61
69
  | RecordEmbed
62
70
  | RecordWithMedia
@@ -64,6 +72,7 @@ export type Embed =
64
72
  export type EmbedView =
65
73
  | ImagesEmbedView
66
74
  | VideoEmbedView
75
+ | GalleryEmbedView
67
76
  | ExternalEmbedView
68
77
  | RecordEmbedView
69
78
  | RecordWithMediaView
@@ -1,5 +1,256 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
+ exports[`pds posts views > embeds gallery with record. 1`] = `
4
+ {
5
+ "author": {
6
+ "associated": {
7
+ "activitySubscription": {
8
+ "allowSubscriptions": "followers",
9
+ },
10
+ },
11
+ "avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(1)",
12
+ "createdAt": "1970-01-01T00:00:00.000Z",
13
+ "did": "user(0)",
14
+ "displayName": "ali",
15
+ "handle": "alice.test",
16
+ "labels": [
17
+ {
18
+ "cid": "cids(2)",
19
+ "cts": "1970-01-01T00:00:00.000Z",
20
+ "src": "user(0)",
21
+ "uri": "record(1)",
22
+ "val": "self-label-a",
23
+ },
24
+ {
25
+ "cid": "cids(2)",
26
+ "cts": "1970-01-01T00:00:00.000Z",
27
+ "src": "user(0)",
28
+ "uri": "record(1)",
29
+ "val": "self-label-b",
30
+ },
31
+ ],
32
+ },
33
+ "bookmarkCount": 0,
34
+ "cid": "cids(0)",
35
+ "embed": {
36
+ "$type": "app.bsky.embed.recordWithMedia#view",
37
+ "media": {
38
+ "$type": "app.bsky.embed.gallery#view",
39
+ "items": [
40
+ {
41
+ "$type": "app.bsky.embed.gallery#viewImage",
42
+ "alt": "landscape",
43
+ "aspectRatio": {
44
+ "height": 3,
45
+ "width": 4,
46
+ },
47
+ "fullsize": "https://bsky.public.url/img/feed_fullsize/plain/user(1)/cids(3)",
48
+ "thumbnail": "https://bsky.public.url/img/feed_thumbnail/plain/user(1)/cids(3)",
49
+ },
50
+ ],
51
+ },
52
+ "record": {
53
+ "record": {
54
+ "$type": "app.bsky.embed.record#viewRecord",
55
+ "author": {
56
+ "associated": {
57
+ "activitySubscription": {
58
+ "allowSubscriptions": "followers",
59
+ },
60
+ },
61
+ "avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(1)",
62
+ "createdAt": "1970-01-01T00:00:00.000Z",
63
+ "did": "user(0)",
64
+ "displayName": "ali",
65
+ "handle": "alice.test",
66
+ "labels": [
67
+ {
68
+ "cid": "cids(2)",
69
+ "cts": "1970-01-01T00:00:00.000Z",
70
+ "src": "user(0)",
71
+ "uri": "record(1)",
72
+ "val": "self-label-a",
73
+ },
74
+ {
75
+ "cid": "cids(2)",
76
+ "cts": "1970-01-01T00:00:00.000Z",
77
+ "src": "user(0)",
78
+ "uri": "record(1)",
79
+ "val": "self-label-b",
80
+ },
81
+ ],
82
+ },
83
+ "cid": "cids(4)",
84
+ "embeds": [],
85
+ "indexedAt": "1970-01-01T00:00:00.000Z",
86
+ "labels": [],
87
+ "likeCount": 0,
88
+ "quoteCount": 1,
89
+ "replyCount": 0,
90
+ "repostCount": 0,
91
+ "uri": "record(2)",
92
+ "value": {
93
+ "$type": "app.bsky.feed.post",
94
+ "createdAt": "1970-01-01T00:00:00.000Z",
95
+ "text": "embedded",
96
+ },
97
+ },
98
+ },
99
+ },
100
+ "indexedAt": "1970-01-01T00:00:00.000Z",
101
+ "labels": [],
102
+ "likeCount": 0,
103
+ "quoteCount": 0,
104
+ "record": {
105
+ "$type": "app.bsky.feed.post",
106
+ "createdAt": "1970-01-01T00:00:00.000Z",
107
+ "embed": {
108
+ "$type": "app.bsky.embed.recordWithMedia",
109
+ "media": {
110
+ "$type": "app.bsky.embed.gallery",
111
+ "items": [
112
+ {
113
+ "$type": "app.bsky.embed.gallery#image",
114
+ "alt": "landscape",
115
+ "aspectRatio": {
116
+ "height": 3,
117
+ "width": 4,
118
+ },
119
+ "image": {
120
+ "$type": "blob",
121
+ "mimeType": "image/jpeg",
122
+ "ref": {
123
+ "$link": "cids(3)",
124
+ },
125
+ "size": 4114,
126
+ },
127
+ },
128
+ ],
129
+ },
130
+ "record": {
131
+ "record": {
132
+ "cid": "cids(4)",
133
+ "uri": "record(2)",
134
+ },
135
+ },
136
+ },
137
+ "text": "gallery + record",
138
+ },
139
+ "replyCount": 0,
140
+ "repostCount": 0,
141
+ "uri": "record(0)",
142
+ }
143
+ `;
144
+
145
+ exports[`pds posts views > embeds gallery. 1`] = `
146
+ {
147
+ "author": {
148
+ "associated": {
149
+ "activitySubscription": {
150
+ "allowSubscriptions": "followers",
151
+ },
152
+ },
153
+ "avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(1)",
154
+ "createdAt": "1970-01-01T00:00:00.000Z",
155
+ "did": "user(0)",
156
+ "displayName": "ali",
157
+ "handle": "alice.test",
158
+ "labels": [
159
+ {
160
+ "cid": "cids(2)",
161
+ "cts": "1970-01-01T00:00:00.000Z",
162
+ "src": "user(0)",
163
+ "uri": "record(1)",
164
+ "val": "self-label-a",
165
+ },
166
+ {
167
+ "cid": "cids(2)",
168
+ "cts": "1970-01-01T00:00:00.000Z",
169
+ "src": "user(0)",
170
+ "uri": "record(1)",
171
+ "val": "self-label-b",
172
+ },
173
+ ],
174
+ },
175
+ "bookmarkCount": 0,
176
+ "cid": "cids(0)",
177
+ "embed": {
178
+ "$type": "app.bsky.embed.gallery#view",
179
+ "items": [
180
+ {
181
+ "$type": "app.bsky.embed.gallery#viewImage",
182
+ "alt": "landscape",
183
+ "aspectRatio": {
184
+ "height": 3,
185
+ "width": 4,
186
+ },
187
+ "fullsize": "https://bsky.public.url/img/feed_fullsize/plain/user(1)/cids(3)",
188
+ "thumbnail": "https://bsky.public.url/img/feed_thumbnail/plain/user(1)/cids(3)",
189
+ },
190
+ {
191
+ "$type": "app.bsky.embed.gallery#viewImage",
192
+ "alt": "portrait",
193
+ "aspectRatio": {
194
+ "height": 4,
195
+ "width": 3,
196
+ },
197
+ "fullsize": "https://bsky.public.url/img/feed_fullsize/plain/user(1)/cids(1)",
198
+ "thumbnail": "https://bsky.public.url/img/feed_thumbnail/plain/user(1)/cids(1)",
199
+ },
200
+ ],
201
+ },
202
+ "indexedAt": "1970-01-01T00:00:00.000Z",
203
+ "labels": [],
204
+ "likeCount": 0,
205
+ "quoteCount": 0,
206
+ "record": {
207
+ "$type": "app.bsky.feed.post",
208
+ "createdAt": "1970-01-01T00:00:00.000Z",
209
+ "embed": {
210
+ "$type": "app.bsky.embed.gallery",
211
+ "items": [
212
+ {
213
+ "$type": "app.bsky.embed.gallery#image",
214
+ "alt": "landscape",
215
+ "aspectRatio": {
216
+ "height": 3,
217
+ "width": 4,
218
+ },
219
+ "image": {
220
+ "$type": "blob",
221
+ "mimeType": "image/jpeg",
222
+ "ref": {
223
+ "$link": "cids(3)",
224
+ },
225
+ "size": 4114,
226
+ },
227
+ },
228
+ {
229
+ "$type": "app.bsky.embed.gallery#image",
230
+ "alt": "portrait",
231
+ "aspectRatio": {
232
+ "height": 4,
233
+ "width": 3,
234
+ },
235
+ "image": {
236
+ "$type": "blob",
237
+ "mimeType": "image/jpeg",
238
+ "ref": {
239
+ "$link": "cids(1)",
240
+ },
241
+ "size": 3976,
242
+ },
243
+ },
244
+ ],
245
+ },
246
+ "text": "gallery",
247
+ },
248
+ "replyCount": 0,
249
+ "repostCount": 0,
250
+ "uri": "record(0)",
251
+ }
252
+ `;
253
+
3
254
  exports[`pds posts views > embeds video with record. 1`] = `
4
255
  {
5
256
  "author": {