@atproto/ozone 0.2.1 → 0.2.3

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 (63) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/api/chat/getConvos.d.ts +4 -0
  3. package/dist/api/chat/getConvos.d.ts.map +1 -0
  4. package/dist/api/chat/getConvos.js +18 -0
  5. package/dist/api/chat/getConvos.js.map +1 -0
  6. package/dist/api/chat/index.d.ts.map +1 -1
  7. package/dist/api/chat/index.js +2 -0
  8. package/dist/api/chat/index.js.map +1 -1
  9. package/dist/lexicon/lexicons.d.ts +306 -46
  10. package/dist/lexicon/lexicons.d.ts.map +1 -1
  11. package/dist/lexicon/lexicons.js +163 -16
  12. package/dist/lexicon/lexicons.js.map +1 -1
  13. package/dist/lexicon/types/app/bsky/draft/defs.d.ts +10 -0
  14. package/dist/lexicon/types/app/bsky/draft/defs.d.ts.map +1 -1
  15. package/dist/lexicon/types/app/bsky/draft/defs.js +7 -0
  16. package/dist/lexicon/types/app/bsky/draft/defs.js.map +1 -1
  17. package/dist/lexicon/types/app/bsky/embed/gallery.d.ts +45 -0
  18. package/dist/lexicon/types/app/bsky/embed/gallery.d.ts.map +1 -0
  19. package/dist/lexicon/types/app/bsky/embed/gallery.js +33 -0
  20. package/dist/lexicon/types/app/bsky/embed/gallery.js.map +1 -0
  21. package/dist/lexicon/types/app/bsky/embed/record.d.ts +2 -1
  22. package/dist/lexicon/types/app/bsky/embed/record.d.ts.map +1 -1
  23. package/dist/lexicon/types/app/bsky/embed/record.js.map +1 -1
  24. package/dist/lexicon/types/app/bsky/embed/recordWithMedia.d.ts +3 -2
  25. package/dist/lexicon/types/app/bsky/embed/recordWithMedia.d.ts.map +1 -1
  26. package/dist/lexicon/types/app/bsky/embed/recordWithMedia.js.map +1 -1
  27. package/dist/lexicon/types/app/bsky/feed/defs.d.ts +2 -1
  28. package/dist/lexicon/types/app/bsky/feed/defs.d.ts.map +1 -1
  29. package/dist/lexicon/types/app/bsky/feed/defs.js.map +1 -1
  30. package/dist/lexicon/types/app/bsky/feed/post.d.ts +2 -1
  31. package/dist/lexicon/types/app/bsky/feed/post.d.ts.map +1 -1
  32. package/dist/lexicon/types/app/bsky/feed/post.js.map +1 -1
  33. package/dist/lexicon/types/chat/bsky/convo/defs.d.ts +2 -0
  34. package/dist/lexicon/types/chat/bsky/convo/defs.d.ts.map +1 -1
  35. package/dist/lexicon/types/chat/bsky/convo/defs.js.map +1 -1
  36. package/dist/lexicon/types/chat/bsky/convo/unlockConvo.d.ts +1 -1
  37. package/dist/lexicon/types/chat/bsky/convo/unlockConvo.d.ts.map +1 -1
  38. package/dist/lexicon/types/chat/bsky/convo/unlockConvo.js.map +1 -1
  39. package/dist/lexicon/types/chat/bsky/embed/joinLink.d.ts +4 -1
  40. package/dist/lexicon/types/chat/bsky/embed/joinLink.d.ts.map +1 -1
  41. package/dist/lexicon/types/chat/bsky/embed/joinLink.js.map +1 -1
  42. package/dist/lexicon/types/chat/bsky/group/defs.d.ts +19 -2
  43. package/dist/lexicon/types/chat/bsky/group/defs.d.ts.map +1 -1
  44. package/dist/lexicon/types/chat/bsky/group/defs.js +14 -0
  45. package/dist/lexicon/types/chat/bsky/group/defs.js.map +1 -1
  46. package/dist/lexicon/types/chat/bsky/group/getJoinLinkPreviews.d.ts +4 -1
  47. package/dist/lexicon/types/chat/bsky/group/getJoinLinkPreviews.d.ts.map +1 -1
  48. package/dist/lexicon/types/chat/bsky/group/getJoinLinkPreviews.js.map +1 -1
  49. package/dist/lexicon/types/chat/bsky/moderation/subscribeModEvents.d.ts +1 -1
  50. package/dist/lexicon/types/chat/bsky/moderation/subscribeModEvents.d.ts.map +1 -1
  51. package/dist/lexicon/types/chat/bsky/moderation/subscribeModEvents.js.map +1 -1
  52. package/dist/mod-service/subject.d.ts +5 -0
  53. package/dist/mod-service/subject.d.ts.map +1 -1
  54. package/dist/mod-service/subject.js +5 -0
  55. package/dist/mod-service/subject.js.map +1 -1
  56. package/package.json +3 -3
  57. package/src/api/chat/getConvos.ts +23 -0
  58. package/src/api/chat/index.ts +2 -0
  59. package/src/mod-service/subject.ts +5 -0
  60. package/tsconfig.build.json +2 -2
  61. package/tsconfig.build.tsbuildinfo +1 -1
  62. package/tsconfig.json +2 -2
  63. package/tsconfig.tests.json +2 -2
@@ -2238,6 +2238,10 @@ export declare const schemaDict: {
2238
2238
  };
