@atproto/pds 0.3.13 → 0.3.15

Sign up to get free protection for your applications and to get access to all the features.
@@ -104,6 +104,7 @@ import * as AppBskyGraphGetListBlocks from './types/app/bsky/graph/getListBlocks
104
104
  import * as AppBskyGraphGetListMutes from './types/app/bsky/graph/getListMutes';
105
105
  import * as AppBskyGraphGetLists from './types/app/bsky/graph/getLists';
106
106
  import * as AppBskyGraphGetMutes from './types/app/bsky/graph/getMutes';
107
+ import * as AppBskyGraphGetRelationships from './types/app/bsky/graph/getRelationships';
107
108
  import * as AppBskyGraphGetSuggestedFollowsByActor from './types/app/bsky/graph/getSuggestedFollowsByActor';
108
109
  import * as AppBskyGraphMuteActor from './types/app/bsky/graph/muteActor';
109
110
  import * as AppBskyGraphMuteActorList from './types/app/bsky/graph/muteActorList';
@@ -114,6 +115,7 @@ import * as AppBskyNotificationListNotifications from './types/app/bsky/notifica
114
115
  import * as AppBskyNotificationRegisterPush from './types/app/bsky/notification/registerPush';
115
116
  import * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen';
116
117
  import * as AppBskyUnspeccedGetPopularFeedGenerators from './types/app/bsky/unspecced/getPopularFeedGenerators';
118
+ import * as AppBskyUnspeccedGetTaggedSuggestions from './types/app/bsky/unspecced/getTaggedSuggestions';
117
119
  import * as AppBskyUnspeccedGetTimelineSkeleton from './types/app/bsky/unspecced/getTimelineSkeleton';
118
120
  import * as AppBskyUnspeccedSearchActorsSkeleton from './types/app/bsky/unspecced/searchActorsSkeleton';
119
121
  import * as AppBskyUnspeccedSearchPostsSkeleton from './types/app/bsky/unspecced/searchPostsSkeleton';
@@ -327,6 +329,7 @@ export declare class AppBskyGraphNS {
327
329
  getListMutes<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyGraphGetListMutes.Handler<ExtractAuth<AV>>, AppBskyGraphGetListMutes.HandlerReqCtx<ExtractAuth<AV>>>): void;
328
330
  getLists<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyGraphGetLists.Handler<ExtractAuth<AV>>, AppBskyGraphGetLists.HandlerReqCtx<ExtractAuth<AV>>>): void;
329
331
  getMutes<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyGraphGetMutes.Handler<ExtractAuth<AV>>, AppBskyGraphGetMutes.HandlerReqCtx<ExtractAuth<AV>>>): void;
332
+ getRelationships<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyGraphGetRelationships.Handler<ExtractAuth<AV>>, AppBskyGraphGetRelationships.HandlerReqCtx<ExtractAuth<AV>>>): void;
330
333
  getSuggestedFollowsByActor<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyGraphGetSuggestedFollowsByActor.Handler<ExtractAuth<AV>>, AppBskyGraphGetSuggestedFollowsByActor.HandlerReqCtx<ExtractAuth<AV>>>): void;
331
334
  muteActor<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyGraphMuteActor.Handler<ExtractAuth<AV>>, AppBskyGraphMuteActor.HandlerReqCtx<ExtractAuth<AV>>>): void;
332
335
  muteActorList<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyGraphMuteActorList.Handler<ExtractAuth<AV>>, AppBskyGraphMuteActorList.HandlerReqCtx<ExtractAuth<AV>>>): void;
@@ -349,6 +352,7 @@ export declare class AppBskyUnspeccedNS {
349
352
  _server: Server;
350
353
  constructor(server: Server);
351
354
  getPopularFeedGenerators<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyUnspeccedGetPopularFeedGenerators.Handler<ExtractAuth<AV>>, AppBskyUnspeccedGetPopularFeedGenerators.HandlerReqCtx<ExtractAuth<AV>>>): void;
355
+ getTaggedSuggestions<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyUnspeccedGetTaggedSuggestions.Handler<ExtractAuth<AV>>, AppBskyUnspeccedGetTaggedSuggestions.HandlerReqCtx<ExtractAuth<AV>>>): void;
352
356
  getTimelineSkeleton<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyUnspeccedGetTimelineSkeleton.Handler<ExtractAuth<AV>>, AppBskyUnspeccedGetTimelineSkeleton.HandlerReqCtx<ExtractAuth<AV>>>): void;
