@atproto/bsky 0.0.60 → 0.0.62
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 +14 -0
- package/dist/api/app/bsky/graph/getKnownFollowers.d.ts +4 -0
- package/dist/api/app/bsky/graph/getKnownFollowers.d.ts.map +1 -0
- package/dist/api/app/bsky/graph/getKnownFollowers.js +71 -0
- package/dist/api/app/bsky/graph/getKnownFollowers.js.map +1 -0
- package/dist/api/app/bsky/graph/muteThread.d.ts +4 -0
- package/dist/api/app/bsky/graph/muteThread.d.ts.map +1 -0
- package/dist/api/app/bsky/graph/muteThread.js +19 -0
- package/dist/api/app/bsky/graph/muteThread.js.map +1 -0
- package/dist/api/app/bsky/graph/unmuteThread.d.ts +4 -0
- package/dist/api/app/bsky/graph/unmuteThread.d.ts.map +1 -0
- package/dist/api/app/bsky/graph/unmuteThread.js +19 -0
- package/dist/api/app/bsky/graph/unmuteThread.js.map +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +6 -0
- package/dist/api/index.js.map +1 -1
- package/dist/data-plane/bsync/index.d.ts.map +1 -1
- package/dist/data-plane/bsync/index.js +41 -15
- package/dist/data-plane/bsync/index.js.map +1 -1
- package/dist/data-plane/server/db/database-schema.d.ts +2 -1
- package/dist/data-plane/server/db/database-schema.d.ts.map +1 -1
- package/dist/data-plane/server/db/migrations/20240606T171229898Z-thread-mutes.d.ts +4 -0
- package/dist/data-plane/server/db/migrations/20240606T171229898Z-thread-mutes.d.ts.map +1 -0
- package/dist/data-plane/server/db/migrations/20240606T171229898Z-thread-mutes.js +18 -0
- package/dist/data-plane/server/db/migrations/20240606T171229898Z-thread-mutes.js.map +1 -0
- package/dist/data-plane/server/db/migrations/index.d.ts +1 -0
- package/dist/data-plane/server/db/migrations/index.d.ts.map +1 -1
- package/dist/data-plane/server/db/migrations/index.js +2 -1
- package/dist/data-plane/server/db/migrations/index.js.map +1 -1
- package/dist/data-plane/server/db/tables/thread-mute.d.ts +10 -0
- package/dist/data-plane/server/db/tables/thread-mute.d.ts.map +1 -0
- package/dist/data-plane/server/db/tables/thread-mute.js +5 -0
- package/dist/data-plane/server/db/tables/thread-mute.js.map +1 -0
- package/dist/data-plane/server/indexing/processor.d.ts +2 -0
- package/dist/data-plane/server/indexing/processor.d.ts.map +1 -1
- package/dist/data-plane/server/indexing/processor.js +28 -1
- package/dist/data-plane/server/indexing/processor.js.map +1 -1
- package/dist/data-plane/server/routes/follows.d.ts.map +1 -1
- package/dist/data-plane/server/routes/follows.js +34 -2
- package/dist/data-plane/server/routes/follows.js.map +1 -1
- package/dist/data-plane/server/routes/mutes.d.ts.map +1 -1
- package/dist/data-plane/server/routes/mutes.js +16 -0
- package/dist/data-plane/server/routes/mutes.js.map +1 -1
- package/dist/data-plane/server/util.d.ts +6 -6
- package/dist/hydration/actor.d.ts +6 -0
- package/dist/hydration/actor.d.ts.map +1 -1
- package/dist/hydration/actor.js +17 -0
- package/dist/hydration/actor.js.map +1 -1
- package/dist/hydration/feed.d.ts +6 -1
- package/dist/hydration/feed.d.ts.map +1 -1
- package/dist/hydration/feed.js +16 -2
- package/dist/hydration/feed.js.map +1 -1
- package/dist/hydration/hydrator.d.ts +2 -1
- package/dist/hydration/hydrator.d.ts.map +1 -1
- package/dist/hydration/hydrator.js +28 -7
- package/dist/hydration/hydrator.js.map +1 -1
- package/dist/lexicon/index.d.ts +6 -0
- package/dist/lexicon/index.d.ts.map +1 -1
- package/dist/lexicon/index.js +12 -0
- package/dist/lexicon/index.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +127 -0
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +127 -0
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/defs.d.ts +9 -0
- package/dist/lexicon/types/app/bsky/actor/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/defs.js +11 -1
- package/dist/lexicon/types/app/bsky/actor/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/defs.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/feed/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/defs.js.map +1 -1
- package/dist/lexicon/types/app/bsky/graph/getKnownFollowers.d.ts +40 -0
- package/dist/lexicon/types/app/bsky/graph/getKnownFollowers.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/graph/getKnownFollowers.js +3 -0
- package/dist/lexicon/types/app/bsky/graph/getKnownFollowers.js.map +1 -0
- package/dist/lexicon/types/app/bsky/graph/muteThread.d.ts +29 -0
- package/dist/lexicon/types/app/bsky/graph/muteThread.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/graph/muteThread.js +3 -0
- package/dist/lexicon/types/app/bsky/graph/muteThread.js.map +1 -0
- package/dist/lexicon/types/app/bsky/graph/unmuteThread.d.ts +29 -0
- package/dist/lexicon/types/app/bsky/graph/unmuteThread.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/graph/unmuteThread.js +3 -0
- package/dist/lexicon/types/app/bsky/graph/unmuteThread.js.map +1 -0
- package/dist/logger.d.ts +1 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +2 -1
- package/dist/logger.js.map +1 -1
- package/dist/proto/bsky_connect.d.ts +39 -1
- package/dist/proto/bsky_connect.d.ts.map +1 -1
- package/dist/proto/bsky_connect.js +38 -0
- package/dist/proto/bsky_connect.js.map +1 -1
- package/dist/proto/bsky_pb.d.ts +161 -4
- package/dist/proto/bsky_pb.d.ts.map +1 -1
- package/dist/proto/bsky_pb.js +512 -12
- package/dist/proto/bsky_pb.js.map +1 -1
- package/dist/views/index.d.ts +5 -0
- package/dist/views/index.d.ts.map +1 -1
- package/dist/views/index.js +20 -0
- package/dist/views/index.js.map +1 -1
- package/package.json +5 -5
- package/proto/bsky.proto +47 -2
- package/src/api/app/bsky/graph/getKnownFollowers.ts +119 -0
- package/src/api/app/bsky/graph/muteThread.ts +18 -0
- package/src/api/app/bsky/graph/unmuteThread.ts +18 -0
- package/src/api/index.ts +6 -0
- package/src/data-plane/bsync/index.ts +39 -15
- package/src/data-plane/server/db/database-schema.ts +2 -0
- package/src/data-plane/server/db/migrations/20240606T171229898Z-thread-mutes.ts +15 -0
- package/src/data-plane/server/db/migrations/index.ts +1 -0
- package/src/data-plane/server/db/tables/thread-mute.ts +9 -0
- package/src/data-plane/server/indexing/processor.ts +29 -1
- package/src/data-plane/server/routes/follows.ts +45 -2
- package/src/data-plane/server/routes/mutes.ts +17 -0
- package/src/hydration/actor.ts +30 -0
- package/src/hydration/feed.ts +23 -3
- package/src/hydration/hydrator.ts +36 -7
- package/src/lexicon/index.ts +36 -0
- package/src/lexicon/lexicons.ts +129 -0
- package/src/lexicon/types/app/bsky/actor/defs.ts +20 -0
- package/src/lexicon/types/app/bsky/feed/defs.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/getKnownFollowers.ts +50 -0
- package/src/lexicon/types/app/bsky/graph/muteThread.ts +38 -0
- package/src/lexicon/types/app/bsky/graph/unmuteThread.ts +38 -0
- package/src/logger.ts +2 -0
- package/src/proto/bsky_connect.ts +46 -0
- package/src/proto/bsky_pb.ts +540 -8
- package/src/views/index.ts +25 -0
- package/tests/__snapshots__/feed-generation.test.ts.snap +38 -12
- package/tests/data-plane/__snapshots__/indexing.test.ts.snap +73 -37
- package/tests/data-plane/thread-mutes.test.ts +140 -0
- package/tests/label-hydration.test.ts +0 -2
- package/tests/query-labels.test.ts +0 -3
- package/tests/views/__snapshots__/author-feed.test.ts.snap +62 -17
- package/tests/views/__snapshots__/block-lists.test.ts.snap +7 -2
- package/tests/views/__snapshots__/blocks.test.ts.snap +13 -4
- package/tests/views/__snapshots__/list-feed.test.ts.snap +23 -6
- package/tests/views/__snapshots__/mute-lists.test.ts.snap +10 -3
- package/tests/views/__snapshots__/mutes.test.ts.snap +9 -3
- package/tests/views/__snapshots__/posts.test.ts.snap +16 -5
- package/tests/views/__snapshots__/profile.test.ts.snap +230 -10
- package/tests/views/__snapshots__/thread.test.ts.snap +53 -14
- package/tests/views/__snapshots__/timeline.test.ts.snap +213 -64
- package/tests/views/blocks.test.ts +13 -0
- package/tests/views/profile.test.ts +35 -0
- package/tests/views/threadgating.test.ts +19 -19
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const common_1 = require("@atproto/common");
|
|
4
|
+
const bsky_pb_1 = require("../../../proto/bsky_pb");
|
|
4
5
|
const pagination_1 = require("../db/pagination");
|
|
5
6
|
exports.default = (db) => ({
|
|
6
7
|
async getActorFollowsActors(req) {
|
|
@@ -84,8 +85,39 @@ exports.default = (db) => ({
|
|
|
84
85
|
cursor: keyset.packFromResult(follows),
|
|
85
86
|
};
|
|
86
87
|
},
|
|
87
|
-
|
|
88
|
-
|
|
88
|
+
/**
|
|
89
|
+
* Return known followers of a given actor.
|
|
90
|
+
*
|
|
91
|
+
* Example:
|
|
92
|
+
* - Alice follows Bob
|
|
93
|
+
* - Bob follows Dan
|
|
94
|
+
*
|
|
95
|
+
* If Alice (the viewer) looks at Dan's profile (the subject), she should see that Bob follows Dan
|
|
96
|
+
*/
|
|
97
|
+
async getFollowsFollowing(req) {
|
|
98
|
+
const { actorDid: viewerDid, targetDids: subjectDids } = req;
|
|
99
|
+
/*
|
|
100
|
+
* 1. Get all the people the Alice is following
|
|
101
|
+
* 2. Get all the people the Dan is followed by
|
|
102
|
+
* 3. Find the intersection
|
|
103
|
+
*/
|
|
104
|
+
const results = [];
|
|
105
|
+
for (const subjectDid of subjectDids) {
|
|
106
|
+
const followsReq = db.db
|
|
107
|
+
.selectFrom('follow')
|
|
108
|
+
.where('follow.creator', '=', viewerDid)
|
|
109
|
+
.where('follow.subjectDid', 'in', db.db
|
|
110
|
+
.selectFrom('follow')
|
|
111
|
+
.where('follow.subjectDid', '=', subjectDid)
|
|
112
|
+
.select(['creator']))
|
|
113
|
+
.select(['subjectDid']);
|
|
114
|
+
const rows = await followsReq.execute();
|
|
115
|
+
results.push(new bsky_pb_1.FollowsFollowing({
|
|
116
|
+
targetDid: subjectDid,
|
|
117
|
+
dids: rows.map((r) => r.subjectDid),
|
|
118
|
+
}));
|
|
119
|
+
}
|
|
120
|
+
return { results };
|
|
89
121
|
},
|
|
90
122
|
});
|
|
91
123
|
//# sourceMappingURL=follows.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"follows.js","sourceRoot":"","sources":["../../../../src/data-plane/server/routes/follows.ts"],"names":[],"mappings":";;AAAA,4CAAuC;
|
|
1
|
+
{"version":3,"file":"follows.js","sourceRoot":"","sources":["../../../../src/data-plane/server/routes/follows.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutes.d.ts","sourceRoot":"","sources":["../../../../src/data-plane/server/routes/mutes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGjD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"mutes.d.ts","sourceRoot":"","sources":["../../../../src/data-plane/server/routes/mutes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGjD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;6BAIZ,QAAQ,KAAG,QAAQ,YAAY,cAAc,CAAC,CAAC;AAAnE,wBAgLE"}
|
|
@@ -7,6 +7,7 @@ const assert_1 = __importDefault(require("assert"));
|
|
|
7
7
|
const syntax_1 = require("@atproto/syntax");
|
|
8
8
|
const lexicons_1 = require("../../../lexicon/lexicons");
|
|
9
9
|
const pagination_1 = require("../db/pagination");
|
|
10
|
+
const common_1 = require("@atproto/common");
|
|
10
11
|
exports.default = (db) => ({
|
|
11
12
|
async getActorMutesActor(req) {
|
|
12
13
|
const { actorDid, targetDid } = req;
|
|
@@ -146,6 +147,21 @@ exports.default = (db) => ({
|
|
|
146
147
|
.where('mutedByDid', '=', actorDid)
|
|
147
148
|
.execute();
|
|
148
149
|
},
|
|
150
|
+
async getThreadMutesOnSubjects(req) {
|
|
151
|
+
const { actorDid, threadRoots } = req;
|
|
152
|
+
if (threadRoots.length === 0) {
|
|
153
|
+
return { muted: [] };
|
|
154
|
+
}
|
|
155
|
+
const res = await db.db
|
|
156
|
+
.selectFrom('thread_mute')
|
|
157
|
+
.selectAll()
|
|
158
|
+
.where('mutedByDid', '=', actorDid)
|
|
159
|
+
.where('rootUri', 'in', threadRoots)
|
|
160
|
+
.execute();
|
|
161
|
+
const byRootUri = (0, common_1.keyBy)(res, 'rootUri');
|
|
162
|
+
const muted = threadRoots.map((uri) => !!byRootUri[uri]);
|
|
163
|
+
return { muted };
|
|
164
|
+
},
|
|
149
165
|
});
|
|
150
166
|
const isListUri = (uri) => new syntax_1.AtUri(uri).collection === lexicons_1.ids.AppBskyGraphList;
|
|
151
167
|
//# sourceMappingURL=mutes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutes.js","sourceRoot":"","sources":["../../../../src/data-plane/server/routes/mutes.ts"],"names":[],"mappings":";;;;;AAAA,oDAA2B;AAE3B,4CAAuC;AACvC,wDAA+C;AAG/C,iDAA8E;
|
|
1
|
+
{"version":3,"file":"mutes.js","sourceRoot":"","sources":["../../../../src/data-plane/server/routes/mutes.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,28 +4,28 @@ import DatabaseSchema from './db/database-schema';
|
|
|
4
4
|
export declare const getDescendentsQb: (db: DatabaseSchema, opts: {
|
|
5
5
|
uri: string;
|
|
6
6
|
depth: number;
|
|
7
|
-
}) => import("kysely/dist/cjs/parser/with-parser").QueryCreatorWithCommonTableExpression<import("./db/database-schema").DatabaseSchemaType, "descendent(uri, depth)", (cte: import("kysely").QueryCreator<import("./db/tables/duplicate-record").PartialDB & import("./db/tables/profile").PartialDB & import("./db/tables/profile-agg").PartialDB & import("./db/tables/post").PartialDB & import("./db/tables/post-embed").PartialDB & import("./db/tables/post-agg").PartialDB & import("./db/tables/repost").PartialDB & import("./db/tables/thread-gate").PartialDB & import("./db/tables/feed-item").PartialDB & import("./db/tables/follow").PartialDB & import("./db/tables/like").PartialDB & import("./db/tables/list").PartialDB & import("./db/tables/list-item").PartialDB & import("./db/tables/list-mute").PartialDB & import("./db/tables/list-block").PartialDB & import("./db/tables/mute").PartialDB & import("./db/tables/actor-block").PartialDB & import("./db/tables/feed-generator").PartialDB & import("./db/tables/subscription").PartialDB & import("./db/tables/actor").PartialDB & import("./db/tables/actor-state").PartialDB & import("./db/tables/actor-sync").PartialDB & import("./db/tables/record").PartialDB & import("./db/tables/notification").PartialDB & import("./db/tables/notification-push-token").PartialDB & import("./db/tables/did-cache").PartialDB & import("./db/tables/label").PartialDB & import("./db/tables/algo").PartialDB & import("./db/tables/view-param").PartialDB & import("./db/tables/suggested-follow").PartialDB & import("./db/tables/suggested-feed").PartialDB & import("./db/tables/blob-takedown").PartialDB & import("./db/tables/labeler").PartialDB & import("./db/tables/tagged-suggestion").PartialDB & Record<"descendent", {
|
|
7
|
+
}) => import("kysely/dist/cjs/parser/with-parser").QueryCreatorWithCommonTableExpression<import("./db/database-schema").DatabaseSchemaType, "descendent(uri, depth)", (cte: import("kysely").QueryCreator<import("./db/tables/duplicate-record").PartialDB & import("./db/tables/profile").PartialDB & import("./db/tables/profile-agg").PartialDB & import("./db/tables/post").PartialDB & import("./db/tables/post-embed").PartialDB & import("./db/tables/post-agg").PartialDB & import("./db/tables/repost").PartialDB & import("./db/tables/thread-gate").PartialDB & import("./db/tables/feed-item").PartialDB & import("./db/tables/follow").PartialDB & import("./db/tables/like").PartialDB & import("./db/tables/list").PartialDB & import("./db/tables/list-item").PartialDB & import("./db/tables/list-mute").PartialDB & import("./db/tables/list-block").PartialDB & import("./db/tables/mute").PartialDB & import("./db/tables/actor-block").PartialDB & import("./db/tables/thread-mute").PartialDB & import("./db/tables/feed-generator").PartialDB & import("./db/tables/subscription").PartialDB & import("./db/tables/actor").PartialDB & import("./db/tables/actor-state").PartialDB & import("./db/tables/actor-sync").PartialDB & import("./db/tables/record").PartialDB & import("./db/tables/notification").PartialDB & import("./db/tables/notification-push-token").PartialDB & import("./db/tables/did-cache").PartialDB & import("./db/tables/label").PartialDB & import("./db/tables/algo").PartialDB & import("./db/tables/view-param").PartialDB & import("./db/tables/suggested-follow").PartialDB & import("./db/tables/suggested-feed").PartialDB & import("./db/tables/blob-takedown").PartialDB & import("./db/tables/labeler").PartialDB & import("./db/tables/tagged-suggestion").PartialDB & Record<"descendent", {
|
|
8
8
|
uri: any;
|
|
9
9
|
depth: any;
|
|
10
|
-
}>>) => import("kysely").SelectQueryBuilder<import("kysely/dist/cjs/parser/table-parser").From<import("./db/tables/duplicate-record").PartialDB & import("./db/tables/profile").PartialDB & import("./db/tables/profile-agg").PartialDB & import("./db/tables/post").PartialDB & import("./db/tables/post-embed").PartialDB & import("./db/tables/post-agg").PartialDB & import("./db/tables/repost").PartialDB & import("./db/tables/thread-gate").PartialDB & import("./db/tables/feed-item").PartialDB & import("./db/tables/follow").PartialDB & import("./db/tables/like").PartialDB & import("./db/tables/list").PartialDB & import("./db/tables/list-item").PartialDB & import("./db/tables/list-mute").PartialDB & import("./db/tables/list-block").PartialDB & import("./db/tables/mute").PartialDB & import("./db/tables/actor-block").PartialDB & import("./db/tables/feed-generator").PartialDB & import("./db/tables/subscription").PartialDB & import("./db/tables/actor").PartialDB & import("./db/tables/actor-state").PartialDB & import("./db/tables/actor-sync").PartialDB & import("./db/tables/record").PartialDB & import("./db/tables/notification").PartialDB & import("./db/tables/notification-push-token").PartialDB & import("./db/tables/did-cache").PartialDB & import("./db/tables/label").PartialDB & import("./db/tables/algo").PartialDB & import("./db/tables/view-param").PartialDB & import("./db/tables/suggested-follow").PartialDB & import("./db/tables/suggested-feed").PartialDB & import("./db/tables/blob-takedown").PartialDB & import("./db/tables/labeler").PartialDB & import("./db/tables/tagged-suggestion").PartialDB & Record<"descendent", {
|
|
10
|
+
}>>) => import("kysely").SelectQueryBuilder<import("kysely/dist/cjs/parser/table-parser").From<import("./db/tables/duplicate-record").PartialDB & import("./db/tables/profile").PartialDB & import("./db/tables/profile-agg").PartialDB & import("./db/tables/post").PartialDB & import("./db/tables/post-embed").PartialDB & import("./db/tables/post-agg").PartialDB & import("./db/tables/repost").PartialDB & import("./db/tables/thread-gate").PartialDB & import("./db/tables/feed-item").PartialDB & import("./db/tables/follow").PartialDB & import("./db/tables/like").PartialDB & import("./db/tables/list").PartialDB & import("./db/tables/list-item").PartialDB & import("./db/tables/list-mute").PartialDB & import("./db/tables/list-block").PartialDB & import("./db/tables/mute").PartialDB & import("./db/tables/actor-block").PartialDB & import("./db/tables/thread-mute").PartialDB & import("./db/tables/feed-generator").PartialDB & import("./db/tables/subscription").PartialDB & import("./db/tables/actor").PartialDB & import("./db/tables/actor-state").PartialDB & import("./db/tables/actor-sync").PartialDB & import("./db/tables/record").PartialDB & import("./db/tables/notification").PartialDB & import("./db/tables/notification-push-token").PartialDB & import("./db/tables/did-cache").PartialDB & import("./db/tables/label").PartialDB & import("./db/tables/algo").PartialDB & import("./db/tables/view-param").PartialDB & import("./db/tables/suggested-follow").PartialDB & import("./db/tables/suggested-feed").PartialDB & import("./db/tables/blob-takedown").PartialDB & import("./db/tables/labeler").PartialDB & import("./db/tables/tagged-suggestion").PartialDB & Record<"descendent", {
|
|
11
11
|
uri: any;
|
|
12
12
|
depth: any;
|
|
13
|
-
}>, "post">, "post", import("kysely").Selection<import("kysely/dist/cjs/parser/table-parser").From<import("./db/tables/duplicate-record").PartialDB & import("./db/tables/profile").PartialDB & import("./db/tables/profile-agg").PartialDB & import("./db/tables/post").PartialDB & import("./db/tables/post-embed").PartialDB & import("./db/tables/post-agg").PartialDB & import("./db/tables/repost").PartialDB & import("./db/tables/thread-gate").PartialDB & import("./db/tables/feed-item").PartialDB & import("./db/tables/follow").PartialDB & import("./db/tables/like").PartialDB & import("./db/tables/list").PartialDB & import("./db/tables/list-item").PartialDB & import("./db/tables/list-mute").PartialDB & import("./db/tables/list-block").PartialDB & import("./db/tables/mute").PartialDB & import("./db/tables/actor-block").PartialDB & import("./db/tables/feed-generator").PartialDB & import("./db/tables/subscription").PartialDB & import("./db/tables/actor").PartialDB & import("./db/tables/actor-state").PartialDB & import("./db/tables/actor-sync").PartialDB & import("./db/tables/record").PartialDB & import("./db/tables/notification").PartialDB & import("./db/tables/notification-push-token").PartialDB & import("./db/tables/did-cache").PartialDB & import("./db/tables/label").PartialDB & import("./db/tables/algo").PartialDB & import("./db/tables/view-param").PartialDB & import("./db/tables/suggested-follow").PartialDB & import("./db/tables/suggested-feed").PartialDB & import("./db/tables/blob-takedown").PartialDB & import("./db/tables/labeler").PartialDB & import("./db/tables/tagged-suggestion").PartialDB & Record<"descendent", {
|
|
13
|
+
}>, "post">, "post", import("kysely").Selection<import("kysely/dist/cjs/parser/table-parser").From<import("./db/tables/duplicate-record").PartialDB & import("./db/tables/profile").PartialDB & import("./db/tables/profile-agg").PartialDB & import("./db/tables/post").PartialDB & import("./db/tables/post-embed").PartialDB & import("./db/tables/post-agg").PartialDB & import("./db/tables/repost").PartialDB & import("./db/tables/thread-gate").PartialDB & import("./db/tables/feed-item").PartialDB & import("./db/tables/follow").PartialDB & import("./db/tables/like").PartialDB & import("./db/tables/list").PartialDB & import("./db/tables/list-item").PartialDB & import("./db/tables/list-mute").PartialDB & import("./db/tables/list-block").PartialDB & import("./db/tables/mute").PartialDB & import("./db/tables/actor-block").PartialDB & import("./db/tables/thread-mute").PartialDB & import("./db/tables/feed-generator").PartialDB & import("./db/tables/subscription").PartialDB & import("./db/tables/actor").PartialDB & import("./db/tables/actor-state").PartialDB & import("./db/tables/actor-sync").PartialDB & import("./db/tables/record").PartialDB & import("./db/tables/notification").PartialDB & import("./db/tables/notification-push-token").PartialDB & import("./db/tables/did-cache").PartialDB & import("./db/tables/label").PartialDB & import("./db/tables/algo").PartialDB & import("./db/tables/view-param").PartialDB & import("./db/tables/suggested-follow").PartialDB & import("./db/tables/suggested-feed").PartialDB & import("./db/tables/blob-takedown").PartialDB & import("./db/tables/labeler").PartialDB & import("./db/tables/tagged-suggestion").PartialDB & Record<"descendent", {
|
|
14
14
|
uri: any;
|
|
15
15
|
depth: any;
|
|
16
16
|
}>, "post">, "post", "post.uri as uri" | import("kysely").AliasedRawBuilder<number, "depth">>>>;
|
|
17
17
|
export declare const getAncestorsAndSelfQb: (db: DatabaseSchema, opts: {
|
|
18
18
|
uri: string;
|
|
19
19
|
parentHeight: number;
|
|
20
|
-
}) => import("kysely/dist/cjs/parser/with-parser").QueryCreatorWithCommonTableExpression<import("./db/database-schema").DatabaseSchemaType, "ancestor(uri, ancestorUri, height)", (cte: import("kysely").QueryCreator<import("./db/tables/duplicate-record").PartialDB & import("./db/tables/profile").PartialDB & import("./db/tables/profile-agg").PartialDB & import("./db/tables/post").PartialDB & import("./db/tables/post-embed").PartialDB & import("./db/tables/post-agg").PartialDB & import("./db/tables/repost").PartialDB & import("./db/tables/thread-gate").PartialDB & import("./db/tables/feed-item").PartialDB & import("./db/tables/follow").PartialDB & import("./db/tables/like").PartialDB & import("./db/tables/list").PartialDB & import("./db/tables/list-item").PartialDB & import("./db/tables/list-mute").PartialDB & import("./db/tables/list-block").PartialDB & import("./db/tables/mute").PartialDB & import("./db/tables/actor-block").PartialDB & import("./db/tables/feed-generator").PartialDB & import("./db/tables/subscription").PartialDB & import("./db/tables/actor").PartialDB & import("./db/tables/actor-state").PartialDB & import("./db/tables/actor-sync").PartialDB & import("./db/tables/record").PartialDB & import("./db/tables/notification").PartialDB & import("./db/tables/notification-push-token").PartialDB & import("./db/tables/did-cache").PartialDB & import("./db/tables/label").PartialDB & import("./db/tables/algo").PartialDB & import("./db/tables/view-param").PartialDB & import("./db/tables/suggested-follow").PartialDB & import("./db/tables/suggested-feed").PartialDB & import("./db/tables/blob-takedown").PartialDB & import("./db/tables/labeler").PartialDB & import("./db/tables/tagged-suggestion").PartialDB & Record<"ancestor", {
|
|
20
|
+
}) => import("kysely/dist/cjs/parser/with-parser").QueryCreatorWithCommonTableExpression<import("./db/database-schema").DatabaseSchemaType, "ancestor(uri, ancestorUri, height)", (cte: import("kysely").QueryCreator<import("./db/tables/duplicate-record").PartialDB & import("./db/tables/profile").PartialDB & import("./db/tables/profile-agg").PartialDB & import("./db/tables/post").PartialDB & import("./db/tables/post-embed").PartialDB & import("./db/tables/post-agg").PartialDB & import("./db/tables/repost").PartialDB & import("./db/tables/thread-gate").PartialDB & import("./db/tables/feed-item").PartialDB & import("./db/tables/follow").PartialDB & import("./db/tables/like").PartialDB & import("./db/tables/list").PartialDB & import("./db/tables/list-item").PartialDB & import("./db/tables/list-mute").PartialDB & import("./db/tables/list-block").PartialDB & import("./db/tables/mute").PartialDB & import("./db/tables/actor-block").PartialDB & import("./db/tables/thread-mute").PartialDB & import("./db/tables/feed-generator").PartialDB & import("./db/tables/subscription").PartialDB & import("./db/tables/actor").PartialDB & import("./db/tables/actor-state").PartialDB & import("./db/tables/actor-sync").PartialDB & import("./db/tables/record").PartialDB & import("./db/tables/notification").PartialDB & import("./db/tables/notification-push-token").PartialDB & import("./db/tables/did-cache").PartialDB & import("./db/tables/label").PartialDB & import("./db/tables/algo").PartialDB & import("./db/tables/view-param").PartialDB & import("./db/tables/suggested-follow").PartialDB & import("./db/tables/suggested-feed").PartialDB & import("./db/tables/blob-takedown").PartialDB & import("./db/tables/labeler").PartialDB & import("./db/tables/tagged-suggestion").PartialDB & Record<"ancestor", {
|
|
21
21
|
uri: any;
|
|
22
22
|
ancestorUri: any;
|
|
23
23
|
height: any;
|
|
24
|
-
}>>) => import("kysely").SelectQueryBuilder<import("kysely/dist/cjs/parser/table-parser").From<import("./db/tables/duplicate-record").PartialDB & import("./db/tables/profile").PartialDB & import("./db/tables/profile-agg").PartialDB & import("./db/tables/post").PartialDB & import("./db/tables/post-embed").PartialDB & import("./db/tables/post-agg").PartialDB & import("./db/tables/repost").PartialDB & import("./db/tables/thread-gate").PartialDB & import("./db/tables/feed-item").PartialDB & import("./db/tables/follow").PartialDB & import("./db/tables/like").PartialDB & import("./db/tables/list").PartialDB & import("./db/tables/list-item").PartialDB & import("./db/tables/list-mute").PartialDB & import("./db/tables/list-block").PartialDB & import("./db/tables/mute").PartialDB & import("./db/tables/actor-block").PartialDB & import("./db/tables/feed-generator").PartialDB & import("./db/tables/subscription").PartialDB & import("./db/tables/actor").PartialDB & import("./db/tables/actor-state").PartialDB & import("./db/tables/actor-sync").PartialDB & import("./db/tables/record").PartialDB & import("./db/tables/notification").PartialDB & import("./db/tables/notification-push-token").PartialDB & import("./db/tables/did-cache").PartialDB & import("./db/tables/label").PartialDB & import("./db/tables/algo").PartialDB & import("./db/tables/view-param").PartialDB & import("./db/tables/suggested-follow").PartialDB & import("./db/tables/suggested-feed").PartialDB & import("./db/tables/blob-takedown").PartialDB & import("./db/tables/labeler").PartialDB & import("./db/tables/tagged-suggestion").PartialDB & Record<"ancestor", {
|
|
24
|
+
}>>) => import("kysely").SelectQueryBuilder<import("kysely/dist/cjs/parser/table-parser").From<import("./db/tables/duplicate-record").PartialDB & import("./db/tables/profile").PartialDB & import("./db/tables/profile-agg").PartialDB & import("./db/tables/post").PartialDB & import("./db/tables/post-embed").PartialDB & import("./db/tables/post-agg").PartialDB & import("./db/tables/repost").PartialDB & import("./db/tables/thread-gate").PartialDB & import("./db/tables/feed-item").PartialDB & import("./db/tables/follow").PartialDB & import("./db/tables/like").PartialDB & import("./db/tables/list").PartialDB & import("./db/tables/list-item").PartialDB & import("./db/tables/list-mute").PartialDB & import("./db/tables/list-block").PartialDB & import("./db/tables/mute").PartialDB & import("./db/tables/actor-block").PartialDB & import("./db/tables/thread-mute").PartialDB & import("./db/tables/feed-generator").PartialDB & import("./db/tables/subscription").PartialDB & import("./db/tables/actor").PartialDB & import("./db/tables/actor-state").PartialDB & import("./db/tables/actor-sync").PartialDB & import("./db/tables/record").PartialDB & import("./db/tables/notification").PartialDB & import("./db/tables/notification-push-token").PartialDB & import("./db/tables/did-cache").PartialDB & import("./db/tables/label").PartialDB & import("./db/tables/algo").PartialDB & import("./db/tables/view-param").PartialDB & import("./db/tables/suggested-follow").PartialDB & import("./db/tables/suggested-feed").PartialDB & import("./db/tables/blob-takedown").PartialDB & import("./db/tables/labeler").PartialDB & import("./db/tables/tagged-suggestion").PartialDB & Record<"ancestor", {
|
|
25
25
|
uri: any;
|
|
26
26
|
ancestorUri: any;
|
|
27
27
|
height: any;
|
|
28
|
-
}>, "post">, "post", import("kysely").Selection<import("kysely/dist/cjs/parser/table-parser").From<import("./db/tables/duplicate-record").PartialDB & import("./db/tables/profile").PartialDB & import("./db/tables/profile-agg").PartialDB & import("./db/tables/post").PartialDB & import("./db/tables/post-embed").PartialDB & import("./db/tables/post-agg").PartialDB & import("./db/tables/repost").PartialDB & import("./db/tables/thread-gate").PartialDB & import("./db/tables/feed-item").PartialDB & import("./db/tables/follow").PartialDB & import("./db/tables/like").PartialDB & import("./db/tables/list").PartialDB & import("./db/tables/list-item").PartialDB & import("./db/tables/list-mute").PartialDB & import("./db/tables/list-block").PartialDB & import("./db/tables/mute").PartialDB & import("./db/tables/actor-block").PartialDB & import("./db/tables/feed-generator").PartialDB & import("./db/tables/subscription").PartialDB & import("./db/tables/actor").PartialDB & import("./db/tables/actor-state").PartialDB & import("./db/tables/actor-sync").PartialDB & import("./db/tables/record").PartialDB & import("./db/tables/notification").PartialDB & import("./db/tables/notification-push-token").PartialDB & import("./db/tables/did-cache").PartialDB & import("./db/tables/label").PartialDB & import("./db/tables/algo").PartialDB & import("./db/tables/view-param").PartialDB & import("./db/tables/suggested-follow").PartialDB & import("./db/tables/suggested-feed").PartialDB & import("./db/tables/blob-takedown").PartialDB & import("./db/tables/labeler").PartialDB & import("./db/tables/tagged-suggestion").PartialDB & Record<"ancestor", {
|
|
28
|
+
}>, "post">, "post", import("kysely").Selection<import("kysely/dist/cjs/parser/table-parser").From<import("./db/tables/duplicate-record").PartialDB & import("./db/tables/profile").PartialDB & import("./db/tables/profile-agg").PartialDB & import("./db/tables/post").PartialDB & import("./db/tables/post-embed").PartialDB & import("./db/tables/post-agg").PartialDB & import("./db/tables/repost").PartialDB & import("./db/tables/thread-gate").PartialDB & import("./db/tables/feed-item").PartialDB & import("./db/tables/follow").PartialDB & import("./db/tables/like").PartialDB & import("./db/tables/list").PartialDB & import("./db/tables/list-item").PartialDB & import("./db/tables/list-mute").PartialDB & import("./db/tables/list-block").PartialDB & import("./db/tables/mute").PartialDB & import("./db/tables/actor-block").PartialDB & import("./db/tables/thread-mute").PartialDB & import("./db/tables/feed-generator").PartialDB & import("./db/tables/subscription").PartialDB & import("./db/tables/actor").PartialDB & import("./db/tables/actor-state").PartialDB & import("./db/tables/actor-sync").PartialDB & import("./db/tables/record").PartialDB & import("./db/tables/notification").PartialDB & import("./db/tables/notification-push-token").PartialDB & import("./db/tables/did-cache").PartialDB & import("./db/tables/label").PartialDB & import("./db/tables/algo").PartialDB & import("./db/tables/view-param").PartialDB & import("./db/tables/suggested-follow").PartialDB & import("./db/tables/suggested-feed").PartialDB & import("./db/tables/blob-takedown").PartialDB & import("./db/tables/labeler").PartialDB & import("./db/tables/tagged-suggestion").PartialDB & Record<"ancestor", {
|
|
29
29
|
uri: any;
|
|
30
30
|
ancestorUri: any;
|
|
31
31
|
height: any;
|
|
@@ -26,8 +26,13 @@ export type ProfileViewerState = {
|
|
|
26
26
|
blockingByList?: string;
|
|
27
27
|
following?: string;
|
|
28
28
|
followedBy?: string;
|
|
29
|
+
knownFollowers?: {
|
|
30
|
+
count: number;
|
|
31
|
+
followers: string[];
|
|
32
|
+
};
|
|
29
33
|
};
|
|
30
34
|
export type ProfileViewerStates = HydrationMap<ProfileViewerState>;
|
|
35
|
+
export type KnownFollowers = HydrationMap<ProfileViewerState['knownFollowers']>;
|
|
31
36
|
export type ProfileAgg = {
|
|
32
37
|
followers: number;
|
|
33
38
|
follows: number;
|
|
@@ -45,6 +50,7 @@ export declare class ActorHydrator {
|
|
|
45
50
|
getActors(dids: string[], includeTakedowns?: boolean): Promise<Actors>;
|
|
46
51
|
getChatDeclarations(uris: string[], includeTakedowns?: boolean): Promise<ChatDeclarations>;
|
|
47
52
|
getProfileViewerStatesNaive(dids: string[], viewer: string): Promise<ProfileViewerStates>;
|
|
53
|
+
getKnownFollowers(dids: string[], viewer: string | null): Promise<KnownFollowers>;
|
|
48
54
|
getProfileAggregates(dids: string[]): Promise<ProfileAggs>;
|
|
49
55
|
}
|
|
50
56
|
//# sourceMappingURL=actor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actor.d.ts","sourceRoot":"","sources":["../../src/hydration/actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,yCAAyC,CAAA;AACjF,OAAO,EAAE,MAAM,IAAI,qBAAqB,EAAE,MAAM,8CAA8C,CAAA;AAC9F,OAAO,EACL,YAAY,EACZ,UAAU,EAKX,MAAM,QAAQ,CAAA;AAEf,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;AAExC,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAA;AAE/D,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAA;AAE5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"actor.d.ts","sourceRoot":"","sources":["../../src/hydration/actor.ts"],"names":[],"mappings":"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"}
|
package/dist/hydration/actor.js
CHANGED
|
@@ -108,6 +108,23 @@ class ActorHydrator {
|
|
|
108
108
|
});
|
|
109
109
|
}, new util_1.HydrationMap());
|
|
110
110
|
}
|
|
111
|
+
async getKnownFollowers(dids, viewer) {
|
|
112
|
+
if (!viewer)
|
|
113
|
+
return new util_1.HydrationMap();
|
|
114
|
+
const { results: knownFollowersResults } = await this.dataplane.getFollowsFollowing({
|
|
115
|
+
actorDid: viewer,
|
|
116
|
+
targetDids: dids,
|
|
117
|
+
});
|
|
118
|
+
return dids.reduce((acc, did, i) => {
|
|
119
|
+
const result = knownFollowersResults[i]?.dids;
|
|
120
|
+
return acc.set(did, result && result.length > 0
|
|
121
|
+
? {
|
|
122
|
+
count: result.length,
|
|
123
|
+
followers: result.slice(0, 5),
|
|
124
|
+
}
|
|
125
|
+
: undefined);
|
|
126
|
+
}, new util_1.HydrationMap());
|
|
127
|
+
}
|
|
111
128
|
async getProfileAggregates(dids) {
|
|
112
129
|
if (!dids.length)
|
|
113
130
|
return new util_1.HydrationMap();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actor.js","sourceRoot":"","sources":["../../src/hydration/actor.ts"],"names":[],"mappings":";;;AAGA,iCAOe;
|
|
1
|
+
{"version":3,"file":"actor.js","sourceRoot":"","sources":["../../src/hydration/actor.ts"],"names":[],"mappings":"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"}
|
package/dist/hydration/feed.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export type Posts = HydrationMap<Post>;
|
|
|
12
12
|
export type PostViewerState = {
|
|
13
13
|
like?: string;
|
|
14
14
|
repost?: string;
|
|
15
|
+
threadMuted?: boolean;
|
|
15
16
|
};
|
|
16
17
|
export type PostViewerStates = HydrationMap<PostViewerState>;
|
|
17
18
|
export type PostAgg = {
|
|
@@ -40,6 +41,9 @@ export type ItemRef = {
|
|
|
40
41
|
uri: string;
|
|
41
42
|
cid?: string;
|
|
42
43
|
};
|
|
44
|
+
export type ThreadRef = ItemRef & {
|
|
45
|
+
threadRoot: string;
|
|
46
|
+
};
|
|
43
47
|
export type FeedItem = {
|
|
44
48
|
post: ItemRef;
|
|
45
49
|
repost?: ItemRef;
|
|
@@ -48,7 +52,8 @@ export declare class FeedHydrator {
|
|
|
48
52
|
dataplane: DataPlaneClient;
|
|
49
53
|
constructor(dataplane: DataPlaneClient);
|
|
50
54
|
getPosts(uris: string[], includeTakedowns?: boolean, given?: HydrationMap<Post>): Promise<Posts>;
|
|
51
|
-
getPostViewerStates(refs:
|
|
55
|
+
getPostViewerStates(refs: ThreadRef[], viewer: string): Promise<PostViewerStates>;
|
|
56
|
+
private getThreadMutes;
|
|
52
57
|
getPostAggregates(refs: ItemRef[]): Promise<PostAggs>;
|
|
53
58
|
getFeedGens(uris: string[], includeTakedowns?: boolean): Promise<FeedGens>;
|
|
54
59
|
getFeedGenViewerStates(uris: string[], viewer: string): Promise<FeedGenViewerStates>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../src/hydration/feed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,uCAAuC,CAAA;AAC9E,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,0CAA0C,CAAA;AAClF,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AACtF,OAAO,EACL,YAAY,EACZ,UAAU,EAIX,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../src/hydration/feed.ts"],"names":[],"mappings":"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"}
|
package/dist/hydration/feed.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.FeedHydrator = void 0;
|
|
|
4
4
|
const util_1 = require("./util");
|
|
5
5
|
const syntax_1 = require("@atproto/syntax");
|
|
6
6
|
const lexicons_1 = require("../lexicon/lexicons");
|
|
7
|
+
const common_1 = require("@atproto/common");
|
|
7
8
|
class FeedHydrator {
|
|
8
9
|
constructor(dataplane) {
|
|
9
10
|
Object.defineProperty(this, "dataplane", {
|
|
@@ -28,7 +29,8 @@ class FeedHydrator {
|
|
|
28
29
|
async getPostViewerStates(refs, viewer) {
|
|
29
30
|
if (!refs.length)
|
|
30
31
|
return new util_1.HydrationMap();
|
|
31
|
-
const
|
|
32
|
+
const threadRoots = refs.map((r) => r.threadRoot);
|
|
33
|
+
const [likes, reposts, threadMutesMap] = await Promise.all([
|
|
32
34
|
this.dataplane.getLikesByActorAndSubjects({
|
|
33
35
|
actorDid: viewer,
|
|
34
36
|
refs,
|
|
@@ -37,14 +39,26 @@ class FeedHydrator {
|
|
|
37
39
|
actorDid: viewer,
|
|
38
40
|
refs,
|
|
39
41
|
}),
|
|
42
|
+
this.getThreadMutes(threadRoots, viewer),
|
|
40
43
|
]);
|
|
41
|
-
return refs.reduce((acc, { uri }, i) => {
|
|
44
|
+
return refs.reduce((acc, { uri, threadRoot }, i) => {
|
|
42
45
|
return acc.set(uri, {
|
|
43
46
|
like: (0, util_1.parseString)(likes.uris[i]),
|
|
44
47
|
repost: (0, util_1.parseString)(reposts.uris[i]),
|
|
48
|
+
threadMuted: threadMutesMap.get(threadRoot) ?? false,
|
|
45
49
|
});
|
|
46
50
|
}, new util_1.HydrationMap());
|
|
47
51
|
}
|
|
52
|
+
async getThreadMutes(threadRoots, viewer) {
|
|
53
|
+
const deduped = (0, common_1.dedupeStrs)(threadRoots);
|
|
54
|
+
const threadMutes = await this.dataplane.getThreadMutesOnSubjects({
|
|
55
|
+
actorDid: viewer,
|
|
56
|
+
threadRoots: deduped,
|
|
57
|
+
});
|
|
58
|
+
return deduped.reduce((acc, cur, i) => {
|
|
59
|
+
return acc.set(cur, threadMutes.muted[i] ?? false);
|
|
60
|
+
}, new Map());
|
|
61
|
+
}
|
|
48
62
|
async getPostAggregates(refs) {
|
|
49
63
|
if (!refs.length)
|
|
50
64
|
return new util_1.HydrationMap();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.js","sourceRoot":"","sources":["../../src/hydration/feed.ts"],"names":[],"mappings":";;;AAMA,iCAMe;AACf,4CAAuC;AACvC,kDAAyC;
|
|
1
|
+
{"version":3,"file":"feed.js","sourceRoot":"","sources":["../../src/hydration/feed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DataPlaneClient } from '../data-plane/client';
|
|
2
2
|
import { Notification } from '../proto/bsky_pb';
|
|
3
|
-
import { ActorHydrator, ProfileAggs, Actors, ProfileViewerStates } from './actor';
|
|
3
|
+
import { ActorHydrator, ProfileAggs, Actors, ProfileViewerStates, KnownFollowers } from './actor';
|
|
4
4
|
import { Follows, GraphHydrator, ListItems, ListViewerStates, Lists } from './graph';
|
|
5
5
|
import { LabelHydrator, LabelerAggs, LabelerViewerStates, Labelers, Labels } from './label';
|
|
6
6
|
import { HydrationMap, RecordInfo } from './util';
|
|
@@ -43,6 +43,7 @@ export type HydrationState = {
|
|
|
43
43
|
labelers?: Labelers;
|
|
44
44
|
labelerViewers?: LabelerViewerStates;
|
|
45
45
|
labelerAggs?: LabelerAggs;
|
|
46
|
+
knownFollowers?: KnownFollowers;
|
|
46
47
|
};
|
|
47
48
|
export type PostBlock = {
|
|
48
49
|
embed: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydrator.d.ts","sourceRoot":"","sources":["../../src/hydration/hydrator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"hydrator.d.ts","sourceRoot":"","sources":["../../src/hydration/hydrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ const lexicons_1 = require("../lexicon/lexicons");
|
|
|
11
11
|
const record_1 = require("../lexicon/types/app/bsky/embed/record");
|
|
12
12
|
const recordWithMedia_1 = require("../lexicon/types/app/bsky/embed/recordWithMedia");
|
|
13
13
|
const threadgate_1 = require("../lexicon/types/app/bsky/feed/threadgate");
|
|
14
|
+
const logger_1 = require("../logger");
|
|
14
15
|
const actor_1 = require("./actor");
|
|
15
16
|
const graph_1 = require("./graph");
|
|
16
17
|
const label_1 = require("./label");
|
|
@@ -145,13 +146,25 @@ class Hydrator {
|
|
|
145
146
|
// - profile
|
|
146
147
|
// - list basic
|
|
147
148
|
async hydrateProfilesDetailed(dids, ctx) {
|
|
149
|
+
let knownFollowers = new util_1.HydrationMap();
|
|
150
|
+
try {
|
|
151
|
+
knownFollowers = await this.actor.getKnownFollowers(dids, ctx.viewer);
|
|
152
|
+
}
|
|
153
|
+
catch (err) {
|
|
154
|
+
logger_1.hydrationLogger.error({ err }, 'Failed to get known followers for profiles');
|
|
155
|
+
}
|
|
156
|
+
const knownFollowersDids = Array.from(knownFollowers.values())
|
|
157
|
+
.filter(Boolean)
|
|
158
|
+
.flatMap((f) => f.followers);
|
|
159
|
+
const allDids = Array.from(new Set(dids.concat(knownFollowersDids)));
|
|
148
160
|
const [state, profileAggs] = await Promise.all([
|
|
149
|
-
this.hydrateProfiles(
|
|
161
|
+
this.hydrateProfiles(allDids, ctx),
|
|
150
162
|
this.actor.getProfileAggregates(dids),
|
|
151
163
|
]);
|
|
152
164
|
return {
|
|
153
165
|
...state,
|
|
154
166
|
profileAggs,
|
|
167
|
+
knownFollowers,
|
|
155
168
|
};
|
|
156
169
|
}
|
|
157
170
|
// app.bsky.graph.defs#listView
|
|
@@ -244,13 +257,20 @@ class Hydrator {
|
|
|
244
257
|
].map((uri) => new syntax_1.AtUri(uri).hostname);
|
|
245
258
|
const posts = mergeManyMaps(postsLayer0, postsLayer1, postsLayer2) ?? postsLayer0;
|
|
246
259
|
const allPostUris = [...posts.keys()];
|
|
260
|
+
const allRefs = [
|
|
261
|
+
...refs,
|
|
262
|
+
...postUrisLayer1.map(uriToRef), // supports aggregates on embed #viewRecords
|
|
263
|
+
...postUrisLayer2.map(uriToRef),
|
|
264
|
+
];
|
|
265
|
+
const threadRefs = allRefs.map((ref) => ({
|
|
266
|
+
...ref,
|
|
267
|
+
threadRoot: posts.get(ref.uri)?.record.reply?.root.uri ?? ref.uri,
|
|
268
|
+
}));
|
|
247
269
|
const [postAggs, postViewers, labels, postBlocks, profileState, listState, feedGenState, labelerState,] = await Promise.all([
|
|
248
|
-
this.feed.getPostAggregates(
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
]),
|
|
253
|
-
ctx.viewer ? this.feed.getPostViewerStates(refs, ctx.viewer) : undefined,
|
|
270
|
+
this.feed.getPostAggregates(allRefs),
|
|
271
|
+
ctx.viewer
|
|
272
|
+
? this.feed.getPostViewerStates(threadRefs, ctx.viewer)
|
|
273
|
+
: undefined,
|
|
254
274
|
this.label.getLabelsForSubjects(allPostUris, ctx.labelers),
|
|
255
275
|
this.hydratePostBlocks(posts),
|
|
256
276
|
this.hydrateProfiles(allPostUris.map(util_1.didFromUri), ctx),
|
|
@@ -690,6 +710,7 @@ const mergeStates = (stateA, stateB) => {
|
|
|
690
710
|
labelers: mergeMaps(stateA.labelers, stateB.labelers),
|
|
691
711
|
labelerAggs: mergeMaps(stateA.labelerAggs, stateB.labelerAggs),
|
|
692
712
|
labelerViewers: mergeMaps(stateA.labelerViewers, stateB.labelerViewers),
|
|
713
|
+
knownFollowers: mergeMaps(stateA.knownFollowers, stateB.knownFollowers),
|
|
693
714
|
};
|
|
694
715
|
};
|
|
695
716
|
exports.mergeStates = mergeStates;
|