2239
2239
  readonly maxLength: 4;
2240
2240
  };
2241
+ readonly embedGallery: {
2242
+ readonly type: "ref";
2243
+ readonly ref: "lex:app.bsky.draft.defs#draftEmbedGallery";
2244
+ };
2241
2245
  readonly embedVideos: {
2242
2246
  readonly type: "array";
2243
2247
  readonly items: {
@@ -2316,6 +2320,25 @@ export declare const schemaDict: {
2316
2320
  };
2317
2321
  };
2318
2322
  };
2323
+ readonly draftEmbedGallery: {
2324
+ readonly type: "object";
2325
+ readonly required: ["items"];
2326
+ readonly properties: {
2327
+ readonly items: {
2328
+ readonly type: "ref";
2329
+ readonly ref: "lex:app.bsky.draft.defs#draftEmbedGalleryItems";
2330
+ };
2331
+ };
2332
+ };
2333
+ readonly draftEmbedGalleryItems: {
2334
+ readonly type: "array";
2335
+ readonly items: {
2336
+ readonly type: "union";
2337
+ readonly refs: ["lex:app.bsky.draft.defs#draftEmbedImage"];
2338
+ };
2339
+ readonly maxLength: 20;
2340
+ readonly description: "The schema-level maxLength of 20 is a future-proof ceiling. Clients should currently enforce a soft limit of 10 items in authoring UIs.";
2341
+ };
2319
2342
  readonly draftEmbedImage: {
2320
2343
  readonly type: "object";
2321
2344
  readonly required: ["localRef"];
@@ -2672,6 +2695,85 @@ export declare const schemaDict: {
2672
2695
  };
2673
2696
  };
2674
2697
  };
2698
+ readonly AppBskyEmbedGallery: {
2699
+ readonly lexicon: 1;
2700
+ readonly id: "app.bsky.embed.gallery";
2701
+ readonly description: "An assortment of media embedded in a Bluesky record (eg, a post).";
2702
+ readonly defs: {
2703
+ readonly main: {
2704
+ readonly type: "object";
2705
+ readonly required: ["items"];
2706
+ readonly properties: {
2707
+ readonly items: {
2708
+ readonly type: "array";
2709
+ readonly maxLength: 20;
2710
+ readonly description: "The schema-level maxLength of 20 is a future-proof ceiling. Clients should currently enforce a soft limit of 10 items in authoring UIs.";
2711
+ readonly items: {
2712
+ readonly type: "union";
2713
+ readonly refs: ["lex:app.bsky.embed.gallery#image"];
2714
+ readonly description: "The media items in the gallery. Each item may be of a different type, but all types must be supported by the client.";
2715
+ };
2716
+ };
2717
+ };
2718
+ };
2719
+ readonly image: {
2720
+ readonly type: "object";
2721
+ readonly required: ["image", "alt", "aspectRatio"];
2722
+ readonly properties: {
2723
+ readonly image: {
2724
+ readonly type: "blob";
2725
+ readonly accept: ["image/*"];
2726
+ readonly maxSize: 2000000;
2727
+ };
2728
+ readonly alt: {
2729
+ readonly type: "string";
2730
+ readonly description: "Alt text description of the image, for accessibility.";
2731
+ };
2732
+ readonly aspectRatio: {
2733
+ readonly type: "ref";
2734
+ readonly ref: "lex:app.bsky.embed.defs#aspectRatio";
2735
+ };
2736
+ };
2737
+ };
2738
+ readonly view: {
2739
+ readonly type: "object";
2740
+ readonly required: ["items"];
2741
+ readonly properties: {
2742
+ readonly items: {
2743
+ readonly type: "array";
2744
+ readonly items: {
2745
+ readonly type: "union";
2746
+ readonly refs: ["lex:app.bsky.embed.gallery#viewImage"];
2747
+ };
2748
+ };
2749
+ };
2750
+ };
2751
+ readonly viewImage: {
2752
+ readonly type: "object";
2753
+ readonly required: ["thumbnail", "fullsize", "alt", "aspectRatio"];
2754
+ readonly properties: {
2755
+ readonly thumbnail: {
2756
+ readonly type: "string";
2757
+ readonly format: "uri";
2758
+ readonly description: "Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View.";
2759
+ };
2760
+ readonly fullsize: {
2761
+ readonly type: "string";
2762
+ readonly format: "uri";
2763
+ readonly description: "Fully-qualified URL where a large version of the image can be fetched. May or may not be the exact original blob. For example, CDN location provided by the App View.";
2764
+ };
2765
+ readonly alt: {
2766
+ readonly type: "string";
2767
+ readonly description: "Alt text description of the image, for accessibility.";
2768
+ };
2769
+ readonly aspectRatio: {
2770
+ readonly type: "ref";
2771
+ readonly ref: "lex:app.bsky.embed.defs#aspectRatio";
2772
+ };
2773
+ };
2774
+ };
2775
+ };
2776
+ };
2675
2777
  readonly AppBskyEmbedGetEmbedExternalView: {
2676
2778
  readonly lexicon: 1;
2677
2779
  readonly id: "app.bsky.embed.getEmbedExternalView";
@@ -2877,7 +2979,7 @@ export declare const schemaDict: {
2877
2979
  readonly type: "array";
2878
2980
  readonly items: {
2879
2981
  readonly type: "union";
2880
- readonly refs: ["lex:app.bsky.embed.images#view", "lex:app.bsky.embed.video#view", "lex:app.bsky.embed.external#view", "lex:app.bsky.embed.record#view", "lex:app.bsky.embed.recordWithMedia#view"];
2982
+ readonly refs: ["lex:app.bsky.embed.images#view", "lex:app.bsky.embed.video#view", "lex:app.bsky.embed.gallery#view", "lex:app.bsky.embed.external#view", "lex:app.bsky.embed.record#view", "lex:app.bsky.embed.recordWithMedia#view"];
2881
2983
  };
2882
2984
  };
2883
2985
  readonly indexedAt: {
@@ -2949,7 +3051,7 @@ export declare const schemaDict: {
2949
3051
  };
2950
3052
  readonly media: {
2951
3053
  readonly type: "union";
2952
- readonly refs: ["lex:app.bsky.embed.images", "lex:app.bsky.embed.video", "lex:app.bsky.embed.external"];
3054
+ readonly refs: ["lex:app.bsky.embed.images", "lex:app.bsky.embed.video", "lex:app.bsky.embed.gallery", "lex:app.bsky.embed.external"];
2953
3055
  };
2954
3056
  };
2955
3057
  };