353
357
  searchActorsSkeleton<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyUnspeccedSearchActorsSkeleton.Handler<ExtractAuth<AV>>, AppBskyUnspeccedSearchActorsSkeleton.HandlerReqCtx<ExtractAuth<AV>>>): void;
354
358
  searchPostsSkeleton<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyUnspeccedSearchPostsSkeleton.Handler<ExtractAuth<AV>>, AppBskyUnspeccedSearchPostsSkeleton.HandlerReqCtx<ExtractAuth<AV>>>): void;
@@ -4344,6 +4344,22 @@ export declare const schemaDict: {
4344
4344
  };
4345
4345
  };
4346
4346
  };
4347
+ interestsPref: {
4348
+ type: string;
4349
+ required: string[];
4350
+ properties: {
4351
+ tags: {
4352
+ type: string;
4353
+ maxLength: number;
4354
+ items: {
4355
+ type: string;
4356
+ maxLength: number;
4357
+ maxGraphemes: number;
4358
+ };
4359
+ description: string;
4360
+ };
4361
+ };
4362
+ };
4347
4363
  };
4348
4364
  };
4349
4365
  AppBskyActorGetPreferences: {
@@ -6461,6 +6477,42 @@ export declare const schemaDict: {
6461
6477
  };
6462
6478
  };
6463
6479
  };
6480
+ notFoundActor: {
6481
+ type: string;
6482
+ description: string;
6483
+ required: string[];
6484
+ properties: {
6485
+ actor: {
6486
+ type: string;
6487
+ format: string;
6488
+ };
6489
+ notFound: {
6490
+ type: string;
6491
+ const: boolean;
6492
+ };
6493
+ };
6494
+ };
6495
+ relationship: {
6496
+ type: string;
6497
+ description: string;
6498
+ required: string[];
6499
+ properties: {
6500
+ did: {
6501
+ type: string;
6502
+ format: string;
6503
+ };
6504
+ following: {
6505
+ type: string;
6506
+ format: string;
6507
+ description: string;
6508
+ };
6509
+ followedBy: {
6510
+ type: string;
6511
+ format: string;
6512
+ description: string;
6513
+ };
6514
+ };
6515
+ };
6464
6516
  };
6465
6517
  };
6466
6518
  AppBskyGraphFollow: {
@@ -6864,6 +6916,58 @@ export declare const schemaDict: {
6864
6916
  };
6865
6917
  };
6866
6918
  };
6919
+ AppBskyGraphGetRelationships: {
6920
+ lexicon: number;
6921
+ id: string;
6922
+ defs: {
6923
+ main: {
6924
+ type: string;
6925
+ description: string;
6926
+ parameters: {
6927
+ type: string;
6928
+ required: string[];
6929
+ properties: {
6930
+ actor: {
6931
+ type: string;
6932
+ format: string;
6933
+ };
6934
+ others: {
6935
+ type: string;
6936
+ maxLength: number;
6937
+ items: {
6938
+ type: string;
6939
+ format: string;
6940
+ };
6941
+ };
6942
+ };
6943
+ };
6944
+ output: {
6945
+ encoding: string;
6946
+ schema: {
6947
+ type: string;
6948
+ required: string[];
6949
+ properties: {
6950
+ actor: {
6951
+ type: string;
6952
+ format: string;
6953
+ };
6954
+ relationships: {
6955
+ type: string;
6956
+ items: {
6957
+ type: string;
6958
+ refs: string[];
6959
+ };
6960
+ };
6961
+ };
6962
+ };
6963
+ };
6964
+ errors: {
6965
+ name: string;
6966
+ description: string;
6967
+ }[];
6968
+ };
6969
+ };
6970
+ };
6867
6971
  AppBskyGraphGetSuggestedFollowsByActor: {
6868
6972
  lexicon: number;
6869
6973
  id: string;
@@ -7423,6 +7527,53 @@ export declare const schemaDict: {
7423
7527
  };
7424
7528
  };
7425
7529
  };
