@atproto/bsky 0.0.133 → 0.0.135
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 +26 -0
- package/dist/api/app/bsky/unspecced/getSuggestedStarterPacks.d.ts +4 -0
- package/dist/api/app/bsky/unspecced/getSuggestedStarterPacks.d.ts.map +1 -0
- package/dist/api/app/bsky/unspecced/getSuggestedStarterPacks.js +101 -0
- package/dist/api/app/bsky/unspecced/getSuggestedStarterPacks.js.map +1 -0
- package/dist/api/app/bsky/unspecced/getTrends.d.ts +4 -0
- package/dist/api/app/bsky/unspecced/getTrends.d.ts.map +1 -0
- package/dist/api/app/bsky/unspecced/getTrends.js +96 -0
- package/dist/api/app/bsky/unspecced/getTrends.js.map +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +4 -0
- package/dist/api/index.js.map +1 -1
- package/dist/lexicon/index.d.ts +10 -0
- package/dist/lexicon/index.d.ts.map +1 -1
- package/dist/lexicon/index.js +20 -0
- package/dist/lexicon/index.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +516 -0
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +277 -0
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/defs.d.ts +27 -0
- package/dist/lexicon/types/app/bsky/unspecced/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/defs.js +18 -0
- package/dist/lexicon/types/app/bsky/unspecced/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.d.ts +36 -0
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.js +7 -0
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.js.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.d.ts +37 -0
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.js +7 -0
- package/dist/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.js.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrends.d.ts +36 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrends.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrends.js +7 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrends.js.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.d.ts +38 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.js +7 -0
- package/dist/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.js.map +1 -0
- package/dist/lexicon/types/com/atproto/admin/updateAccountSigningKey.d.ts +31 -0
- package/dist/lexicon/types/com/atproto/admin/updateAccountSigningKey.d.ts.map +1 -0
- package/dist/lexicon/types/com/atproto/admin/updateAccountSigningKey.js +7 -0
- package/dist/lexicon/types/com/atproto/admin/updateAccountSigningKey.js.map +1 -0
- package/package.json +9 -9
- package/src/api/app/bsky/unspecced/getSuggestedStarterPacks.ts +147 -0
- package/src/api/app/bsky/unspecced/getTrends.ts +144 -0
- package/src/api/index.ts +4 -0
- package/src/lexicon/index.ts +62 -0
- package/src/lexicon/lexicons.ts +285 -0
- package/src/lexicon/types/app/bsky/unspecced/defs.ts +45 -0
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.ts +54 -0
- package/src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts +55 -0
- package/src/lexicon/types/app/bsky/unspecced/getTrends.ts +54 -0
- package/src/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.ts +56 -0
- package/src/lexicon/types/com/atproto/admin/updateAccountSigningKey.ts +48 -0
- package/tests/seed/get-suggested-starter-packs.ts +63 -0
- package/tests/seed/get-trends.ts +70 -0
- package/tests/views/get-suggested-starter-packs.test.ts +128 -0
- package/tests/views/get-trends.test.ts +133 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/tsconfig.tests.tsbuildinfo +1 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* GENERATED CODE - DO NOT MODIFY
|
|
3
3
|
*/
|
|
4
4
|
import { type ValidationResult } from '@atproto/lexicon';
|
|
5
|
+
import type * as AppBskyActorDefs from '../actor/defs.js';
|
|
5
6
|
export interface SkeletonSearchPost {
|
|
6
7
|
$type?: 'app.bsky.unspecced.defs#skeletonSearchPost';
|
|
7
8
|
uri: string;
|
|
@@ -29,4 +30,30 @@ export interface TrendingTopic {
|
|
|
29
30
|
}
|
|
30
31
|
export declare function isTrendingTopic<V>(v: V): v is import("../../../../util").$TypedObject<V, "app.bsky.unspecced.defs", "trendingTopic">;
|
|
31
32
|
export declare function validateTrendingTopic<V>(v: V): ValidationResult<TrendingTopic & V>;
|
|
33
|
+
export interface SkeletonTrend {
|
|
34
|
+
$type?: 'app.bsky.unspecced.defs#skeletonTrend';
|
|
35
|
+
topic: string;
|
|
36
|
+
displayName: string;
|
|
37
|
+
link: string;
|
|
38
|
+
startedAt: string;
|
|
39
|
+
postCount: number;
|
|
40
|
+
status?: 'hot' | (string & {});
|
|
41
|
+
category?: string;
|
|
42
|
+
dids: string[];
|
|
43
|
+
}
|
|
44
|
+
export declare function isSkeletonTrend<V>(v: V): v is import("../../../../util").$TypedObject<V, "app.bsky.unspecced.defs", "skeletonTrend">;
|
|
45
|
+
export declare function validateSkeletonTrend<V>(v: V): ValidationResult<SkeletonTrend & V>;
|
|
46
|
+
export interface TrendView {
|
|
47
|
+
$type?: 'app.bsky.unspecced.defs#trendView';
|
|
48
|
+
topic: string;
|
|
49
|
+
displayName: string;
|
|
50
|
+
link: string;
|
|
51
|
+
startedAt: string;
|
|
52
|
+
postCount: number;
|
|
53
|
+
status?: 'hot' | (string & {});
|
|
54
|
+
category?: string;
|
|
55
|
+
actors: AppBskyActorDefs.ProfileViewBasic[];
|
|
56
|
+
}
|
|
57
|
+
export declare function isTrendView<V>(v: V): v is import("../../../../util").$TypedObject<V, "app.bsky.unspecced.defs", "trendView">;
|
|
58
|
+
export declare function validateTrendView<V>(v: V): ValidationResult<TrendView & V>;
|
|
32
59
|
//# sourceMappingURL=defs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"defs.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,kBAAkB,CAAA;AAQjE,OAAO,KAAK,KAAK,gBAAgB,MAAM,kBAAkB,CAAA;AAMzD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,4CAA4C,CAAA;IACpD,GAAG,EAAE,MAAM,CAAA;CACZ;AAID,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,oGAE3C;AAED,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,4CAEjD;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,6CAA6C,CAAA;IACrD,GAAG,EAAE,MAAM,CAAA;CACZ;AAID,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,qGAE5C;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,6CAElD;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,mDAAmD,CAAA;IAC3D,GAAG,EAAE,MAAM,CAAA;CACZ;AAID,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,2GAElD;AAED,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,mDAMxD;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,uCAAuC,CAAA;IAC/C,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb;AAID,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,+FAEtC;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,uCAE5C;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,uCAAuC,CAAA;IAC/C,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAID,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,+FAEtC;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,uCAE5C;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,mCAAmC,CAAA;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,CAAA;CAC5C;AAID,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,2FAElC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,mCAExC"}
|
|
@@ -8,6 +8,10 @@ exports.isSkeletonSearchStarterPack = isSkeletonSearchStarterPack;
|
|
|
8
8
|
exports.validateSkeletonSearchStarterPack = validateSkeletonSearchStarterPack;
|
|
9
9
|
exports.isTrendingTopic = isTrendingTopic;
|
|
10
10
|
exports.validateTrendingTopic = validateTrendingTopic;
|
|
11
|
+
exports.isSkeletonTrend = isSkeletonTrend;
|
|
12
|
+
exports.validateSkeletonTrend = validateSkeletonTrend;
|
|
13
|
+
exports.isTrendView = isTrendView;
|
|
14
|
+
exports.validateTrendView = validateTrendView;
|
|
11
15
|
const lexicons_1 = require("../../../../lexicons");
|
|
12
16
|
const util_1 = require("../../../../util");
|
|
13
17
|
const is$typed = util_1.is$typed, validate = lexicons_1.validate;
|
|
@@ -40,4 +44,18 @@ function isTrendingTopic(v) {
|
|
|
40
44
|
function validateTrendingTopic(v) {
|
|
41
45
|
return validate(v, id, hashTrendingTopic);
|
|
42
46
|
}
|
|
47
|
+
const hashSkeletonTrend = 'skeletonTrend';
|
|
48
|
+
function isSkeletonTrend(v) {
|
|
49
|
+
return is$typed(v, id, hashSkeletonTrend);
|
|
50
|
+
}
|
|
51
|
+
function validateSkeletonTrend(v) {
|
|
52
|
+
return validate(v, id, hashSkeletonTrend);
|
|
53
|
+
}
|
|
54
|
+
const hashTrendView = 'trendView';
|
|
55
|
+
function isTrendView(v) {
|
|
56
|
+
return is$typed(v, id, hashTrendView);
|
|
57
|
+
}
|
|
58
|
+
function validateTrendView(v) {
|
|
59
|
+
return validate(v, id, hashTrendView);
|
|
60
|
+
}
|
|
43
61
|
//# sourceMappingURL=defs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/defs.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"defs.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/defs.ts"],"names":[],"mappings":";;AAwBA,oDAEC;AAED,gEAEC;AASD,sDAEC;AAED,kEAEC;AASD,kEAEC;AAED,8EAMC;AAYD,0CAEC;AAED,sDAEC;AAgBD,0CAEC;AAED,sDAEC;AAgBD,kCAEC;AAED,8CAEC;AAzHD,mDAA4D;AAC5D,2CAIyB;AAGzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,yBAAyB,CAAA;AAOpC,MAAM,sBAAsB,GAAG,oBAAoB,CAAA;AAEnD,SAAgB,oBAAoB,CAAI,CAAI;IAC1C,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAA;AAChD,CAAC;AAED,SAAgB,0BAA0B,CAAI,CAAI;IAChD,OAAO,QAAQ,CAAyB,CAAC,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAA;AACxE,CAAC;AAOD,MAAM,uBAAuB,GAAG,qBAAqB,CAAA;AAErD,SAAgB,qBAAqB,CAAI,CAAI;IAC3C,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,uBAAuB,CAAC,CAAA;AACjD,CAAC;AAED,SAAgB,2BAA2B,CAAI,CAAI;IACjD,OAAO,QAAQ,CAA0B,CAAC,EAAE,EAAE,EAAE,uBAAuB,CAAC,CAAA;AAC1E,CAAC;AAOD,MAAM,6BAA6B,GAAG,2BAA2B,CAAA;AAEjE,SAAgB,2BAA2B,CAAI,CAAI;IACjD,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,6BAA6B,CAAC,CAAA;AACvD,CAAC;AAED,SAAgB,iCAAiC,CAAI,CAAI;IACvD,OAAO,QAAQ,CACb,CAAC,EACD,EAAE,EACF,6BAA6B,CAC9B,CAAA;AACH,CAAC;AAUD,MAAM,iBAAiB,GAAG,eAAe,CAAA;AAEzC,SAAgB,eAAe,CAAI,CAAI;IACrC,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAA;AAC3C,CAAC;AAED,SAAgB,qBAAqB,CAAI,CAAI;IAC3C,OAAO,QAAQ,CAAoB,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAA;AAC9D,CAAC;AAcD,MAAM,iBAAiB,GAAG,eAAe,CAAA;AAEzC,SAAgB,eAAe,CAAI,CAAI;IACrC,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAA;AAC3C,CAAC;AAED,SAAgB,qBAAqB,CAAI,CAAI;IAC3C,OAAO,QAAQ,CAAoB,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAA;AAC9D,CAAC;AAcD,MAAM,aAAa,GAAG,WAAW,CAAA;AAEjC,SAAgB,WAAW,CAAI,CAAI;IACjC,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAA;AACvC,CAAC;AAED,SAAgB,iBAAiB,CAAI,CAAI;IACvC,OAAO,QAAQ,CAAgB,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAA;AACtD,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
import express from 'express';
|
|
5
|
+
import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
|
|
6
|
+
import type * as AppBskyGraphDefs from '../graph/defs.js';
|
|
7
|
+
export interface QueryParams {
|
|
8
|
+
limit: number;
|
|
9
|
+
}
|
|
10
|
+
export type InputSchema = undefined;
|
|
11
|
+
export interface OutputSchema {
|
|
12
|
+
starterPacks: AppBskyGraphDefs.StarterPackView[];
|
|
13
|
+
}
|
|
14
|
+
export type HandlerInput = undefined;
|
|
15
|
+
export interface HandlerSuccess {
|
|
16
|
+
encoding: 'application/json';
|
|
17
|
+
body: OutputSchema;
|
|
18
|
+
headers?: {
|
|
19
|
+
[key: string]: string;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export interface HandlerError {
|
|
23
|
+
status: number;
|
|
24
|
+
message?: string;
|
|
25
|
+
}
|
|
26
|
+
export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
|
|
27
|
+
export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
28
|
+
auth: HA;
|
|
29
|
+
params: QueryParams;
|
|
30
|
+
input: HandlerInput;
|
|
31
|
+
req: express.Request;
|
|
32
|
+
res: express.Response;
|
|
33
|
+
resetRouteRateLimits: () => Promise<void>;
|
|
34
|
+
};
|
|
35
|
+
export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
|
|
36
|
+
//# sourceMappingURL=getSuggestedStarterPacks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSuggestedStarterPacks.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAS7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,KAAK,gBAAgB,MAAM,kBAAkB,CAAA;AAMzD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,gBAAgB,CAAC,eAAe,EAAE,CAAA;CACjD;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;IACrB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lexicons_1 = require("../../../../lexicons");
|
|
4
|
+
const util_1 = require("../../../../util");
|
|
5
|
+
const is$typed = util_1.is$typed, validate = lexicons_1.validate;
|
|
6
|
+
const id = 'app.bsky.unspecced.getSuggestedStarterPacks';
|
|
7
|
+
//# sourceMappingURL=getSuggestedStarterPacks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSuggestedStarterPacks.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacks.ts"],"names":[],"mappings":";;AAMA,mDAA4D;AAC5D,2CAIyB;AAIzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,6CAA6C,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
import express from 'express';
|
|
5
|
+
import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
|
|
6
|
+
export interface QueryParams {
|
|
7
|
+
/** DID of the account making the request (not included for public/unauthenticated queries). */
|
|
8
|
+
viewer?: string;
|
|
9
|
+
limit: number;
|
|
10
|
+
}
|
|
11
|
+
export type InputSchema = undefined;
|
|
12
|
+
export interface OutputSchema {
|
|
13
|
+
starterPacks: string[];
|
|
14
|
+
}
|
|
15
|
+
export type HandlerInput = undefined;
|
|
16
|
+
export interface HandlerSuccess {
|
|
17
|
+
encoding: 'application/json';
|
|
18
|
+
body: OutputSchema;
|
|
19
|
+
headers?: {
|
|
20
|
+
[key: string]: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface HandlerError {
|
|
24
|
+
status: number;
|
|
25
|
+
message?: string;
|
|
26
|
+
}
|
|
27
|
+
export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
|
|
28
|
+
export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
29
|
+
auth: HA;
|
|
30
|
+
params: QueryParams;
|
|
31
|
+
input: HandlerInput;
|
|
32
|
+
req: express.Request;
|
|
33
|
+
res: express.Response;
|
|
34
|
+
resetRouteRateLimits: () => Promise<void>;
|
|
35
|
+
};
|
|
36
|
+
export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
|
|
37
|
+
//# sourceMappingURL=getSuggestedStarterPacksSkeleton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSuggestedStarterPacksSkeleton.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAS7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAMtE,MAAM,WAAW,WAAW;IAC1B,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;IACrB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lexicons_1 = require("../../../../lexicons");
|
|
4
|
+
const util_1 = require("../../../../util");
|
|
5
|
+
const is$typed = util_1.is$typed, validate = lexicons_1.validate;
|
|
6
|
+
const id = 'app.bsky.unspecced.getSuggestedStarterPacksSkeleton';
|
|
7
|
+
//# sourceMappingURL=getSuggestedStarterPacksSkeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSuggestedStarterPacksSkeleton.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts"],"names":[],"mappings":";;AAMA,mDAA4D;AAC5D,2CAIyB;AAGzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,qDAAqD,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
import express from 'express';
|
|
5
|
+
import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
|
|
6
|
+
import type * as AppBskyUnspeccedDefs from './defs.js';
|
|
7
|
+
export interface QueryParams {
|
|
8
|
+
limit: number;
|
|
9
|
+
}
|
|
10
|
+
export type InputSchema = undefined;
|
|
11
|
+
export interface OutputSchema {
|
|
12
|
+
trends: AppBskyUnspeccedDefs.TrendView[];
|
|
13
|
+
}
|
|
14
|
+
export type HandlerInput = undefined;
|
|
15
|
+
export interface HandlerSuccess {
|
|
16
|
+
encoding: 'application/json';
|
|
17
|
+
body: OutputSchema;
|
|
18
|
+
headers?: {
|
|
19
|
+
[key: string]: string;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export interface HandlerError {
|
|
23
|
+
status: number;
|
|
24
|
+
message?: string;
|
|
25
|
+
}
|
|
26
|
+
export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
|
|
27
|
+
export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
28
|
+
auth: HA;
|
|
29
|
+
params: QueryParams;
|
|
30
|
+
input: HandlerInput;
|
|
31
|
+
req: express.Request;
|
|
32
|
+
res: express.Response;
|
|
33
|
+
resetRouteRateLimits: () => Promise<void>;
|
|
34
|
+
};
|
|
35
|
+
export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
|
|
36
|
+
//# sourceMappingURL=getTrends.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTrends.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/getTrends.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAS7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,KAAK,oBAAoB,MAAM,WAAW,CAAA;AAMtD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,oBAAoB,CAAC,SAAS,EAAE,CAAA;CACzC;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;IACrB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lexicons_1 = require("../../../../lexicons");
|
|
4
|
+
const util_1 = require("../../../../util");
|
|
5
|
+
const is$typed = util_1.is$typed, validate = lexicons_1.validate;
|
|
6
|
+
const id = 'app.bsky.unspecced.getTrends';
|
|
7
|
+
//# sourceMappingURL=getTrends.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTrends.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/getTrends.ts"],"names":[],"mappings":";;AAMA,mDAA4D;AAC5D,2CAIyB;AAIzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,8BAA8B,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
import express from 'express';
|
|
5
|
+
import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
|
|
6
|
+
import type * as AppBskyUnspeccedDefs from './defs.js';
|
|
7
|
+
export interface QueryParams {
|
|
8
|
+
/** DID of the account making the request (not included for public/unauthenticated queries). */
|
|
9
|
+
viewer?: string;
|
|
10
|
+
limit: number;
|
|
11
|
+
}
|
|
12
|
+
export type InputSchema = undefined;
|
|
13
|
+
export interface OutputSchema {
|
|
14
|
+
trends: AppBskyUnspeccedDefs.SkeletonTrend[];
|
|
15
|
+
}
|
|
16
|
+
export type HandlerInput = undefined;
|
|
17
|
+
export interface HandlerSuccess {
|
|
18
|
+
encoding: 'application/json';
|
|
19
|
+
body: OutputSchema;
|
|
20
|
+
headers?: {
|
|
21
|
+
[key: string]: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export interface HandlerError {
|
|
25
|
+
status: number;
|
|
26
|
+
message?: string;
|
|
27
|
+
}
|
|
28
|
+
export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
|
|
29
|
+
export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
30
|
+
auth: HA;
|
|
31
|
+
params: QueryParams;
|
|
32
|
+
input: HandlerInput;
|
|
33
|
+
req: express.Request;
|
|
34
|
+
res: express.Response;
|
|
35
|
+
resetRouteRateLimits: () => Promise<void>;
|
|
36
|
+
};
|
|
37
|
+
export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
|
|
38
|
+
//# sourceMappingURL=getTrendsSkeleton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTrendsSkeleton.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAS7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,KAAK,oBAAoB,MAAM,WAAW,CAAA;AAMtD,MAAM,WAAW,WAAW;IAC1B,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,oBAAoB,CAAC,aAAa,EAAE,CAAA;CAC7C;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;IACrB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lexicons_1 = require("../../../../lexicons");
|
|
4
|
+
const util_1 = require("../../../../util");
|
|
5
|
+
const is$typed = util_1.is$typed, validate = lexicons_1.validate;
|
|
6
|
+
const id = 'app.bsky.unspecced.getTrendsSkeleton';
|
|
7
|
+
//# sourceMappingURL=getTrendsSkeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTrendsSkeleton.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/getTrendsSkeleton.ts"],"names":[],"mappings":";;AAMA,mDAA4D;AAC5D,2CAIyB;AAIzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,sCAAsC,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
import express from 'express';
|
|
5
|
+
import { HandlerAuth } from '@atproto/xrpc-server';
|
|
6
|
+
export interface QueryParams {
|
|
7
|
+
}
|
|
8
|
+
export interface InputSchema {
|
|
9
|
+
did: string;
|
|
10
|
+
/** Did-key formatted public key */
|
|
11
|
+
signingKey: string;
|
|
12
|
+
}
|
|
13
|
+
export interface HandlerInput {
|
|
14
|
+
encoding: 'application/json';
|
|
15
|
+
body: InputSchema;
|
|
16
|
+
}
|
|
17
|
+
export interface HandlerError {
|
|
18
|
+
status: number;
|
|
19
|
+
message?: string;
|
|
20
|
+
}
|
|
21
|
+
export type HandlerOutput = HandlerError | void;
|
|
22
|
+
export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
23
|
+
auth: HA;
|
|
24
|
+
params: QueryParams;
|
|
25
|
+
input: HandlerInput;
|
|
26
|
+
req: express.Request;
|
|
27
|
+
res: express.Response;
|
|
28
|
+
resetRouteRateLimits: () => Promise<void>;
|
|
29
|
+
};
|
|
30
|
+
export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
|
|
31
|
+
//# sourceMappingURL=updateAccountSigningKey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateAccountSigningKey.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/com/atproto/admin/updateAccountSigningKey.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAS7B,OAAO,EAAE,WAAW,EAAsB,MAAM,sBAAsB,CAAA;AAMtE,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,IAAI,CAAA;AAC/C,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;IACrB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lexicons_1 = require("../../../../lexicons");
|
|
4
|
+
const util_1 = require("../../../../util");
|
|
5
|
+
const is$typed = util_1.is$typed, validate = lexicons_1.validate;
|
|
6
|
+
const id = 'com.atproto.admin.updateAccountSigningKey';
|
|
7
|
+
//# sourceMappingURL=updateAccountSigningKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateAccountSigningKey.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/com/atproto/admin/updateAccountSigningKey.ts"],"names":[],"mappings":";;AAMA,mDAA4D;AAC5D,2CAIyB;AAGzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,2CAA2C,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atproto/bsky",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.135",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Reference implementation of app.bsky App View (Bluesky API)",
|
|
6
6
|
"keywords": [
|
|
@@ -49,17 +49,17 @@
|
|
|
49
49
|
"uint8arrays": "3.0.0",
|
|
50
50
|
"undici": "^6.19.8",
|
|
51
51
|
"@atproto-labs/fetch-node": "0.1.8",
|
|
52
|
-
"@atproto-labs/xrpc-utils": "0.0.
|
|
53
|
-
"@atproto/api": "^0.14.
|
|
54
|
-
"@atproto/common": "^0.4.
|
|
52
|
+
"@atproto-labs/xrpc-utils": "0.0.10",
|
|
53
|
+
"@atproto/api": "^0.14.18",
|
|
54
|
+
"@atproto/common": "^0.4.9",
|
|
55
55
|
"@atproto/crypto": "^0.4.4",
|
|
56
56
|
"@atproto/did": "^0.1.5",
|
|
57
57
|
"@atproto/identity": "^0.4.6",
|
|
58
58
|
"@atproto/lexicon": "^0.4.9",
|
|
59
|
-
"@atproto/repo": "^0.7.
|
|
60
|
-
"@atproto/sync": "^0.1.
|
|
59
|
+
"@atproto/repo": "^0.7.3",
|
|
60
|
+
"@atproto/sync": "^0.1.19",
|
|
61
61
|
"@atproto/syntax": "^0.4.0",
|
|
62
|
-
"@atproto/xrpc-server": "^0.7.
|
|
62
|
+
"@atproto/xrpc-server": "^0.7.14"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@bufbuild/buf": "^1.28.1",
|
|
@@ -74,9 +74,9 @@
|
|
|
74
74
|
"jest": "^28.1.2",
|
|
75
75
|
"ts-node": "^10.8.2",
|
|
76
76
|
"typescript": "^5.6.3",
|
|
77
|
-
"@atproto/api": "^0.14.
|
|
77
|
+
"@atproto/api": "^0.14.18",
|
|
78
78
|
"@atproto/lex-cli": "^0.7.1",
|
|
79
|
-
"@atproto/pds": "^0.4.
|
|
79
|
+
"@atproto/pds": "^0.4.119",
|
|
80
80
|
"@atproto/xrpc": "^0.6.11"
|
|
81
81
|
},
|
|
82
82
|
"scripts": {
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import AtpAgent, { AtUri } from '@atproto/api'
|
|
2
|
+
import { dedupeStrs, mapDefined, noUndefinedVals } from '@atproto/common'
|
|
3
|
+
import { InternalServerError } from '@atproto/xrpc-server'
|
|
4
|
+
import { AppContext } from '../../../../context'
|
|
5
|
+
import {
|
|
6
|
+
HydrateCtx,
|
|
7
|
+
Hydrator,
|
|
8
|
+
mergeManyStates,
|
|
9
|
+
} from '../../../../hydration/hydrator'
|
|
10
|
+
import { Server } from '../../../../lexicon'
|
|
11
|
+
import { QueryParams } from '../../../../lexicon/types/app/bsky/unspecced/getTrendingTopics'
|
|
12
|
+
import {
|
|
13
|
+
HydrationFnInput,
|
|
14
|
+
PresentationFnInput,
|
|
15
|
+
RulesFnInput,
|
|
16
|
+
SkeletonFnInput,
|
|
17
|
+
createPipeline,
|
|
18
|
+
} from '../../../../pipeline'
|
|
19
|
+
import { Views } from '../../../../views'
|
|
20
|
+
|
|
21
|
+
export default function (server: Server, ctx: AppContext) {
|
|
22
|
+
const getTrends = createPipeline(skeleton, hydration, noBlocks, presentation)
|
|
23
|
+
server.app.bsky.unspecced.getSuggestedStarterPacks({
|
|
24
|
+
auth: ctx.authVerifier.standardOptional,
|
|
25
|
+
handler: async ({ auth, params, req }) => {
|
|
26
|
+
const viewer = auth.credentials.iss
|
|
27
|
+
const labelers = ctx.reqLabelers(req)
|
|
28
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer })
|
|
29
|
+
const headers = noUndefinedVals({
|
|
30
|
+
'accept-language': req.headers['accept-language'],
|
|
31
|
+
'x-bsky-topics': Array.isArray(req.headers['x-bsky-topics'])
|
|
32
|
+
? req.headers['x-bsky-topics'].join(',')
|
|
33
|
+
: req.headers['x-bsky-topics'],
|
|
34
|
+
})
|
|
35
|
+
const { ...result } = await getTrends(
|
|
36
|
+
{
|
|
37
|
+
...params,
|
|
38
|
+
viewer: viewer ?? undefined,
|
|
39
|
+
hydrateCtx: hydrateCtx.copy({ viewer }),
|
|
40
|
+
headers,
|
|
41
|
+
},
|
|
42
|
+
ctx,
|
|
43
|
+
)
|
|
44
|
+
return {
|
|
45
|
+
encoding: 'application/json',
|
|
46
|
+
body: result,
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
})
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const skeleton = async (input: SkeletonFnInput<Context, Params>) => {
|
|
53
|
+
const { params, ctx } = input
|
|
54
|
+
if (ctx.topicsAgent) {
|
|
55
|
+
const res =
|
|
56
|
+
await ctx.topicsAgent.app.bsky.unspecced.getSuggestedStarterPacksSkeleton(
|
|
57
|
+
{
|
|
58
|
+
limit: params.limit,
|
|
59
|
+
viewer: params.viewer,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
headers: params.headers,
|
|
63
|
+
},
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
return res.data
|
|
67
|
+
} else {
|
|
68
|
+
throw new InternalServerError('Topics agent not available')
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const hydration = async (
|
|
73
|
+
input: HydrationFnInput<Context, Params, SkeletonState>,
|
|
74
|
+
) => {
|
|
75
|
+
const { ctx, params, skeleton } = input
|
|
76
|
+
let dids: string[] = []
|
|
77
|
+
for (const uri of skeleton.starterPacks) {
|
|
78
|
+
let aturi: AtUri | undefined
|
|
79
|
+
try {
|
|
80
|
+
aturi = new AtUri(uri)
|
|
81
|
+
} catch {
|
|
82
|
+
continue
|
|
83
|
+
}
|
|
84
|
+
dids.push(aturi.hostname)
|
|
85
|
+
}
|
|
86
|
+
dids = dedupeStrs(dids)
|
|
87
|
+
const pairs: Map<string, string[]> = new Map()
|
|
88
|
+
if (params.viewer) {
|
|
89
|
+
pairs.set(params.viewer, dids)
|
|
90
|
+
}
|
|
91
|
+
const [starterPacksState, bidirectionalBlocks] = await Promise.all([
|
|
92
|
+
ctx.hydrator.hydrateStarterPacks(skeleton.starterPacks, params.hydrateCtx),
|
|
93
|
+
ctx.hydrator.hydrateBidirectionalBlocks(pairs),
|
|
94
|
+
])
|
|
95
|
+
|
|
96
|
+
return mergeManyStates(starterPacksState, { bidirectionalBlocks })
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
const noBlocks = (input: RulesFnInput<Context, Params, SkeletonState>) => {
|
|
100
|
+
const { skeleton, params, hydration } = input
|
|
101
|
+
|
|
102
|
+
if (!params.viewer) {
|
|
103
|
+
return skeleton
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const blocks = hydration.bidirectionalBlocks?.get(params.viewer)
|
|
107
|
+
const filteredSkeleton: SkeletonState = {
|
|
108
|
+
starterPacks: skeleton.starterPacks.filter((uri) => {
|
|
109
|
+
let aturi: AtUri | undefined
|
|
110
|
+
try {
|
|
111
|
+
aturi = new AtUri(uri)
|
|
112
|
+
} catch {
|
|
113
|
+
return false
|
|
114
|
+
}
|
|
115
|
+
return !blocks?.get(aturi.hostname)
|
|
116
|
+
}),
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return filteredSkeleton
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const presentation = (
|
|
123
|
+
input: PresentationFnInput<Context, Params, SkeletonState>,
|
|
124
|
+
) => {
|
|
125
|
+
const { ctx, skeleton, hydration } = input
|
|
126
|
+
|
|
127
|
+
return {
|
|
128
|
+
starterPacks: mapDefined(skeleton.starterPacks, (uri) =>
|
|
129
|
+
ctx.views.starterPack(uri, hydration),
|
|
130
|
+
),
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
type Context = {
|
|
135
|
+
hydrator: Hydrator
|
|
136
|
+
views: Views
|
|
137
|
+
topicsAgent: AtpAgent | undefined
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
type Params = QueryParams & {
|
|
141
|
+
hydrateCtx: HydrateCtx & { viewer: string | null }
|
|
142
|
+
headers: Record<string, string>
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
type SkeletonState = {
|
|
146
|
+
starterPacks: string[]
|
|
147
|
+
}
|