@atproto/pds 0.3.13 → 0.3.14
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.
- package/CHANGELOG.md +7 -0
- package/dist/api/app/bsky/unspecced/getTaggedSuggestions.d.ts +3 -0
- package/dist/index.js +135 -8
- package/dist/index.js.map +3 -3
- package/dist/lexicon/index.d.ts +2 -0
- package/dist/lexicon/lexicons.d.ts +48 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.d.ts +39 -0
- package/package.json +5 -5
- package/src/api/app/bsky/unspecced/getTaggedSuggestions.ts +21 -0
- package/src/api/app/bsky/unspecced/index.ts +2 -0
- package/src/lexicon/index.ts +12 -0
- package/src/lexicon/lexicons.ts +50 -0
- package/src/lexicon/types/app/bsky/unspecced/getTaggedSuggestions.ts +65 -0
package/dist/lexicon/index.d.ts
CHANGED
@@ -114,6 +114,7 @@ import * as AppBskyNotificationListNotifications from './types/app/bsky/notifica
|
|
114
114
|
import * as AppBskyNotificationRegisterPush from './types/app/bsky/notification/registerPush';
|
115
115
|
import * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen';
|
116
116
|
import * as AppBskyUnspeccedGetPopularFeedGenerators from './types/app/bsky/unspecced/getPopularFeedGenerators';
|
117
|
+
import * as AppBskyUnspeccedGetTaggedSuggestions from './types/app/bsky/unspecced/getTaggedSuggestions';
|
117
118
|
import * as AppBskyUnspeccedGetTimelineSkeleton from './types/app/bsky/unspecced/getTimelineSkeleton';
|
118
119
|
import * as AppBskyUnspeccedSearchActorsSkeleton from './types/app/bsky/unspecced/searchActorsSkeleton';
|
119
120
|
import * as AppBskyUnspeccedSearchPostsSkeleton from './types/app/bsky/unspecced/searchPostsSkeleton';
|
@@ -349,6 +350,7 @@ export declare class AppBskyUnspeccedNS {
|
|
349
350
|
_server: Server;
|
350
351
|
constructor(server: Server);
|
351
352
|
getPopularFeedGenerators<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyUnspeccedGetPopularFeedGenerators.Handler<ExtractAuth<AV>>, AppBskyUnspeccedGetPopularFeedGenerators.HandlerReqCtx<ExtractAuth<AV>>>): void;
|
353
|
+
getTaggedSuggestions<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyUnspeccedGetTaggedSuggestions.Handler<ExtractAuth<AV>>, AppBskyUnspeccedGetTaggedSuggestions.HandlerReqCtx<ExtractAuth<AV>>>): void;
|
352
354
|
getTimelineSkeleton<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyUnspeccedGetTimelineSkeleton.Handler<ExtractAuth<AV>>, AppBskyUnspeccedGetTimelineSkeleton.HandlerReqCtx<ExtractAuth<AV>>>): void;
|
353
355
|
searchActorsSkeleton<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyUnspeccedSearchActorsSkeleton.Handler<ExtractAuth<AV>>, AppBskyUnspeccedSearchActorsSkeleton.HandlerReqCtx<ExtractAuth<AV>>>): void;
|
354
356
|
searchPostsSkeleton<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyUnspeccedSearchPostsSkeleton.Handler<ExtractAuth<AV>>, AppBskyUnspeccedSearchPostsSkeleton.HandlerReqCtx<ExtractAuth<AV>>>): void;
|
@@ -7423,6 +7423,53 @@ export declare const schemaDict: {
|
|
7423
7423
|
};
|
7424
7424
|
};
|
7425
7425
|
};
|
7426
|
+
AppBskyUnspeccedGetTaggedSuggestions: {
|
7427
|
+
lexicon: number;
|
7428
|
+
id: string;
|
7429
|
+
defs: {
|
7430
|
+
main: {
|
7431
|
+
type: string;
|
7432
|
+
description: string;
|
7433
|
+
parameters: {
|
7434
|
+
type: string;
|
7435
|
+
properties: {};
|
7436
|
+
};
|
7437
|
+
output: {
|
7438
|
+
encoding: string;
|
7439
|
+
schema: {
|
7440
|
+
type: string;
|
7441
|
+
required: string[];
|
7442
|
+
properties: {
|
7443
|
+
suggestions: {
|
7444
|
+
type: string;
|
7445
|
+
items: {
|
7446
|
+
type: string;
|
7447
|
+
ref: string;
|
7448
|
+
};
|
7449
|
+
};
|
7450
|
+
};
|
7451
|
+
};
|
7452
|
+
};
|
7453
|
+
};
|
7454
|
+
suggestion: {
|
7455
|
+
type: string;
|
7456
|
+
required: string[];
|
7457
|
+
properties: {
|
7458
|
+
tag: {
|
7459
|
+
type: string;
|
7460
|
+
};
|
7461
|
+
subjectType: {
|
7462
|
+
type: string;
|
7463
|
+
knownValues: string[];
|
7464
|
+
};
|
7465
|
+
subject: {
|
7466
|
+
type: string;
|
7467
|
+
format: string;
|
7468
|
+
};
|
7469
|
+
};
|
7470
|
+
};
|
7471
|
+
};
|
7472
|
+
};
|
7426
7473
|
AppBskyUnspeccedGetTimelineSkeleton: {
|
7427
7474
|
lexicon: number;
|
7428
7475
|
id: string;
|
@@ -7729,6 +7776,7 @@ export declare const ids: {
|
|
7729
7776
|
AppBskyRichtextFacet: string;
|
7730
7777
|
AppBskyUnspeccedDefs: string;
|
7731
7778
|
AppBskyUnspeccedGetPopularFeedGenerators: string;
|
7779
|
+
AppBskyUnspeccedGetTaggedSuggestions: string;
|
7732
7780
|
AppBskyUnspeccedGetTimelineSkeleton: string;
|
7733
7781
|
AppBskyUnspeccedSearchActorsSkeleton: string;
|
7734
7782
|
AppBskyUnspeccedSearchPostsSkeleton: string;
|
@@ -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.
|
3
|
+
"version": "0.3.14",
|
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.
|
47
|
+
"@atproto/api": "^0.9.3",
|
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.
|
72
|
-
"@atproto/bsky": "^0.0.
|
73
|
-
"@atproto/dev-env": "^0.2.
|
71
|
+
"@atproto/api": "^0.9.3",
|
72
|
+
"@atproto/bsky": "^0.0.26",
|
73
|
+
"@atproto/dev-env": "^0.2.26",
|
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
|
}
|
package/src/lexicon/index.ts
CHANGED
@@ -124,6 +124,7 @@ import * as AppBskyNotificationListNotifications from './types/app/bsky/notifica
|
|
124
124
|
import * as AppBskyNotificationRegisterPush from './types/app/bsky/notification/registerPush'
|
125
125
|
import * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen'
|
126
126
|
import * as AppBskyUnspeccedGetPopularFeedGenerators from './types/app/bsky/unspecced/getPopularFeedGenerators'
|
127
|
+
import * as AppBskyUnspeccedGetTaggedSuggestions from './types/app/bsky/unspecced/getTaggedSuggestions'
|
127
128
|
import * as AppBskyUnspeccedGetTimelineSkeleton from './types/app/bsky/unspecced/getTimelineSkeleton'
|
128
129
|
import * as AppBskyUnspeccedSearchActorsSkeleton from './types/app/bsky/unspecced/searchActorsSkeleton'
|
129
130
|
import * as AppBskyUnspeccedSearchPostsSkeleton from './types/app/bsky/unspecced/searchPostsSkeleton'
|
@@ -1613,6 +1614,17 @@ export class AppBskyUnspeccedNS {
|
|
1613
1614
|
return this._server.xrpc.method(nsid, cfg)
|
1614
1615
|
}
|
1615
1616
|
|
1617
|
+
getTaggedSuggestions<AV extends AuthVerifier>(
|
1618
|
+
cfg: ConfigOf<
|
1619
|
+
AV,
|
1620
|
+
AppBskyUnspeccedGetTaggedSuggestions.Handler<ExtractAuth<AV>>,
|
1621
|
+
AppBskyUnspeccedGetTaggedSuggestions.HandlerReqCtx<ExtractAuth<AV>>
|
1622
|
+
>,
|
1623
|
+
) {
|
1624
|
+
const nsid = 'app.bsky.unspecced.getTaggedSuggestions' // @ts-ignore
|
1625
|
+
return this._server.xrpc.method(nsid, cfg)
|
1626
|
+
}
|
1627
|
+
|
1616
1628
|
getTimelineSkeleton<AV extends AuthVerifier>(
|
1617
1629
|
cfg: ConfigOf<
|
1618
1630
|
AV,
|
package/src/lexicon/lexicons.ts
CHANGED
@@ -7908,6 +7908,54 @@ export const schemaDict = {
|
|
7908
7908
|
},
|
7909
7909
|
},
|
7910
7910
|
},
|
7911
|
+
AppBskyUnspeccedGetTaggedSuggestions: {
|
7912
|
+
lexicon: 1,
|
7913
|
+
id: 'app.bsky.unspecced.getTaggedSuggestions',
|
7914
|
+
defs: {
|
7915
|
+
main: {
|
7916
|
+
type: 'query',
|
7917
|
+
description:
|
7918
|
+
'Get a list of suggestions (feeds and users) tagged with categories',
|
7919
|
+
parameters: {
|
7920
|
+
type: 'params',
|
7921
|
+
properties: {},
|
7922
|
+
},
|
7923
|
+
output: {
|
7924
|
+
encoding: 'application/json',
|
7925
|
+
schema: {
|
7926
|
+
type: 'object',
|
7927
|
+
required: ['suggestions'],
|
7928
|
+
properties: {
|
7929
|
+
suggestions: {
|
7930
|
+
type: 'array',
|
7931
|
+
items: {
|
7932
|
+
type: 'ref',
|
7933
|
+
ref: 'lex:app.bsky.unspecced.getTaggedSuggestions#suggestion',
|
7934
|
+
},
|
7935
|
+
},
|
7936
|
+
},
|
7937
|
+
},
|
7938
|
+
},
|
7939
|
+
},
|
7940
|
+
suggestion: {
|
7941
|
+
type: 'object',
|
7942
|
+
required: ['tag', 'subjectType', 'subject'],
|
7943
|
+
properties: {
|
7944
|
+
tag: {
|
7945
|
+
type: 'string',
|
7946
|
+
},
|
7947
|
+
subjectType: {
|
7948
|
+
type: 'string',
|
7949
|
+
knownValues: ['actor', 'feed'],
|
7950
|
+
},
|
7951
|
+
subject: {
|
7952
|
+
type: 'string',
|
7953
|
+
format: 'uri',
|
7954
|
+
},
|
7955
|
+
},
|
7956
|
+
},
|
7957
|
+
},
|
7958
|
+
},
|
7911
7959
|
AppBskyUnspeccedGetTimelineSkeleton: {
|
7912
7960
|
lexicon: 1,
|
7913
7961
|
id: 'app.bsky.unspecced.getTimelineSkeleton',
|
@@ -8242,6 +8290,8 @@ export const ids = {
|
|
8242
8290
|
AppBskyUnspeccedDefs: 'app.bsky.unspecced.defs',
|
8243
8291
|
AppBskyUnspeccedGetPopularFeedGenerators:
|
8244
8292
|
'app.bsky.unspecced.getPopularFeedGenerators',
|
8293
|
+
AppBskyUnspeccedGetTaggedSuggestions:
|
8294
|
+
'app.bsky.unspecced.getTaggedSuggestions',
|
8245
8295
|
AppBskyUnspeccedGetTimelineSkeleton: 'app.bsky.unspecced.getTimelineSkeleton',
|
8246
8296
|
AppBskyUnspeccedSearchActorsSkeleton:
|
8247
8297
|
'app.bsky.unspecced.searchActorsSkeleton',
|
@@ -0,0 +1,65 @@
|
|
1
|
+
/**
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
3
|
+
*/
|
4
|
+
import express from 'express'
|
5
|
+
import { ValidationResult, BlobRef } from '@atproto/lexicon'
|
6
|
+
import { lexicons } from '../../../../lexicons'
|
7
|
+
import { isObj, hasProp } from '../../../../util'
|
8
|
+
import { CID } from 'multiformats/cid'
|
9
|
+
import { HandlerAuth } from '@atproto/xrpc-server'
|
10
|
+
|
11
|
+
export interface QueryParams {}
|
12
|
+
|
13
|
+
export type InputSchema = undefined
|
14
|
+
|
15
|
+
export interface OutputSchema {
|
16
|
+
suggestions: Suggestion[]
|
17
|
+
[k: string]: unknown
|
18
|
+
}
|
19
|
+
|
20
|
+
export type HandlerInput = undefined
|
21
|
+
|
22
|
+
export interface HandlerSuccess {
|
23
|
+
encoding: 'application/json'
|
24
|
+
body: OutputSchema
|
25
|
+
headers?: { [key: string]: string }
|
26
|
+
}
|
27
|
+
|
28
|
+
export interface HandlerError {
|
29
|
+
status: number
|
30
|
+
message?: string
|
31
|
+
}
|
32
|
+
|
33
|
+
export type HandlerOutput = HandlerError | HandlerSuccess
|
34
|
+
export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
35
|
+
auth: HA
|
36
|
+
params: QueryParams
|
37
|
+
input: HandlerInput
|
38
|
+
req: express.Request
|
39
|
+
res: express.Response
|
40
|
+
}
|
41
|
+
export type Handler<HA extends HandlerAuth = never> = (
|
42
|
+
ctx: HandlerReqCtx<HA>,
|
43
|
+
) => Promise<HandlerOutput> | HandlerOutput
|
44
|
+
|
45
|
+
export interface Suggestion {
|
46
|
+
tag: string
|
47
|
+
subjectType: 'actor' | 'feed' | (string & {})
|
48
|
+
subject: string
|
49
|
+
[k: string]: unknown
|
50
|
+
}
|
51
|
+
|
52
|
+
export function isSuggestion(v: unknown): v is Suggestion {
|
53
|
+
return (
|
54
|
+
isObj(v) &&
|
55
|
+
hasProp(v, '$type') &&
|
56
|
+
v.$type === 'app.bsky.unspecced.getTaggedSuggestions#suggestion'
|
57
|
+
)
|
58
|
+
}
|
59
|
+
|
60
|
+
export function validateSuggestion(v: unknown): ValidationResult {
|
61
|
+
return lexicons.validate(
|
62
|
+
'app.bsky.unspecced.getTaggedSuggestions#suggestion',
|
63
|
+
v,
|
64
|
+
)
|
65
|
+
}
|