7530
+ AppBskyUnspeccedGetTaggedSuggestions: {
7531
+ lexicon: number;
7532
+ id: string;
7533
+ defs: {
7534
+ main: {
7535
+ type: string;
7536
+ description: string;
7537
+ parameters: {
7538
+ type: string;
7539
+ properties: {};
7540
+ };
7541
+ output: {
7542
+ encoding: string;
7543
+ schema: {
7544
+ type: string;
7545
+ required: string[];
7546
+ properties: {
7547
+ suggestions: {
7548
+ type: string;
7549
+ items: {
7550
+ type: string;
7551
+ ref: string;
7552
+ };
7553
+ };
7554
+ };
7555
+ };
7556
+ };
7557
+ };
7558
+ suggestion: {
7559
+ type: string;
7560
+ required: string[];
7561
+ properties: {
7562
+ tag: {
7563
+ type: string;
7564
+ };
7565
+ subjectType: {
7566
+ type: string;
7567
+ knownValues: string[];
7568
+ };
7569
+ subject: {
7570
+ type: string;
7571
+ format: string;
7572
+ };
7573
+ };
7574
+ };
7575
+ };
7576
+ };
7426
7577
  AppBskyUnspeccedGetTimelineSkeleton: {
7427
7578
  lexicon: number;
7428
7579
  id: string;
@@ -7714,6 +7865,7 @@ export declare const ids: {
7714
7865
  AppBskyGraphGetListMutes: string;
7715
7866
  AppBskyGraphGetLists: string;
7716
7867
  AppBskyGraphGetMutes: string;
7868
+ AppBskyGraphGetRelationships: string;
7717
7869
  AppBskyGraphGetSuggestedFollowsByActor: string;
7718
7870
  AppBskyGraphList: string;
7719
7871
  AppBskyGraphListblock: string;
@@ -7729,6 +7881,7 @@ export declare const ids: {
7729
7881
  AppBskyRichtextFacet: string;
7730
7882
  AppBskyUnspeccedDefs: string;
7731
7883
  AppBskyUnspeccedGetPopularFeedGenerators: string;
7884
+ AppBskyUnspeccedGetTaggedSuggestions: string;
7732
7885
  AppBskyUnspeccedGetTimelineSkeleton: string;
7733
7886
  AppBskyUnspeccedSearchActorsSkeleton: string;
7734
7887
  AppBskyUnspeccedSearchPostsSkeleton: string;
@@ -54,7 +54,7 @@ export interface ViewerState {
54
54
  }
55
55
  export declare function isViewerState(v: unknown): v is ViewerState;
56
56
  export declare function validateViewerState(v: unknown): ValidationResult;
57
- export type Preferences = (AdultContentPref | ContentLabelPref | SavedFeedsPref | PersonalDetailsPref | FeedViewPref | ThreadViewPref | {
57
+ export type Preferences = (AdultContentPref | ContentLabelPref | SavedFeedsPref | PersonalDetailsPref | FeedViewPref | ThreadViewPref | InterestsPref | {
58
58
  $type: string;
59
59
  [k: string]: unknown;
60
60
  })[];
@@ -102,3 +102,9 @@ export interface ThreadViewPref {
102
102
  }
103
103
  export declare function isThreadViewPref(v: unknown): v is ThreadViewPref;
104
104
  export declare function validateThreadViewPref(v: unknown): ValidationResult;
105
+ export interface InterestsPref {
106
+ tags: string[];
107
+ [k: string]: unknown;
108
+ }
109
+ export declare function isInterestsPref(v: unknown): v is InterestsPref;
110
+ export declare function validateInterestsPref(v: unknown): ValidationResult;
@@ -45,3 +45,18 @@ export interface ListViewerState {
45
45
  }
46
46
  export declare function isListViewerState(v: unknown): v is ListViewerState;
47
47
  export declare function validateListViewerState(v: unknown): ValidationResult;
48
+ export interface NotFoundActor {
49
+ actor: string;
50
+ notFound: true;
51
+ [k: string]: unknown;
52
+ }
53
+ export declare function isNotFoundActor(v: unknown): v is NotFoundActor;
54
+ export declare function validateNotFoundActor(v: unknown): ValidationResult;
55
+ export interface Relationship {
56
+ did: string;
57
+ following?: string;
58
+ followedBy?: string;
59
+ [k: string]: unknown;
60
+ }
61
+ export declare function isRelationship(v: unknown): v is Relationship;
62
+ export declare function validateRelationship(v: unknown): ValidationResult;
@@ -0,0 +1,38 @@
1
+ import express from 'express';
2
+ import { HandlerAuth } from '@atproto/xrpc-server';
3
+ import * as AppBskyGraphDefs from './defs';
4
+ export interface QueryParams {
5
+ actor: string;
6
+ others?: string[];
7
+ }
8
+ export type InputSchema = undefined;
9
+ export interface OutputSchema {
10
+ actor?: string;
11
+ relationships: (AppBskyGraphDefs.Relationship | AppBskyGraphDefs.NotFoundActor | {
12
+ $type: string;
13
+ [k: string]: unknown;
14
+ })[];
15
+ [k: string]: unknown;
16
+ }
17
+ export type HandlerInput = undefined;
18
+ export interface HandlerSuccess {
19
+ encoding: 'application/json';
20
+ body: OutputSchema;
21
+ headers?: {
22
+ [key: string]: string;
23
+ };
24
+ }
25
+ export interface HandlerError {
26
+ status: number;
27
+ message?: string;
28
+ error?: 'ActorNotFound';
29
+ }
30
+ export type HandlerOutput = HandlerError | HandlerSuccess;
31
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
32
+ auth: HA;
33
+ params: QueryParams;
34
+ input: HandlerInput;
35
+ req: express.Request;
36
+ res: express.Response;
37
+ };
38
+ export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
@@ -0,0 +1,39 @@
1
+ import express from 'express';
2
+ import { ValidationResult } from '@atproto/lexicon';
3
+ import { HandlerAuth } from '@atproto/xrpc-server';
4
+ export interface QueryParams {
5
+ }
6
+ export type InputSchema = undefined;
7
+ export interface OutputSchema {
8
+ suggestions: Suggestion[];
9
+ [k: string]: unknown;
10
+ }
11
+ export type HandlerInput = undefined;
12
+ export interface HandlerSuccess {
13
+ encoding: 'application/json';
14
+ body: OutputSchema;
15
+ headers?: {
16
+ [key: string]: string;
17
+ };
18
+ }
19
+ export interface HandlerError {
20
+ status: number;
21
+ message?: string;
22
+ }
23
+ export type HandlerOutput = HandlerError | HandlerSuccess;
24
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
25
+ auth: HA;
26
+ params: QueryParams;
27
+ input: HandlerInput;
28
+ req: express.Request;
29
+ res: express.Response;
30
+ };
31
+ export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
32
+ export interface Suggestion {
33
+ tag: string;
34
+ subjectType: 'actor' | 'feed' | (string & {});
35
+ subject: string;
36
+ [k: string]: unknown;
37
+ }
38
+ export declare function isSuggestion(v: unknown): v is Suggestion;
39
+ export declare function validateSuggestion(v: unknown): ValidationResult;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/pds",
3
- "version": "0.3.13",
3
+ "version": "0.3.15",
4
4
  "license": "MIT",
5
5
  "description": "Reference implementation of atproto Personal Data Server (PDS)",
6
6
  "keywords": [
@@ -44,7 +44,7 @@
44
44
  "typed-emitter": "^2.1.0",
45
45
  "uint8arrays": "3.0.0",
46
46
  "zod": "^3.21.4",
47
- "@atproto/api": "^0.9.2",
47
+ "@atproto/api": "^0.9.4",
48
48
  "@atproto/aws": "^0.1.6",
49
49
  "@atproto/common": "^0.3.3",
50
50
  "@atproto/crypto": "^0.3.0",
@@ -68,9 +68,9 @@
68
68
  "axios": "^0.27.2",
69
69
  "get-port": "^6.1.2",
70
70
  "ws": "^8.12.0",
71
- "@atproto/api": "^0.9.2",
72
- "@atproto/bsky": "^0.0.25",
73
- "@atproto/dev-env": "^0.2.25",
71
+ "@atproto/api": "^0.9.4",
72
+ "@atproto/bsky": "^0.0.27",
73
+ "@atproto/dev-env": "^0.2.27",
74
74
  "@atproto/lex-cli": "^0.3.0"
75
75
  },
76
76
  "scripts": {
@@ -0,0 +1,21 @@
1
+ import { Server } from '../../../../lexicon'
2
+ import AppContext from '../../../../context'
3
+
4
+ // THIS IS A TEMPORARY UNSPECCED ROUTE
5
+ export default function (server: Server, ctx: AppContext) {
6
+ server.app.bsky.unspecced.getTaggedSuggestions({
7
+ auth: ctx.authVerifier.access,
8
+ handler: async ({ auth, params }) => {
9
+ const requester = auth.credentials.did
10
+ const res =
11
+ await ctx.appViewAgent.api.app.bsky.unspecced.getTaggedSuggestions(
12
+ params,
13
+ await ctx.appviewAuthHeaders(requester),
14
+ )
15
+ return {
16
+ encoding: 'application/json',
17
+ body: res.data,
18
+ }
19
+ },
20
+ })
21
+ }
@@ -1,8 +1,10 @@
1
1
  import { Server } from '../../../../lexicon'
2
2
  import AppContext from '../../../../context'
3
3
  import getPopularFeedGenerators from './getPopularFeedGenerators'
4
+ import getTaggedSuggestions from './getTaggedSuggestions'
4
5
 
5
6
  // THIS IS A TEMPORARY UNSPECCED ROUTE
6
7
  export default function (server: Server, ctx: AppContext) {
7
8
  getPopularFeedGenerators(server, ctx)
9
+ getTaggedSuggestions(server, ctx)
8
10
  }
@@ -114,6 +114,7 @@ import * as AppBskyGraphGetListBlocks from './types/app/bsky/graph/getListBlocks
114
114
  import * as AppBskyGraphGetListMutes from './types/app/bsky/graph/getListMutes'
115
115
  import * as AppBskyGraphGetLists from './types/app/bsky/graph/getLists'
116
116
  import * as AppBskyGraphGetMutes from './types/app/bsky/graph/getMutes'
117
+ import * as AppBskyGraphGetRelationships from './types/app/bsky/graph/getRelationships'
117
118
  import * as AppBskyGraphGetSuggestedFollowsByActor from './types/app/bsky/graph/getSuggestedFollowsByActor'
118
119
  import * as AppBskyGraphMuteActor from './types/app/bsky/graph/muteActor'
119
120
  import * as AppBskyGraphMuteActorList from './types/app/bsky/graph/muteActorList'
@@ -124,6 +125,7 @@ import * as AppBskyNotificationListNotifications from './types/app/bsky/notifica
124
125
  import * as AppBskyNotificationRegisterPush from './types/app/bsky/notification/registerPush'
125
126
  import * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen'
126
127
  import * as AppBskyUnspeccedGetPopularFeedGenerators from './types/app/bsky/unspecced/getPopularFeedGenerators'
128
+ import * as AppBskyUnspeccedGetTaggedSuggestions from './types/app/bsky/unspecced/getTaggedSuggestions'
127
129
  import * as AppBskyUnspeccedGetTimelineSkeleton from './types/app/bsky/unspecced/getTimelineSkeleton'
128
130
  import * as AppBskyUnspeccedSearchActorsSkeleton from './types/app/bsky/unspecced/searchActorsSkeleton'
129
131
  import * as AppBskyUnspeccedSearchPostsSkeleton from './types/app/bsky/unspecced/searchPostsSkeleton'
@@ -1479,6 +1481,17 @@ export class AppBskyGraphNS {
1479
1481
  return this._server.xrpc.method(nsid, cfg)
1480
1482
  }
1481
1483
 
1484
+ getRelationships<AV extends AuthVerifier>(
1485
+ cfg: ConfigOf<
1486
+ AV,
1487
+ AppBskyGraphGetRelationships.Handler<ExtractAuth<AV>>,
1488
+ AppBskyGraphGetRelationships.HandlerReqCtx<ExtractAuth<AV>>
1489
+ >,
1490
+ ) {
1491
+ const nsid = 'app.bsky.graph.getRelationships' // @ts-ignore
1492
+ return this._server.xrpc.method(nsid, cfg)
1493
+ }
1494
+
1482
1495
  getSuggestedFollowsByActor<AV extends AuthVerifier>(
1483
1496
  cfg: ConfigOf<
1484
1497
  AV,
@@ -1613,6 +1626,17 @@ export class AppBskyUnspeccedNS {
1613
1626
  return this._server.xrpc.method(nsid, cfg)
1614
1627
  }
1615
1628
 
1629
+ getTaggedSuggestions<AV extends AuthVerifier>(
1630
+ cfg: ConfigOf<
1631
+ AV,
1632
+ AppBskyUnspeccedGetTaggedSuggestions.Handler<ExtractAuth<AV>>,
1633
+ AppBskyUnspeccedGetTaggedSuggestions.HandlerReqCtx<ExtractAuth<AV>>
1634
+ >,
1635
+ ) {
1636
+ const nsid = 'app.bsky.unspecced.getTaggedSuggestions' // @ts-ignore
1637
+ return this._server.xrpc.method(nsid, cfg)
1638
+ }
1639
+
1616
1640
  getTimelineSkeleton<AV extends AuthVerifier>(
1617
1641
  cfg: ConfigOf<
1618
1642
  AV,
@@ -4615,6 +4615,7 @@ export const schemaDict = {
4615
4615
  'lex:app.bsky.actor.defs#personalDetailsPref',
4616
4616
  'lex:app.bsky.actor.defs#feedViewPref',
4617
4617
  'lex:app.bsky.actor.defs#threadViewPref',
4618
+ 'lex:app.bsky.actor.defs#interestsPref',
4618
4619
  ],
4619
4620
  },
4620
4621
  },
@@ -4718,6 +4719,23 @@ export const schemaDict = {
4718
4719
  },
4719
4720
  },
4720
4721
  },
4722
+ interestsPref: {
4723
+ type: 'object',
4724
+ required: ['tags'],
4725
+ properties: {
4726
+ tags: {
4727
+ type: 'array',
4728
+ maxLength: 100,
4729
+ items: {
4730
+ type: 'string',
4731
+ maxLength: 640,
4732
+ maxGraphemes: 64,
4733
+ },
4734
+ description:
4735
+ "A list of tags which describe the account owner's interests gathered during onboarding.",
4736
+ },
4737
+ },
4738
+ },
4721
4739
  },
4722
4740
  },