@@ -2963,7 +3065,7 @@ export declare const schemaDict: {
2963
3065
  };
2964
3066
  readonly media: {
2965
3067
  readonly type: "union";
2966
- readonly refs: ["lex:app.bsky.embed.images#view", "lex:app.bsky.embed.video#view", "lex:app.bsky.embed.external#view"];
3068
+ readonly refs: ["lex:app.bsky.embed.images#view", "lex:app.bsky.embed.video#view", "lex:app.bsky.embed.gallery#view", "lex:app.bsky.embed.external#view"];
2967
3069
  };
2968
3070
  };
2969
3071
  };
@@ -3083,7 +3185,7 @@ export declare const schemaDict: {
3083
3185
  };
3084
3186
  readonly embed: {
3085
3187
  readonly type: "union";
3086
- readonly refs: ["lex:app.bsky.embed.images#view", "lex:app.bsky.embed.video#view", "lex:app.bsky.embed.external#view", "lex:app.bsky.embed.record#view", "lex:app.bsky.embed.recordWithMedia#view"];
3188
+ readonly refs: ["lex:app.bsky.embed.images#view", "lex:app.bsky.embed.video#view", "lex:app.bsky.embed.gallery#view", "lex:app.bsky.embed.external#view", "lex:app.bsky.embed.record#view", "lex:app.bsky.embed.recordWithMedia#view"];
3087
3189
  };
