@atproto/pds 0.3.13 → 0.3.15

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.
@@ -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',