4723
4741
  AppBskyActorGetPreferences: {
@@ -6925,6 +6943,45 @@ export const schemaDict = {
6925
6943
  },
6926
6944
  },
6927
6945
  },
6946
+ notFoundActor: {
6947
+ type: 'object',
6948
+ description: 'indicates that a handle or DID could not be resolved',
6949
+ required: ['actor', 'notFound'],
6950
+ properties: {
6951
+ actor: {
6952
+ type: 'string',
6953
+ format: 'at-identifier',
6954
+ },
6955
+ notFound: {
6956
+ type: 'boolean',
6957
+ const: true,
6958
+ },
6959
+ },
6960
+ },
6961
+ relationship: {
6962
+ type: 'object',
6963
+ description:
6964
+ 'lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object)',
6965
+ required: ['did'],
6966
+ properties: {
6967
+ did: {
6968
+ type: 'string',
6969
+ format: 'did',
6970
+ },
6971
+ following: {
6972
+ type: 'string',
6973
+ format: 'at-uri',
6974
+ description:
6975
+ 'if the actor follows this DID, this is the AT-URI of the follow record',
6976
+ },
6977
+ followedBy: {
6978
+ type: 'string',
6979
+ format: 'at-uri',
6980
+ description:
6981
+ 'if the actor is followed by this DID, contains the AT-URI of the follow record',
6982
+ },
6983
+ },
6984
+ },
6928
6985
  },