3088
3190
  readonly bookmarkCount: {
3089
3191
  readonly type: "integer";
@@ -4500,7 +4602,7 @@ export declare const schemaDict: {
4500
4602
  };
4501
4603
  readonly embed: {
4502
4604
  readonly type: "union";
4503
- readonly refs: ["lex:app.bsky.embed.images", "lex:app.bsky.embed.video", "lex:app.bsky.embed.external", "lex:app.bsky.embed.record", "lex:app.bsky.embed.recordWithMedia"];
4605
+ readonly refs: ["lex:app.bsky.embed.images", "lex:app.bsky.embed.video", "lex:app.bsky.embed.gallery", "lex:app.bsky.embed.external", "lex:app.bsky.embed.record", "lex:app.bsky.embed.recordWithMedia"];
4504
4606
  };
4505
4607
  readonly langs: {
4506
4608
  readonly type: "array";
@@ -9896,7 +9998,7 @@ export declare const schemaDict: {
9896
9998
  readonly groupConvo: {
9897
9999
  readonly description: "[NOTE: This is under active development and should be considered unstable while this note is here].";
9898
10000
  readonly type: "object";
9899
- readonly required: ["createdAt", "lockStatus", "memberCount", "memberLimit", "name"];
10001
+ readonly required: ["createdAt", "lockStatus", "lockStatusModerationOverride", "memberCount", "memberLimit", "name"];
9900
10002
  readonly properties: {
9901
10003
  readonly createdAt: {
9902
10004
  readonly type: "string";
@@ -9915,6 +10017,10 @@ export declare const schemaDict: {
9915
10017
  readonly type: "ref";
9916
10018
  readonly ref: "lex:chat.bsky.convo.defs#convoLockStatus";
9917
10019
  };
10020
+ readonly lockStatusModerationOverride: {
10021
+ readonly description: "Whether the lock status is being forced by a moderation override (account inactivation or convo takedown) rather than the owner's own setting.";
10022
+ readonly type: "boolean";
10023
+ };
9918
10024
  readonly memberCount: {
9919
10025
  readonly type: "integer";
9920
10026
  readonly description: "The total number of members in the group conversation.";
@@ -11224,6 +11330,8 @@ export declare const schemaDict: {
11224
11330
  readonly name: "InvalidConvo";
11225
11331
  }, {
11226
11332
  readonly name: "InsufficientRole";
11333
+ }, {
11334
+ readonly name: "ConvoLockedByModeration";
11227
11335
  }];
11228
11336
  readonly input: {
11229
11337
  readonly encoding: "application/json";
@@ -11387,8 +11495,8 @@ export declare const schemaDict: {
11387
11495
  readonly required: ["joinLinkPreview"];
11388
11496
  readonly properties: {
11389
11497
  readonly joinLinkPreview: {
11390
- readonly type: "ref";
11391
- readonly ref: "lex:chat.bsky.group.defs#joinLinkPreviewView";
11498
+ readonly type: "union";
11499
+ readonly refs: ["lex:chat.bsky.group.defs#joinLinkPreviewView", "lex:chat.bsky.group.defs#disabledJoinLinkPreviewView", "lex:chat.bsky.group.defs#invalidJoinLinkPreviewView"];
11392
11500
  };
11393
11501
  };
11394
11502
  };
@@ -11550,8 +11658,8 @@ export declare const schemaDict: {
11550
11658
  readonly name: {
11551
11659
  readonly type: "string";
11552
11660
  readonly minLength: 1;
11553
- readonly maxGraphemes: 128;
11554
- readonly maxLength: 1280;
11661
+ readonly maxGraphemes: 50;
11662
+ readonly maxLength: 500;
11555
11663
  };
11556
11664
  };
11557
11665
  };
@@ -11636,6 +11744,7 @@ export declare const schemaDict: {
11636
11744
  readonly knownValues: ["anyone", "followedByOwner"];
11637
11745
  };
11638
11746
  readonly joinLinkView: {
11747
+ readonly description: "Join link view to be used within a group view, so the convo is surrounding, not specified inside this view.";
11639
11748
  readonly type: "object";
11640
11749
  readonly required: ["code", "enabledStatus", "requireApproval", "joinRule", "createdAt"];
11641
11750
  readonly properties: {
@@ -11660,9 +11769,13 @@ export declare const schemaDict: {
11660
11769
  };
11661
11770
  };
11662
11771
  readonly joinLinkPreviewView: {
11772
+ readonly description: "Preview that can be shown in feeds, including to unauthenticated viewers.";
11663
11773
  readonly type: "object";
11664
- readonly required: ["code", "name", "owner", "memberCount", "memberLimit", "requireApproval", "joinRule", "enabledStatus"];
11774
+ readonly required: ["convoId", "code", "name", "owner", "memberCount", "memberLimit", "requireApproval", "joinRule"];
11665
11775
  readonly properties: {
11776
+ readonly convoId: {
11777
+ readonly type: "string";
11778
+ };
11666
11779
  readonly code: {
11667
11780
  readonly type: "string";
11668
11781
  };
@@ -11686,10 +11799,6 @@ export declare const schemaDict: {
11686
11799
  readonly type: "ref";
11687
11800
  readonly ref: "lex:chat.bsky.group.defs#joinRule";
11688
11801
  };
11689
- readonly enabledStatus: {
11690
- readonly type: "ref";
11691
- readonly ref: "lex:chat.bsky.group.defs#linkEnabledStatus";
11692
- };
11693
11802
  readonly convo: {
11694
11803
  readonly type: "ref";
11695
11804
  readonly ref: "lex:chat.bsky.convo.defs#convoView";
@@ -11701,6 +11810,26 @@ export declare const schemaDict: {
11701
11810
  };
11702
11811
  };
11703
11812
  };
11813
+ readonly disabledJoinLinkPreviewView: {
11814
+ readonly description: "Preview for a disabled join link. Carries only the code so clients can correlate with the input and render a disabled state.";
11815
+ readonly type: "object";
11816
+ readonly required: ["code"];
11817
+ readonly properties: {
11818
+ readonly code: {
11819
+ readonly type: "string";
11820
+ };
11821
+ };
11822
+ };
11823
+ readonly invalidJoinLinkPreviewView: {
11824
+ readonly description: "Preview for a join link code that does not map to an existing link. Carries only the code so clients can correlate with the input and render an invalid state.";
11825
+ readonly type: "object";
11826
+ readonly required: ["code"];
11827
+ readonly properties: {
11828
+ readonly code: {
11829
+ readonly type: "string";
11830
+ };
11831
+ };
11832
+ };
11704
11833
  readonly joinLinkViewerState: {
11705
11834
  readonly type: "object";
11706
11835
  readonly properties: {
@@ -11711,6 +11840,7 @@ export declare const schemaDict: {
11711
11840
  };
11712
11841
  };
11713
11842
  readonly joinRequestView: {
11843
+ readonly description: "A join request from the perspective of the group owner.";
11714
11844
  readonly type: "object";
11715
11845
  readonly required: ["convoId", "requestedBy", "requestedAt"];
11716
11846
  readonly properties: {
@@ -11730,7 +11860,7 @@ export declare const schemaDict: {
11730
11860
  readonly joinRequestConvoView: {
11731
11861
  readonly description: "A join request from the perspective of the requester, including enough group context to render the request in a list (e.g. group name, owner, member count).";
11732
11862
  readonly type: "object";
11733
- readonly required: ["convoId", "name", "owner", "memberCount", "memberLimit", "requestedAt"];
11863
+ readonly required: ["convoId", "name", "owner", "memberCount", "memberLimit", "viewer"];
11734
11864
  readonly properties: {
11735
11865
  readonly convoId: {
11736
11866
  readonly type: "string";
@@ -11748,9 +11878,9 @@ export declare const schemaDict: {
11748
11878
  readonly memberLimit: {
11749
11879
  readonly type: "integer";
11750
11880
  };
11751
- readonly requestedAt: {
11752
- readonly type: "string";
11753
- readonly format: "datetime";
11881
+ readonly viewer: {
11882
+ readonly type: "ref";
11883
+ readonly ref: "lex:chat.bsky.group.defs#joinLinkViewerState";
11754
11884
  };
11755
11885
  };
11756
11886
  };
@@ -11945,7 +12075,7 @@ export declare const schemaDict: {
11945
12075
  readonly defs: {
11946
12076
  readonly main: {
11947
12077
  readonly type: "query";
11948
- readonly description: "[NOTE: This is under active development and should be considered unstable while this note is here]. Get public information about groups from join links. Invalid or disabled codes are silently omitted from results. Use the 'code' property on the views to correlate with the input codes, not array positions.";
12078
+ readonly description: "[NOTE: This is under active development and should be considered unstable while this note is here]. Get public information about groups from join links. The output array matches the input codes one-to-one by position (and each view also carries its 'code'). Disabled codes return a disabledJoinLinkPreviewView, and codes that do not map to a previewable link return an invalidJoinLinkPreviewView.";
11949
12079
  readonly parameters: {
11950
12080
  readonly type: "params";
11951
12081
  readonly required: ["codes"];
@@ -11969,8 +12099,8 @@ export declare const schemaDict: {
11969
12099
  readonly joinLinkPreviews: {
11970
12100
  readonly type: "array";
11971
12101
  readonly items: {
11972
- readonly type: "ref";
11973
- readonly ref: "lex:chat.bsky.group.defs#joinLinkPreviewView";
12102
+ readonly type: "union";
12103
+ readonly refs: ["lex:chat.bsky.group.defs#joinLinkPreviewView", "lex:chat.bsky.group.defs#disabledJoinLinkPreviewView", "lex:chat.bsky.group.defs#invalidJoinLinkPreviewView"];
11974
12104
  };
11975
12105
  };
11976
12106
  };
@@ -13075,7 +13205,7 @@ export declare const schemaDict: {
13075
13205
  readonly lockReason: {
13076
13206
  readonly description: "Why the group was locked. Only present when updateType is 'locked'.";
13077
13207
  readonly type: "string";
13078
- readonly knownValues: ["owner_action", "owner_left", "owner_deactivated", "owner_deleted", "owner_suspended", "owner_taken_down", "label_applied"];
13208
+ readonly knownValues: ["owner_action", "owner_left", "owner_deactivated", "owner_deleted", "owner_suspended", "owner_taken_down", "label_applied", "convo_taken_down"];
13079
13209
  };
13080
13210
  readonly newName: {
13081
13211
  readonly description: "The new group name. Only present when updateType is 'name_changed'.";
@@ -25904,6 +26034,10 @@ export declare const schemas: ({
25904
26034
  };
25905
26035
  readonly maxLength: 4;
25906
26036
  };
26037
+ readonly embedGallery: {
26038
+ readonly type: "ref";
26039
+ readonly ref: "lex:app.bsky.draft.defs#draftEmbedGallery";
26040
+ };
25907
26041
  readonly embedVideos: {
25908
26042
  readonly type: "array";
25909
26043
  readonly items: {
@@ -25982,6 +26116,25 @@ export declare const schemas: ({
25982
26116
  };
25983
26117
  };
25984
26118
  };
26119
+ readonly draftEmbedGallery: {
26120
+ readonly type: "object";
26121
+ readonly required: ["items"];
26122
+ readonly properties: {
26123
+ readonly items: {
26124
+ readonly type: "ref";
26125
+ readonly ref: "lex:app.bsky.draft.defs#draftEmbedGalleryItems";
26126
+ };
26127
+ };
26128
+ };
26129
+ readonly draftEmbedGalleryItems: {
26130
+ readonly type: "array";
26131
+ readonly items: {
26132
+ readonly type: "union";
26133
+ readonly refs: ["lex:app.bsky.draft.defs#draftEmbedImage"];
26134
+ };
26135
+ readonly maxLength: 20;
26136
+ readonly description: "The schema-level maxLength of 20 is a future-proof ceiling. Clients should currently enforce a soft limit of 10 items in authoring UIs.";
26137
+ };
25985
26138
  readonly draftEmbedImage: {
25986
26139
  readonly type: "object";
25987
26140
  readonly required: ["localRef"];
@@ -26332,6 +26485,84 @@ export declare const schemas: ({
26332
26485
  };
26333
26486
  };
26334
26487
  };
26488
+ } | {
26489
+ readonly lexicon: 1;
26490
+ readonly id: "app.bsky.embed.gallery";
26491
+ readonly description: "An assortment of media embedded in a Bluesky record (eg, a post).";
26492
+ readonly defs: {
26493
+ readonly main: {
26494
+ readonly type: "object";
26495
+ readonly required: ["items"];
26496
+ readonly properties: {
26497
+ readonly items: {
26498
+ readonly type: "array";
26499
+ readonly maxLength: 20;
26500
+ readonly description: "The schema-level maxLength of 20 is a future-proof ceiling. Clients should currently enforce a soft limit of 10 items in authoring UIs.";
26501
+ readonly items: {
26502
+ readonly type: "union";
26503
+ readonly refs: ["lex:app.bsky.embed.gallery#image"];
26504
+ readonly description: "The media items in the gallery. Each item may be of a different type, but all types must be supported by the client.";
26505
+ };
26506
+ };
26507
+ };
26508
+ };
26509
+ readonly image: {
26510
+ readonly type: "object";
26511
+ readonly required: ["image", "alt", "aspectRatio"];
26512
+ readonly properties: {
26513
+ readonly image: {
26514
+ readonly type: "blob";
26515
+ readonly accept: ["image/*"];
26516
+ readonly maxSize: 2000000;
26517
+ };
26518
+ readonly alt: {
26519
+ readonly type: "string";
26520
+ readonly description: "Alt text description of the image, for accessibility.";
26521
+ };
26522
+ readonly aspectRatio: {
26523
+ readonly type: "ref";
26524
+ readonly ref: "lex:app.bsky.embed.defs#aspectRatio";
26525
+ };
26526
+ };
26527
+ };
26528
+ readonly view: {
26529
+ readonly type: "object";
26530
+ readonly required: ["items"];
26531
+ readonly properties: {
26532
+ readonly items: {
26533
+ readonly type: "array";
26534
+ readonly items: {
26535
+ readonly type: "union";
26536
+ readonly refs: ["lex:app.bsky.embed.gallery#viewImage"];
26537
+ };
26538
+ };
26539
+ };
26540
+ };
26541
+ readonly viewImage: {
26542
+ readonly type: "object";
26543
+ readonly required: ["thumbnail", "fullsize", "alt", "aspectRatio"];
26544
+ readonly properties: {
26545
+ readonly thumbnail: {
26546
+ readonly type: "string";
26547
+ readonly format: "uri";
26548
+ readonly description: "Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View.";
26549
+ };
26550
+ readonly fullsize: {
26551
+ readonly type: "string";
26552
+ readonly format: "uri";
26553
+ readonly description: "Fully-qualified URL where a large version of the image can be fetched. May or may not be the exact original blob. For example, CDN location provided by the App View.";
26554
+ };
26555
+ readonly alt: {
26556
+ readonly type: "string";
26557
+ readonly description: "Alt text description of the image, for accessibility.";
26558
+ };
26559
+ readonly aspectRatio: {
26560
+ readonly type: "ref";
26561
+ readonly ref: "lex:app.bsky.embed.defs#aspectRatio";
26562
+ };
26563
+ };
26564
+ };
26565
+ };
26335
26566
  } | {
26336
26567
  readonly lexicon: 1;
26337
26568
  readonly id: "app.bsky.embed.getEmbedExternalView";
@@ -26535,7 +26766,7 @@ export declare const schemas: ({
26535
26766
  readonly type: "array";
26536
26767
  readonly items: {
26537
26768
  readonly type: "union";
26538
- readonly refs: ["lex:app.bsky.embed.images#view", "lex:app.bsky.embed.video#view", "lex:app.bsky.embed.external#view", "lex:app.bsky.embed.record#view", "lex:app.bsky.embed.recordWithMedia#view"];
26769
+ readonly refs: ["lex:app.bsky.embed.images#view", "lex:app.bsky.embed.video#view", "lex:app.bsky.embed.gallery#view", "lex:app.bsky.embed.external#view", "lex:app.bsky.embed.record#view", "lex:app.bsky.embed.recordWithMedia#view"];
26539
26770
  };
26540
26771
  };
26541
26772
  readonly indexedAt: {
@@ -26606,7 +26837,7 @@ export declare const schemas: ({
26606
26837
  };
26607
26838
  readonly media: {
26608
26839
  readonly type: "union";
26609
- readonly refs: ["lex:app.bsky.embed.images", "lex:app.bsky.embed.video", "lex:app.bsky.embed.external"];
26840
+ readonly refs: ["lex:app.bsky.embed.images", "lex:app.bsky.embed.video", "lex:app.bsky.embed.gallery", "lex:app.bsky.embed.external"];
26610
26841
  };
26611
26842
  };
26612
26843
  };
@@ -26620,7 +26851,7 @@ export declare const schemas: ({
26620
26851
  };
26621
26852
  readonly media: {
26622
26853
  readonly type: "union";
26623
- readonly refs: ["lex:app.bsky.embed.images#view", "lex:app.bsky.embed.video#view", "lex:app.bsky.embed.external#view"];
26854
+ readonly refs: ["lex:app.bsky.embed.images#view", "lex:app.bsky.embed.video#view", "lex:app.bsky.embed.gallery#view", "lex:app.bsky.embed.external#view"];
26624
26855
  };
26625
26856
  };
26626
26857
  };
@@ -26738,7 +26969,7 @@ export declare const schemas: ({
26738
26969
  };
26739
26970
  readonly embed: {
26740
26971
  readonly type: "union";
26741
- readonly refs: ["lex:app.bsky.embed.images#view", "lex:app.bsky.embed.video#view", "lex:app.bsky.embed.external#view", "lex:app.bsky.embed.record#view", "lex:app.bsky.embed.recordWithMedia#view"];
26972
+ readonly refs: ["lex:app.bsky.embed.images#view", "lex:app.bsky.embed.video#view", "lex:app.bsky.embed.gallery#view", "lex:app.bsky.embed.external#view", "lex:app.bsky.embed.record#view", "lex:app.bsky.embed.recordWithMedia#view"];
26742
26973
  };
26743
26974
  readonly bookmarkCount: {
26744
26975
  readonly type: "integer";
@@ -28136,7 +28367,7 @@ export declare const schemas: ({
28136
28367
  };
28137
28368
  readonly embed: {
28138
28369
  readonly type: "union";
28139
- readonly refs: ["lex:app.bsky.embed.images", "lex:app.bsky.embed.video", "lex:app.bsky.embed.external", "lex:app.bsky.embed.record", "lex:app.bsky.embed.recordWithMedia"];
28370
+ readonly refs: ["lex:app.bsky.embed.images", "lex:app.bsky.embed.video", "lex:app.bsky.embed.gallery", "lex:app.bsky.embed.external", "lex:app.bsky.embed.record", "lex:app.bsky.embed.recordWithMedia"];
28140
28371
  };
28141
28372
  readonly langs: {
28142
28373
  readonly type: "array";
@@ -33437,7 +33668,7 @@ export declare const schemas: ({
33437
33668
  readonly groupConvo: {
33438
33669
  readonly description: "[NOTE: This is under active development and should be considered unstable while this note is here].";
33439
33670
  readonly type: "object";
33440
- readonly required: ["createdAt", "lockStatus", "memberCount", "memberLimit", "name"];
33671
+ readonly required: ["createdAt", "lockStatus", "lockStatusModerationOverride", "memberCount", "memberLimit", "name"];
33441
33672
  readonly properties: {
33442
33673
  readonly createdAt: {
33443
33674
  readonly type: "string";
@@ -33456,6 +33687,10 @@ export declare const schemas: ({
33456
33687
  readonly type: "ref";
33457
33688
  readonly ref: "lex:chat.bsky.convo.defs#convoLockStatus";
33458
33689
  };
33690
+ readonly lockStatusModerationOverride: {
33691
+ readonly description: "Whether the lock status is being forced by a moderation override (account inactivation or convo takedown) rather than the owner's own setting.";
33692
+ readonly type: "boolean";
33693
+ };
33459
33694
  readonly memberCount: {
33460
33695
  readonly type: "integer";
33461
33696
  readonly description: "The total number of members in the group conversation.";
@@ -34749,6 +34984,8 @@ export declare const schemas: ({
34749
34984
  readonly name: "InvalidConvo";
34750
34985
  }, {
34751
34986
  readonly name: "InsufficientRole";
34987
+ }, {
34988
+ readonly name: "ConvoLockedByModeration";
34752
34989
  }];
34753
34990
  readonly input: {
34754
34991
  readonly encoding: "application/json";
@@ -34908,8 +35145,8 @@ export declare const schemas: ({
34908
35145
  readonly required: ["joinLinkPreview"];
34909
35146
  readonly properties: {
34910
35147
  readonly joinLinkPreview: {
34911
- readonly type: "ref";
34912
- readonly ref: "lex:chat.bsky.group.defs#joinLinkPreviewView";
35148
+ readonly type: "union";
35149
+ readonly refs: ["lex:chat.bsky.group.defs#joinLinkPreviewView", "lex:chat.bsky.group.defs#disabledJoinLinkPreviewView", "lex:chat.bsky.group.defs#invalidJoinLinkPreviewView"];
34913
35150
  };
34914
35151
  };
34915
35152
  };
@@ -35068,8 +35305,8 @@ export declare const schemas: ({
35068
35305
  readonly name: {
35069
35306
  readonly type: "string";
35070
35307
  readonly minLength: 1;
35071
- readonly maxGraphemes: 128;
35072
- readonly maxLength: 1280;
35308
+ readonly maxGraphemes: 50;
35309
+ readonly maxLength: 500;
35073
35310
  };
35074
35311
  };
35075
35312
  };
@@ -35152,6 +35389,7 @@ export declare const schemas: ({
35152
35389
  readonly knownValues: ["anyone", "followedByOwner"];
35153
35390
  };
35154
35391
  readonly joinLinkView: {
35392
+ readonly description: "Join link view to be used within a group view, so the convo is surrounding, not specified inside this view.";
35155
35393
  readonly type: "object";
35156
35394
  readonly required: ["code", "enabledStatus", "requireApproval", "joinRule", "createdAt"];
35157
35395
  readonly properties: {
@@ -35176,9 +35414,13 @@ export declare const schemas: ({
35176
35414
  };
35177
35415
  };
35178
35416
  readonly joinLinkPreviewView: {
35417
+ readonly description: "Preview that can be shown in feeds, including to unauthenticated viewers.";
35179
35418
  readonly type: "object";
35180
- readonly required: ["code", "name", "owner", "memberCount", "memberLimit", "requireApproval", "joinRule", "enabledStatus"];
35419
+ readonly required: ["convoId", "code", "name", "owner", "memberCount", "memberLimit", "requireApproval", "joinRule"];
35181
35420
  readonly properties: {
35421
+ readonly convoId: {
35422
+ readonly type: "string";
35423
+ };
35182
35424
  readonly code: {
35183
35425
  readonly type: "string";
35184
35426
  };
@@ -35202,10 +35444,6 @@ export declare const schemas: ({
35202
35444
  readonly type: "ref";
35203
35445
  readonly ref: "lex:chat.bsky.group.defs#joinRule";
35204
35446
  };
35205
- readonly enabledStatus: {
35206
- readonly type: "ref";
35207
- readonly ref: "lex:chat.bsky.group.defs#linkEnabledStatus";
35208
- };
35209
35447
  readonly convo: {
35210
35448
  readonly type: "ref";
35211
35449
  readonly ref: "lex:chat.bsky.convo.defs#convoView";
@@ -35217,6 +35455,26 @@ export declare const schemas: ({
35217
35455
  };
35218
35456
  };
35219
35457
  };
35458
+ readonly disabledJoinLinkPreviewView: {
35459
+ readonly description: "Preview for a disabled join link. Carries only the code so clients can correlate with the input and render a disabled state.";
35460
+ readonly type: "object";
35461
+ readonly required: ["code"];
35462
+ readonly properties: {
35463
+ readonly code: {
35464
+ readonly type: "string";
35465
+ };
35466
+ };
35467
+ };
35468
+ readonly invalidJoinLinkPreviewView: {
35469
+ readonly description: "Preview for a join link code that does not map to an existing link. Carries only the code so clients can correlate with the input and render an invalid state.";
35470
+ readonly type: "object";
35471
+ readonly required: ["code"];
35472
+ readonly properties: {
35473
+ readonly code: {
35474
+ readonly type: "string";
35475
+ };
35476
+ };
35477
+ };
35220
35478
  readonly joinLinkViewerState: {
35221
35479
  readonly type: "object";
35222
35480
  readonly properties: {
@@ -35227,6 +35485,7 @@ export declare const schemas: ({
35227
35485
  };
35228
35486
  };
35229
35487
  readonly joinRequestView: {
35488
+ readonly description: "A join request from the perspective of the group owner.";
35230
35489
  readonly type: "object";
35231
35490
  readonly required: ["convoId", "requestedBy", "requestedAt"];
35232
35491
  readonly properties: {
@@ -35246,7 +35505,7 @@ export declare const schemas: ({
35246
35505
  readonly joinRequestConvoView: {
35247
35506
  readonly description: "A join request from the perspective of the requester, including enough group context to render the request in a list (e.g. group name, owner, member count).";
35248
35507
  readonly type: "object";
35249
- readonly required: ["convoId", "name", "owner", "memberCount", "memberLimit", "requestedAt"];
35508
+ readonly required: ["convoId", "name", "owner", "memberCount", "memberLimit", "viewer"];
35250
35509
  readonly properties: {
35251
35510
  readonly convoId: {
35252
35511
  readonly type: "string";
@@ -35264,9 +35523,9 @@ export declare const schemas: ({
35264
35523
  readonly memberLimit: {
35265
35524
  readonly type: "integer";
35266
35525
  };
35267
- readonly requestedAt: {
35268
- readonly type: "string";
35269
- readonly format: "datetime";
35526
+ readonly viewer: {
35527
+ readonly type: "ref";
35528
+ readonly ref: "lex:chat.bsky.group.defs#joinLinkViewerState";
35270
35529
  };
35271
35530
  };
35272
35531
  };
@@ -35456,7 +35715,7 @@ export declare const schemas: ({
35456
35715
  readonly defs: {
35457
35716
  readonly main: {
35458
35717
  readonly type: "query";
35459
- readonly description: "[NOTE: This is under active development and should be considered unstable while this note is here]. Get public information about groups from join links. Invalid or disabled codes are silently omitted from results. Use the 'code' property on the views to correlate with the input codes, not array positions.";
35718
+ readonly description: "[NOTE: This is under active development and should be considered unstable while this note is here]. Get public information about groups from join links. The output array matches the input codes one-to-one by position (and each view also carries its 'code'). Disabled codes return a disabledJoinLinkPreviewView, and codes that do not map to a previewable link return an invalidJoinLinkPreviewView.";
35460
35719
  readonly parameters: {
35461
35720
  readonly type: "params";
35462
35721
  readonly required: ["codes"];
@@ -35480,8 +35739,8 @@ export declare const schemas: ({
35480
35739
  readonly joinLinkPreviews: {
35481
35740
  readonly type: "array";
35482
35741
  readonly items: {
35483
- readonly type: "ref";
35484
- readonly ref: "lex:chat.bsky.group.defs#joinLinkPreviewView";
35742
+ readonly type: "union";
35743
+ readonly refs: ["lex:chat.bsky.group.defs#joinLinkPreviewView", "lex:chat.bsky.group.defs#disabledJoinLinkPreviewView", "lex:chat.bsky.group.defs#invalidJoinLinkPreviewView"];
35485
35744
  };
35486
35745
  };
35487
35746
  };
@@ -36572,7 +36831,7 @@ export declare const schemas: ({
36572
36831
  readonly lockReason: {
36573
36832
  readonly description: "Why the group was locked. Only present when updateType is 'locked'.";
36574
36833
  readonly type: "string";
36575
- readonly knownValues: ["owner_action", "owner_left", "owner_deactivated", "owner_deleted", "owner_suspended", "owner_taken_down", "label_applied"];
36834
+ readonly knownValues: ["owner_action", "owner_left", "owner_deactivated", "owner_deleted", "owner_suspended", "owner_taken_down", "label_applied", "convo_taken_down"];
36576
36835
  };
36577
36836
  readonly newName: {
36578
36837
  readonly description: "The new group name. Only present when updateType is 'name_changed'.";
@@ -47064,6 +47323,7 @@ export declare const ids: {
47064
47323
  readonly AppBskyDraftUpdateDraft: "app.bsky.draft.updateDraft";
47065
47324
  readonly AppBskyEmbedDefs: "app.bsky.embed.defs";
47066
47325
  readonly AppBskyEmbedExternal: "app.bsky.embed.external";
47326
+ readonly AppBskyEmbedGallery: "app.bsky.embed.gallery";
47067
47327
  readonly AppBskyEmbedGetEmbedExternalView: "app.bsky.embed.getEmbedExternalView";
47068
47328
  readonly AppBskyEmbedImages: "app.bsky.embed.images";
47069
47329
  readonly AppBskyEmbedRecord: "app.bsky.embed.record";