6929
6986
  },
6930
6987
  AppBskyGraphFollow: {
@@ -7328,6 +7385,65 @@ export const schemaDict = {
7328
7385
  },
7329
7386
  },
7330
7387
  },
7388
+ AppBskyGraphGetRelationships: {
7389
+ lexicon: 1,
7390
+ id: 'app.bsky.graph.getRelationships',
7391
+ defs: {
7392
+ main: {
7393
+ type: 'query',
7394
+ description:
7395
+ 'Enumerates public relationships between one account, and a list of other accounts',
7396
+ parameters: {
7397
+ type: 'params',
7398
+ required: ['actor'],
7399
+ properties: {
7400
+ actor: {
7401
+ type: 'string',
7402
+ format: 'at-identifier',
7403
+ },
7404
+ others: {
7405
+ type: 'array',
7406
+ maxLength: 30,
7407
+ items: {
7408
+ type: 'string',
7409
+ format: 'at-identifier',
7410
+ },
7411
+ },
7412
+ },
7413
+ },
7414
+ output: {
7415
+ encoding: 'application/json',
7416
+ schema: {
7417
+ type: 'object',
7418
+ required: ['relationships'],
7419
+ properties: {
7420
+ actor: {
7421
+ type: 'string',
7422
+ format: 'did',
7423
+ },
7424
+ relationships: {
7425
+ type: 'array',
7426
+ items: {
7427
+ type: 'union',
7428
+ refs: [
7429
+ 'lex:app.bsky.graph.defs#relationship',
7430
+ 'lex:app.bsky.graph.defs#notFoundActor',
7431
+ ],
7432
+ },
7433
+ },
7434
+ },
7435
+ },
7436
+ },
7437
+ errors: [
7438
+ {
7439
+ name: 'ActorNotFound',
7440
+ description:
7441
+ 'the primary actor at-identifier could not be resolved',
7442
+ },
7443
+ ],
7444
+ },
7445
+ },
7446
+ },
7331
7447
  AppBskyGraphGetSuggestedFollowsByActor: {
7332
7448
  lexicon: 1,
7333
7449
  id: 'app.bsky.graph.getSuggestedFollowsByActor',
@@ -7908,6 +8024,54 @@ export const schemaDict = {
7908
8024
  },
7909
8025
  },
7910
8026
  },
8027
+ AppBskyUnspeccedGetTaggedSuggestions: {
8028
+ lexicon: 1,
8029
+ id: 'app.bsky.unspecced.getTaggedSuggestions',
8030
+ defs: {
8031
+ main: {
8032
+ type: 'query',
8033
+ description:
8034
+ 'Get a list of suggestions (feeds and users) tagged with categories',
8035
+ parameters: {
8036
+ type: 'params',
8037
+ properties: {},
8038
+ },
8039
+ output: {
8040
+ encoding: 'application/json',
8041
+ schema: {
8042
+ type: 'object',
8043
+ required: ['suggestions'],
8044
+ properties: {
8045
+ suggestions: {
8046
+ type: 'array',
8047
+ items: {
8048
+ type: 'ref',
8049
+ ref: 'lex:app.bsky.unspecced.getTaggedSuggestions#suggestion',
8050
+ },
8051
+ },
8052
+ },
8053
+ },
8054
+ },
8055
+ },
8056
+ suggestion: {
8057
+ type: 'object',
8058
+ required: ['tag', 'subjectType', 'subject'],
8059
+ properties: {
8060
+ tag: {
8061
+ type: 'string',
8062
+ },
8063
+ subjectType: {
8064
+ type: 'string',
8065
+ knownValues: ['actor', 'feed'],
8066
+ },
8067
+ subject: {
8068
+ type: 'string',
8069
+ format: 'uri',
8070
+ },
8071
+ },
8072
+ },
8073
+ },
8074
+ },
7911
8075
  AppBskyUnspeccedGetTimelineSkeleton: {
7912
8076
  lexicon: 1,
7913
8077
  id: 'app.bsky.unspecced.getTimelineSkeleton',
@@ -8224,6 +8388,7 @@ export const ids = {
8224
8388
  AppBskyGraphGetListMutes: 'app.bsky.graph.getListMutes',
8225
8389
  AppBskyGraphGetLists: 'app.bsky.graph.getLists',
8226
8390
  AppBskyGraphGetMutes: 'app.bsky.graph.getMutes',
8391
+ AppBskyGraphGetRelationships: 'app.bsky.graph.getRelationships',
8227
8392
  AppBskyGraphGetSuggestedFollowsByActor:
8228
8393
  'app.bsky.graph.getSuggestedFollowsByActor',
8229
8394
  AppBskyGraphList: 'app.bsky.graph.list',
@@ -8242,6 +8407,8 @@ export const ids = {
8242
8407
  AppBskyUnspeccedDefs: 'app.bsky.unspecced.defs',
8243
8408
  AppBskyUnspeccedGetPopularFeedGenerators:
8244
8409
  'app.bsky.unspecced.getPopularFeedGenerators',
8410
+ AppBskyUnspeccedGetTaggedSuggestions:
8411
+ 'app.bsky.unspecced.getTaggedSuggestions',
8245
8412
  AppBskyUnspeccedGetTimelineSkeleton: 'app.bsky.unspecced.getTimelineSkeleton',
8246
8413
  AppBskyUnspeccedSearchActorsSkeleton:
8247
8414
  'app.bsky.unspecced.searchActorsSkeleton',