@atproto/bsky 0.0.238 → 0.0.239
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 +11 -0
- package/dist/api/app/bsky/actor/searchActors.d.ts.map +1 -1
- package/dist/api/app/bsky/actor/searchActors.js +26 -1
- package/dist/api/app/bsky/actor/searchActors.js.map +1 -1
- package/dist/api/app/bsky/actor/searchActorsTypeahead.d.ts.map +1 -1
- package/dist/api/app/bsky/actor/searchActorsTypeahead.js +26 -2
- package/dist/api/app/bsky/actor/searchActorsTypeahead.js.map +1 -1
- package/dist/api/app/bsky/feed/getFeed.d.ts.map +1 -1
- package/dist/api/app/bsky/feed/getFeed.js +1 -0
- package/dist/api/app/bsky/feed/getFeed.js.map +1 -1
- package/dist/api/app/bsky/feed/searchPosts.d.ts.map +1 -1
- package/dist/api/app/bsky/feed/searchPosts.js +56 -1
- package/dist/api/app/bsky/feed/searchPosts.js.map +1 -1
- package/dist/api/app/bsky/graph/searchStarterPacks.d.ts.map +1 -1
- package/dist/api/app/bsky/graph/searchStarterPacks.js +26 -1
- package/dist/api/app/bsky/graph/searchStarterPacks.js.map +1 -1
- package/dist/api/app/bsky/unspecced/getPopularFeedGenerators.d.ts.map +1 -1
- package/dist/api/app/bsky/unspecced/getPopularFeedGenerators.js +27 -6
- package/dist/api/app/bsky/unspecced/getPopularFeedGenerators.js.map +1 -1
- package/dist/data-plane/server/routes/feed-gens.d.ts.map +1 -1
- package/dist/data-plane/server/routes/feed-gens.js +21 -12
- package/dist/data-plane/server/routes/feed-gens.js.map +1 -1
- package/dist/data-plane/server/routes/search.d.ts.map +1 -1
- package/dist/data-plane/server/routes/search.js +62 -12
- package/dist/data-plane/server/routes/search.js.map +1 -1
- package/dist/feature-gates/gates.d.ts +1 -0
- package/dist/feature-gates/gates.d.ts.map +1 -1
- package/dist/feature-gates/gates.js +1 -0
- package/dist/feature-gates/gates.js.map +1 -1
- package/dist/lexicons/chat/bsky/group/createGroup.defs.d.ts +4 -4
- package/dist/lexicons/chat/bsky/group/createGroup.defs.js +2 -2
- package/dist/lexicons/chat/bsky/group/createGroup.defs.js.map +1 -1
- package/dist/lexicons/chat/bsky/group/defs.defs.d.ts +8 -1
- package/dist/lexicons/chat/bsky/group/defs.defs.d.ts.map +1 -1
- package/dist/lexicons/chat/bsky/group/defs.defs.js +5 -1
- package/dist/lexicons/chat/bsky/group/defs.defs.js.map +1 -1
- package/dist/proto/bsky_connect.d.ts +49 -2
- package/dist/proto/bsky_connect.d.ts.map +1 -1
- package/dist/proto/bsky_connect.js +49 -2
- package/dist/proto/bsky_connect.js.map +1 -1
- package/dist/proto/bsky_pb.d.ts +482 -0
- package/dist/proto/bsky_pb.d.ts.map +1 -1
- package/dist/proto/bsky_pb.js +608 -0
- package/dist/proto/bsky_pb.js.map +1 -1
- package/package.json +6 -6
- package/proto/bsky.proto +166 -2
- package/src/api/app/bsky/actor/searchActors.ts +35 -1
- package/src/api/app/bsky/actor/searchActorsTypeahead.ts +35 -2
- package/src/api/app/bsky/feed/getFeed.ts +1 -0
- package/src/api/app/bsky/feed/searchPosts.ts +60 -1
- package/src/api/app/bsky/graph/searchStarterPacks.ts +35 -1
- package/src/api/app/bsky/unspecced/getPopularFeedGenerators.ts +28 -6
- package/src/data-plane/server/routes/feed-gens.ts +33 -14
- package/src/data-plane/server/routes/search.ts +81 -13
- package/src/feature-gates/gates.ts +1 -0
- package/tests/data-plane/handle-invalidation.test.ts +2 -1
- package/tsconfig.build.json +2 -2
- package/tsconfig.json +2 -2
- package/tsconfig.tests.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPopularFeedGenerators.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/unspecced/getPopularFeedGenerators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAI5C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE/D,sCAAsC;AACtC,2EAA2E;AAC3E,gGAAgG;AAChG,MAAM,CAAC,OAAO,WAAW,MAAc,EAAE,GAAe;IACtD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE;QACtD,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,gBAAgB;QACvC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAA;YACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YACrC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"getPopularFeedGenerators.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/unspecced/getPopularFeedGenerators.ts"],"names":[],"mappings":"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","sourcesContent":["import { mapDefined } from '@atproto/common'\nimport { AtUriString } from '@atproto/syntax'\nimport { Server } from '@atproto/xrpc-server'\nimport { AppContext } from '../../../../context.js'\nimport { parseString } from '../../../../hydration/util.js'\nimport { app } from '../../../../lexicons/index.js'\nimport { clearlyBadCursor, resHeaders } from '../../../util.js'\n\n// THIS IS A TEMPORARY UNSPECCED ROUTE\n// @TODO currently mirrors getSuggestedFeeds and ignores the \"query\" param.\n// In the future may take into consideration popularity via likes w/ its own dataplane endpoint.\nexport default function (server: Server, ctx: AppContext) {\n server.add(app.bsky.unspecced.getPopularFeedGenerators, {\n auth: ctx.authVerifier.standardOptional,\n handler: async ({ auth, params, req }) => {\n const viewer = auth.credentials.iss\n const labelers = ctx.reqLabelers(req)\n const features = ctx.featureGatesClient.scope(\n ctx.featureGatesClient.parseUserContextFromHandler({\n viewer,\n req,\n }),\n )\n const hydrateCtx = await ctx.hydrator.createContext({\n viewer,\n labelers,\n features,\n })\n\n if (clearlyBadCursor(params.cursor)) {\n return {\n encoding: 'application/json',\n body: { feeds: [] },\n }\n }\n\n let uris: AtUriString[]\n let cursor: string | undefined\n\n const query = params.query?.trim() ?? ''\n if (query) {\n const useV2 = features.checkGate(features.Gate.SearchV2Enable)\n if (useV2) {\n const res = await ctx.dataplane.searchFeedGeneratorsV2({\n params: {\n query,\n viewer: viewer ?? undefined,\n limit: params.limit,\n },\n })\n uris = res.feedGenerators.map(({ uri }) => uri) as AtUriString[]\n } else {\n const res = await ctx.dataplane.searchFeedGenerators({\n query,\n limit: params.limit,\n })\n uris = res.uris as AtUriString[]\n }\n } else {\n const res = await ctx.dataplane.getSuggestedFeeds({\n actorDid: viewer ?? undefined,\n limit: params.limit,\n cursor: params.cursor,\n })\n uris = res.uris as AtUriString[]\n cursor = parseString(res.cursor)\n }\n\n const hydration = await ctx.hydrator.hydrateFeedGens(uris, hydrateCtx)\n const feedViews = mapDefined(uris, (uri) =>\n ctx.views.feedGenerator(uri, hydration),\n )\n\n return {\n encoding: 'application/json',\n body: {\n feeds: feedViews,\n cursor,\n },\n headers: resHeaders({ labelers: hydrateCtx.labelers }),\n }\n },\n })\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed-gens.d.ts","sourceRoot":"","sources":["../../../../src/data-plane/server/routes/feed-gens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;yBAGzB,IAAI,QAAQ,KAAG,OAAO,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAC;AAAnE,
|
|
1
|
+
{"version":3,"file":"feed-gens.d.ts","sourceRoot":"","sources":["../../../../src/data-plane/server/routes/feed-gens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;yBAGzB,IAAI,QAAQ,KAAG,OAAO,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAC;AAAnE,wBA4DE"}
|
|
@@ -33,23 +33,32 @@ export default (db) => ({
|
|
|
33
33
|
};
|
|
34
34
|
},
|
|
35
35
|
async searchFeedGenerators(req) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
.selectFrom('feed_generator')
|
|
41
|
-
.if(!!query, (q) => q.where('displayName', 'ilike', `%${query}%`))
|
|
42
|
-
.selectAll();
|
|
43
|
-
const keyset = new TimeCidKeyset(ref('feed_generator.createdAt'), ref('feed_generator.cid'));
|
|
44
|
-
builder = paginate(builder, { limit, keyset });
|
|
45
|
-
const feeds = await builder.execute();
|
|
36
|
+
return searchFeedGeneratorsImpl(db, req.query, req.limit);
|
|
37
|
+
},
|
|
38
|
+
async searchFeedGeneratorsV2(req) {
|
|
39
|
+
const { uris, cursor } = await searchFeedGeneratorsImpl(db, req.params?.query ?? '', req.params?.limit ?? 25);
|
|
46
40
|
return {
|
|
47
|
-
|
|
48
|
-
cursor:
|
|
41
|
+
feedGenerators: uris.map((uri) => ({ uri, score: 0 })),
|
|
42
|
+
pageInfo: { cursor: cursor ?? '', hitsTotal: 0n },
|
|
49
43
|
};
|
|
50
44
|
},
|
|
51
45
|
async getFeedGeneratorStatus() {
|
|
52
46
|
throw new Error('unimplemented');
|
|
53
47
|
},
|
|
54
48
|
});
|
|
49
|
+
const searchFeedGeneratorsImpl = async (db, query, limit) => {
|
|
50
|
+
const { ref } = db.db.dynamic;
|
|
51
|
+
const trimmed = query.trim();
|
|
52
|
+
let builder = db.db
|
|
53
|
+
.selectFrom('feed_generator')
|
|
54
|
+
.if(!!trimmed, (q) => q.where('displayName', 'ilike', `%${trimmed}%`))
|
|
55
|
+
.selectAll();
|
|
56
|
+
const keyset = new TimeCidKeyset(ref('feed_generator.createdAt'), ref('feed_generator.cid'));
|
|
57
|
+
builder = paginate(builder, { limit, keyset });
|
|
58
|
+
const feeds = await builder.execute();
|
|
59
|
+
return {
|
|
60
|
+
uris: feeds.map((f) => f.uri),
|
|
61
|
+
cursor: keyset.packFromResult(feeds),
|
|
62
|
+
};
|
|
63
|
+
};
|
|
55
64
|
//# sourceMappingURL=feed-gens.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed-gens.js","sourceRoot":"","sources":["../../../../src/data-plane/server/routes/feed-gens.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE7D,eAAe,CAAC,EAAY,EAAwC,EAAE,CAAC,CAAC;IACtE,KAAK,CAAC,aAAa,CAAC,GAAG;QACrB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;QAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,CAAA;QAC7B,IAAI,OAAO,GAAG,EAAE,CAAC,EAAE;aAChB,UAAU,CAAC,gBAAgB,CAAC;aAC5B,SAAS,EAAE;aACX,KAAK,CAAC,wBAAwB,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;QAEjD,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,GAAG,CAAC,0BAA0B,CAAC,EAC/B,GAAG,CAAC,oBAAoB,CAAC,CAC1B,CAAA;QACD,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE;YAC1B,KAAK;YACL,MAAM;YACN,MAAM;SACP,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QAErC,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;SACrC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAG;QACzB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,EAAE;aACtB,UAAU,CAAC,gBAAgB,CAAC;aAC5B,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC;aACtC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;aACxE,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;aACtB,SAAS,EAAE;aACX,OAAO,EAAE,CAAA;QACZ,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7B,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE;SACvC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,GAAG;QAC5B,
|
|
1
|
+
{"version":3,"file":"feed-gens.js","sourceRoot":"","sources":["../../../../src/data-plane/server/routes/feed-gens.ts"],"names":[],"mappings":"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","sourcesContent":["import { ServiceImpl } from '@connectrpc/connect'\nimport { Service } from '../../../proto/bsky_connect.js'\nimport { Database } from '../db/index.js'\nimport { TimeCidKeyset, paginate } from '../db/pagination.js'\n\nexport default (db: Database): Partial<ServiceImpl<typeof Service>> => ({\n async getActorFeeds(req) {\n const { actorDid, limit, cursor } = req\n\n const { ref } = db.db.dynamic\n let builder = db.db\n .selectFrom('feed_generator')\n .selectAll()\n .where('feed_generator.creator', '=', actorDid)\n\n const keyset = new TimeCidKeyset(\n ref('feed_generator.createdAt'),\n ref('feed_generator.cid'),\n )\n builder = paginate(builder, {\n limit,\n cursor,\n keyset,\n })\n const feeds = await builder.execute()\n\n return {\n uris: feeds.map((f) => f.uri),\n cursor: keyset.packFromResult(feeds),\n }\n },\n\n async getSuggestedFeeds(req) {\n const feeds = await db.db\n .selectFrom('suggested_feed')\n .orderBy('suggested_feed.order', 'asc')\n .if(!!req.cursor, (q) => q.where('order', '>', parseInt(req.cursor, 10)))\n .limit(req.limit || 50)\n .selectAll()\n .execute()\n return {\n uris: feeds.map((f) => f.uri),\n cursor: feeds.at(-1)?.order.toString(),\n }\n },\n\n async searchFeedGenerators(req) {\n return searchFeedGeneratorsImpl(db, req.query, req.limit)\n },\n\n async searchFeedGeneratorsV2(req) {\n const { uris, cursor } = await searchFeedGeneratorsImpl(\n db,\n req.params?.query ?? '',\n req.params?.limit ?? 25,\n )\n return {\n feedGenerators: uris.map((uri) => ({ uri, score: 0 })),\n pageInfo: { cursor: cursor ?? '', hitsTotal: 0n },\n }\n },\n\n async getFeedGeneratorStatus() {\n throw new Error('unimplemented')\n },\n})\n\nconst searchFeedGeneratorsImpl = async (\n db: Database,\n query: string,\n limit: number,\n) => {\n const { ref } = db.db.dynamic\n const trimmed = query.trim()\n let builder = db.db\n .selectFrom('feed_generator')\n .if(!!trimmed, (q) => q.where('displayName', 'ilike', `%${trimmed}%`))\n .selectAll()\n const keyset = new TimeCidKeyset(\n ref('feed_generator.createdAt'),\n ref('feed_generator.cid'),\n )\n builder = paginate(builder, { limit, keyset })\n const feeds = await builder.execute()\n return {\n uris: feeds.map((f) => f.uri),\n cursor: keyset.packFromResult(feeds),\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/data-plane/server/routes/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;yBAQzB,IAAI,QAAQ,KAAG,OAAO,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAC;AAAnE,
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/data-plane/server/routes/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;yBAQzB,IAAI,QAAQ,KAAG,OAAO,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAC;AAAnE,wBAsKC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { IndexedAtDidKeyset, TimeCidKeyset, paginate, } from '../db/pagination.js';
|
|
2
2
|
import { parsePostSearchQuery } from '../util.js';
|
|
3
|
-
export default (db) =>
|
|
4
|
-
|
|
5
|
-
async searchActors(req) {
|
|
3
|
+
export default (db) => {
|
|
4
|
+
const searchActorsImpl = async (req) => {
|
|
6
5
|
const { term, limit, cursor } = req;
|
|
7
6
|
const { ref } = db.db.dynamic;
|
|
8
7
|
let builder = db.db
|
|
@@ -21,9 +20,8 @@ export default (db) => ({
|
|
|
21
20
|
dids: res.map((row) => row.did),
|
|
22
21
|
cursor: keyset.packFromResult(res),
|
|
23
22
|
};
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
async searchPosts(req) {
|
|
23
|
+
};
|
|
24
|
+
const searchPostsImpl = async (req) => {
|
|
27
25
|
const { term, limit, cursor } = req;
|
|
28
26
|
const { q, author } = parsePostSearchQuery(term);
|
|
29
27
|
let authorDid = author;
|
|
@@ -55,8 +53,8 @@ export default (db) => ({
|
|
|
55
53
|
uris: res.map((row) => row.uri),
|
|
56
54
|
cursor: keyset.packFromResult(res),
|
|
57
55
|
};
|
|
58
|
-
}
|
|
59
|
-
async
|
|
56
|
+
};
|
|
57
|
+
const searchStarterPacksImpl = async (req) => {
|
|
60
58
|
const { term, limit, cursor } = req;
|
|
61
59
|
const { ref } = db.db.dynamic;
|
|
62
60
|
let builder = db.db
|
|
@@ -71,13 +69,65 @@ export default (db) => ({
|
|
|
71
69
|
tryIndex: true,
|
|
72
70
|
});
|
|
73
71
|
const res = await builder.execute();
|
|
74
|
-
const cur = keyset.packFromResult(res);
|
|
75
72
|
return {
|
|
76
73
|
uris: res.map((row) => row.uri),
|
|
77
|
-
cursor:
|
|
74
|
+
cursor: keyset.packFromResult(res),
|
|
78
75
|
};
|
|
79
|
-
}
|
|
80
|
-
|
|
76
|
+
};
|
|
77
|
+
return {
|
|
78
|
+
// @TODO actor search endpoints still fall back to search service
|
|
79
|
+
searchActors: searchActorsImpl,
|
|
80
|
+
// @TODO post search endpoint still falls back to search service
|
|
81
|
+
searchPosts: searchPostsImpl,
|
|
82
|
+
searchStarterPacks: searchStarterPacksImpl,
|
|
83
|
+
// V2 endpoints reuse the V1 SQL for dev env and reshape the response.
|
|
84
|
+
async searchActorsV2(req) {
|
|
85
|
+
const { dids, cursor } = await searchActorsImpl({
|
|
86
|
+
term: req.params?.query ?? '',
|
|
87
|
+
limit: req.params?.limit ?? 25,
|
|
88
|
+
cursor: req.params?.cursor,
|
|
89
|
+
});
|
|
90
|
+
return {
|
|
91
|
+
actors: dids.map((did) => ({ did, score: 0 })),
|
|
92
|
+
pageInfo: { cursor: cursor ?? '', hitsTotal: 0n },
|
|
93
|
+
};
|
|
94
|
+
},
|
|
95
|
+
async searchActorsTypeahead(req) {
|
|
96
|
+
const { dids } = await searchActorsImpl({
|
|
97
|
+
term: req.query,
|
|
98
|
+
limit: req.limit || 10,
|
|
99
|
+
});
|
|
100
|
+
return {
|
|
101
|
+
actors: dids.map((did) => ({ did, score: 0 })),
|
|
102
|
+
};
|
|
103
|
+
},
|
|
104
|
+
async searchPostsV2(req) {
|
|
105
|
+
const author = req.filters?.authors?.[0];
|
|
106
|
+
const baseQuery = req.params?.query ?? '';
|
|
107
|
+
const term = author ? `${baseQuery} from:${author}` : baseQuery;
|
|
108
|
+
const { uris, cursor } = await searchPostsImpl({
|
|
109
|
+
term,
|
|
110
|
+
limit: req.params?.limit ?? 25,
|
|
111
|
+
cursor: req.params?.cursor,
|
|
112
|
+
});
|
|
113
|
+
return {
|
|
114
|
+
posts: uris.map((uri) => ({ uri, score: 0 })),
|
|
115
|
+
pageInfo: { cursor: cursor ?? '', hitsTotal: 0n },
|
|
116
|
+
};
|
|
117
|
+
},
|
|
118
|
+
async searchStarterPacksV2(req) {
|
|
119
|
+
const { uris, cursor } = await searchStarterPacksImpl({
|
|
120
|
+
term: req.params?.query ?? '',
|
|
121
|
+
limit: req.params?.limit ?? 25,
|
|
122
|
+
cursor: req.params?.cursor,
|
|
123
|
+
});
|
|
124
|
+
return {
|
|
125
|
+
starterPacks: uris.map((uri) => ({ uri, score: 0 })),
|
|
126
|
+
pageInfo: { cursor: cursor ?? '', hitsTotal: 0n },
|
|
127
|
+
};
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
};
|
|
81
131
|
// Remove leading @ in case a handle is input that way
|
|
82
132
|
const cleanQuery = (query) => query.trim().replace(/^@/g, '');
|
|
83
133
|
//# sourceMappingURL=search.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/data-plane/server/routes/search.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,QAAQ,GACT,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEjD,eAAe,CAAC,EAAY,EAAwC,EAAE,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/data-plane/server/routes/search.ts"],"names":[],"mappings":"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","sourcesContent":["import { ServiceImpl } from '@connectrpc/connect'\nimport { Service } from '../../../proto/bsky_connect.js'\nimport { Database } from '../db/index.js'\nimport {\n IndexedAtDidKeyset,\n TimeCidKeyset,\n paginate,\n} from '../db/pagination.js'\nimport { parsePostSearchQuery } from '../util.js'\n\nexport default (db: Database): Partial<ServiceImpl<typeof Service>> => {\n const searchActorsImpl = async (req: {\n term: string\n limit: number\n cursor?: string\n }) => {\n const { term, limit, cursor } = req\n const { ref } = db.db.dynamic\n let builder = db.db\n .selectFrom('actor')\n .where('actor.handle', 'like', `%${cleanQuery(term)}%`)\n .selectAll()\n\n const keyset = new IndexedAtDidKeyset(\n ref('actor.indexedAt'),\n ref('actor.did'),\n )\n builder = paginate(builder, {\n limit,\n cursor,\n keyset,\n tryIndex: true,\n })\n\n const res = await builder.execute()\n\n return {\n dids: res.map((row) => row.did),\n cursor: keyset.packFromResult(res),\n }\n }\n\n const searchPostsImpl = async (req: {\n term: string\n limit: number\n cursor?: string\n }) => {\n const { term, limit, cursor } = req\n const { q, author } = parsePostSearchQuery(term)\n\n let authorDid = author\n if (author && !author?.startsWith('did:')) {\n const res = await db.db\n .selectFrom('actor')\n .where('handle', '=', author)\n .selectAll()\n .executeTakeFirst()\n authorDid = res?.did\n }\n\n const { ref } = db.db.dynamic\n let builder = db.db\n .selectFrom('post')\n .where('post.text', 'like', `%${q}%`)\n .selectAll()\n\n if (authorDid) {\n builder = builder.where('post.creator', '=', authorDid)\n }\n\n const keyset = new TimeCidKeyset(ref('post.sortAt'), ref('post.cid'))\n builder = paginate(builder, {\n limit,\n cursor,\n keyset,\n tryIndex: true,\n })\n\n const res = await builder.execute()\n return {\n uris: res.map((row) => row.uri),\n cursor: keyset.packFromResult(res),\n }\n }\n\n const searchStarterPacksImpl = async (req: {\n term: string\n limit: number\n cursor?: string\n }) => {\n const { term, limit, cursor } = req\n const { ref } = db.db.dynamic\n let builder = db.db\n .selectFrom('starter_pack')\n .where('starter_pack.name', 'ilike', `%${term}%`)\n .selectAll()\n\n const keyset = new TimeCidKeyset(\n ref('starter_pack.sortAt'),\n ref('starter_pack.cid'),\n )\n\n builder = paginate(builder, {\n limit,\n cursor,\n keyset,\n tryIndex: true,\n })\n\n const res = await builder.execute()\n\n return {\n uris: res.map((row) => row.uri),\n cursor: keyset.packFromResult(res),\n }\n }\n\n return {\n // @TODO actor search endpoints still fall back to search service\n searchActors: searchActorsImpl,\n\n // @TODO post search endpoint still falls back to search service\n searchPosts: searchPostsImpl,\n\n searchStarterPacks: searchStarterPacksImpl,\n\n // V2 endpoints reuse the V1 SQL for dev env and reshape the response.\n async searchActorsV2(req) {\n const { dids, cursor } = await searchActorsImpl({\n term: req.params?.query ?? '',\n limit: req.params?.limit ?? 25,\n cursor: req.params?.cursor,\n })\n return {\n actors: dids.map((did) => ({ did, score: 0 })),\n pageInfo: { cursor: cursor ?? '', hitsTotal: 0n },\n }\n },\n\n async searchActorsTypeahead(req) {\n const { dids } = await searchActorsImpl({\n term: req.query,\n limit: req.limit || 10,\n })\n return {\n actors: dids.map((did) => ({ did, score: 0 })),\n }\n },\n\n async searchPostsV2(req) {\n const author = req.filters?.authors?.[0]\n const baseQuery = req.params?.query ?? ''\n const term = author ? `${baseQuery} from:${author}` : baseQuery\n const { uris, cursor } = await searchPostsImpl({\n term,\n limit: req.params?.limit ?? 25,\n cursor: req.params?.cursor,\n })\n return {\n posts: uris.map((uri) => ({ uri, score: 0 })),\n pageInfo: { cursor: cursor ?? '', hitsTotal: 0n },\n }\n },\n\n async searchStarterPacksV2(req) {\n const { uris, cursor } = await searchStarterPacksImpl({\n term: req.params?.query ?? '',\n limit: req.params?.limit ?? 25,\n cursor: req.params?.cursor,\n })\n return {\n starterPacks: uris.map((uri) => ({ uri, score: 0 })),\n pageInfo: { cursor: cursor ?? '', hitsTotal: 0n },\n }\n },\n }\n}\n\n// Remove leading @ in case a handle is input that way\nconst cleanQuery = (query: string) => query.trim().replace(/^@/g, '')\n"]}
|
|
@@ -11,6 +11,7 @@ export declare enum Gate {
|
|
|
11
11
|
SuggestedUsersForExploreEnable = "suggested_users:for_explore:enable",
|
|
12
12
|
SuggestedUsersForDiscoverEnable = "suggested_users:for_discover:enable",
|
|
13
13
|
SuggestedUsersForSeeMoreEnable = "suggested_users:for_see_more:enable",
|
|
14
|
+
SearchV2Enable = "search:v2:enable",
|
|
14
15
|
AATest = "aa-test-appview"
|
|
15
16
|
}
|
|
16
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../../src/feature-gates/gates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,IAAI;IACd,4BAA4B,0CAA0C;IACtE,+BAA+B,wCAAwC;IACvE,oCAAoC,6CAA6C;IACjF,gCAAgC,wCAAwC;IACxE,8BAA8B,uCAAuC;IACrE,+BAA+B,wCAAwC;IACvE,8BAA8B,wCAAwC;
|
|
1
|
+
{"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../../src/feature-gates/gates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,IAAI;IACd,4BAA4B,0CAA0C;IACtE,+BAA+B,wCAAwC;IACvE,oCAAoC,6CAA6C;IACjF,gCAAgC,wCAAwC;IACxE,8BAA8B,uCAAuC;IACrE,+BAA+B,wCAAwC;IACvE,8BAA8B,wCAAwC;IACtE,cAAc,qBAAqB;IAGnC,MAAM,oBAAoB;CAC3B;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,GAAG,CAAC,IAAI,CAAe,CAAA"}
|
|
@@ -12,6 +12,7 @@ export var Gate;
|
|
|
12
12
|
Gate["SuggestedUsersForExploreEnable"] = "suggested_users:for_explore:enable";
|
|
13
13
|
Gate["SuggestedUsersForDiscoverEnable"] = "suggested_users:for_discover:enable";
|
|
14
14
|
Gate["SuggestedUsersForSeeMoreEnable"] = "suggested_users:for_see_more:enable";
|
|
15
|
+
Gate["SearchV2Enable"] = "search:v2:enable";
|
|
15
16
|
// temp
|
|
16
17
|
Gate["AATest"] = "aa-test-appview";
|
|
17
18
|
})(Gate || (Gate = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gates.js","sourceRoot":"","sources":["../../src/feature-gates/gates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"gates.js","sourceRoot":"","sources":["../../src/feature-gates/gates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAN,IAAY,IAYX;AAZD,WAAY,IAAI;IACd,8EAAsE,CAAA;IACtE,+EAAuE,CAAA;IACvE,yFAAiF,CAAA;IACjF,gFAAwE,CAAA;IACxE,6EAAqE,CAAA;IACrE,+EAAuE,CAAA;IACvE,8EAAsE,CAAA;IACtE,2CAAmC,CAAA;IAEnC,OAAO;IACP,kCAA0B,CAAA;AAC5B,CAAC,EAZW,IAAI,KAAJ,IAAI,QAYf;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAc,IAAI,GAAG,CAAC,EAAE,CAAC,CAAA","sourcesContent":["/**\n * Enum of all gates in the system. This should be the single source of truth\n * for all gates, and should be used in all places where gates are checked or\n * defined.\n */\nexport enum Gate {\n SuggestedUsersDiscoverEnable = 'suggested_users:discover_agent:enable',\n SuggestedUsersSocialProofEnable = 'suggested_users:social_proof:enable',\n ThreadsReplyRankingExplorationEnable = 'threads:reply_ranking_exploration:enable',\n SearchFilteringExplorationEnable = 'search:filtering_exploration:enable',\n SuggestedUsersForExploreEnable = 'suggested_users:for_explore:enable',\n SuggestedUsersForDiscoverEnable = 'suggested_users:for_discover:enable',\n SuggestedUsersForSeeMoreEnable = 'suggested_users:for_see_more:enable',\n SearchV2Enable = 'search:v2:enable',\n\n // temp\n AATest = 'aa-test-appview',\n}\n\n/**\n * Set of gates that should be ignored when tracking gate evaluations for\n * analytics purposes. This is useful for gates that are not user-facing or are\n * overly noisy.\n */\nexport const IGNORE_METRICS_FOR_GATES: Set<Gate> = new Set([])\n"]}
|
|
@@ -10,8 +10,8 @@ export declare const $input: l.Payload<"application/json", l.ObjectSchema<{
|
|
|
10
10
|
}>>;
|
|
11
11
|
name: l.StringSchema<{
|
|
12
12
|
readonly minLength: 1;
|
|
13
|
-
readonly maxGraphemes:
|
|
14
|
-
readonly maxLength:
|
|
13
|
+
readonly maxGraphemes: 50;
|
|
14
|
+
readonly maxLength: 500;
|
|
15
15
|
}>;
|
|
16
16
|
}>>;
|
|
17
17
|
export type $Input<B = l.BinaryData> = l.InferPayload<typeof $input, B>;
|
|
@@ -28,8 +28,8 @@ declare const main: l.Procedure<"chat.bsky.group.createGroup", l.ParamsSchema<{}
|
|
|
28
28
|
}>>;
|
|
29
29
|
name: l.StringSchema<{
|
|
30
30
|
readonly minLength: 1;
|
|
31
|
-
readonly maxGraphemes:
|
|
32
|
-
readonly maxLength:
|
|
31
|
+
readonly maxGraphemes: 50;
|
|
32
|
+
readonly maxLength: 500;
|
|
33
33
|
}>;
|
|
34
34
|
}>>, l.Payload<"application/json", l.ObjectSchema<{
|
|
35
35
|
convo: l.RefSchema<l.Validator<ConvoDefs.ConvoView, ConvoDefs.ConvoView>>;
|
|
@@ -12,8 +12,8 @@ export const $input = /*#__PURE__*/ l.jsonPayload({
|
|
|
12
12
|
}),
|
|
13
13
|
name: /*#__PURE__*/ l.string({
|
|
14
14
|
minLength: 1,
|
|
15
|
-
maxGraphemes:
|
|
16
|
-
maxLength:
|
|
15
|
+
maxGraphemes: 50,
|
|
16
|
+
maxLength: 500,
|
|
17
17
|
}),
|
|
18
18
|
});
|
|
19
19
|
export const $output = /*#__PURE__*/ l.jsonPayload({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGroup.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/group/createGroup.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,MAAM,KAAK,GAAG,6BAA6B,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;AAI/C,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IAChD,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;QACxE,SAAS,EAAE,EAAE;KACd,CAAC;IACF,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3B,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"createGroup.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/group/createGroup.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,MAAM,KAAK,GAAG,6BAA6B,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;AAI/C,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IAChD,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;QACxE,SAAS,EAAE,EAAE;KACd,CAAC;IACF,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3B,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,GAAG;KACf,CAAC;CACH,CAAC,CAAA;AAKF,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IACjD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CACxB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAQ,CACnC;CACF,CAAC,CAAA;AAQF,yYAAyY;AACzY,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;IACtE,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,6BAA6B;IAC7B,qBAAqB;IACrB,mBAAmB;IACnB,mBAAmB;CACpB,CAAC,CAAA;AAEF,OAAO,EAAE,IAAI,EAAE,CAAA;AAEf,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\nimport * as ConvoDefs from '../convo/defs.defs.js'\n\nconst $nsid = 'chat.bsky.group.createGroup'\n\nexport { $nsid }\n\nexport const $params = /*#__PURE__*/ l.params()\n\nexport type $Params = l.InferOutput<typeof $params>\n\nexport const $input = /*#__PURE__*/ l.jsonPayload({\n members: /*#__PURE__*/ l.array(/*#__PURE__*/ l.string({ format: 'did' }), {\n maxLength: 49,\n }),\n name: /*#__PURE__*/ l.string({\n minLength: 1,\n maxGraphemes: 50,\n maxLength: 500,\n }),\n})\n\nexport type $Input<B = l.BinaryData> = l.InferPayload<typeof $input, B>\nexport type $InputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $input, B>\n\nexport const $output = /*#__PURE__*/ l.jsonPayload({\n convo: /*#__PURE__*/ l.ref<ConvoDefs.ConvoView>(\n (() => ConvoDefs.convoView) as any,\n ),\n})\n\nexport type $Output<B = l.BinaryData> = l.InferPayload<typeof $output, B>\nexport type $OutputBody<B = l.BinaryData> = l.InferPayloadBody<\n typeof $output,\n B\n>\n\n/** [NOTE: This is under active development and should be considered unstable while this note is here]. Creates a group convo, specifying the members to be added to it. Unlike getConvoForMembers, this isn't idempotent. It will create new groups even if the membership is identical to pre-existing groups. Will create 'pending' membership for all members, except the owner who is 'accepted'. */\nconst main = /*#__PURE__*/ l.procedure($nsid, $params, $input, $output, [\n 'AccountSuspended',\n 'BlockedActor',\n 'BlockedSubject',\n 'NewAccountCannotCreateGroup',\n 'NotFollowedBySender',\n 'RecipientNotFound',\n 'UserForbidsGroups',\n])\n\nexport { main }\n\nexport const $lxm = $nsid\n"]}
|
|
@@ -15,6 +15,7 @@ declare const joinRule: l.StringSchema<{
|
|
|
15
15
|
knownValues: ["anyone", "followedByOwner"];
|
|
16
16
|
}>;
|
|
17
17
|
export { joinRule };
|
|
18
|
+
/** Join link view to be used within a group view, so the convo is surrounding, not specified inside this view. */
|
|
18
19
|
type JoinLinkView = {
|
|
19
20
|
$type?: 'chat.bsky.group.defs#joinLinkView';
|
|
20
21
|
code: string;
|
|
@@ -24,10 +25,13 @@ type JoinLinkView = {
|
|
|
24
25
|
createdAt: l.DatetimeString;
|
|
25
26
|
};
|
|
26
27
|
export type { JoinLinkView };
|
|
28
|
+
/** Join link view to be used within a group view, so the convo is surrounding, not specified inside this view. */
|
|
27
29
|
declare const joinLinkView: l.TypedObjectSchema<"chat.bsky.group.defs#joinLinkView", l.Validator<JoinLinkView, JoinLinkView>>;
|
|
28
30
|
export { joinLinkView };
|
|
31
|
+
/** Preview that can be shown in feeds, including to unauthenticated viewers. */
|
|
29
32
|
type JoinLinkPreviewView = {
|
|
30
33
|
$type?: 'chat.bsky.group.defs#joinLinkPreviewView';
|
|
34
|
+
convoId: string;
|
|
31
35
|
code: string;
|
|
32
36
|
name: string;
|
|
33
37
|
owner: ActorDefs.ProfileViewBasic;
|
|
@@ -43,6 +47,7 @@ type JoinLinkPreviewView = {
|
|
|
43
47
|
viewer?: JoinLinkViewerState;
|
|
44
48
|
};
|
|
45
49
|
export type { JoinLinkPreviewView };
|
|
50
|
+
/** Preview that can be shown in feeds, including to unauthenticated viewers. */
|
|
46
51
|
declare const joinLinkPreviewView: l.TypedObjectSchema<"chat.bsky.group.defs#joinLinkPreviewView", l.Validator<JoinLinkPreviewView, JoinLinkPreviewView>>;
|
|
47
52
|
export { joinLinkPreviewView };
|
|
48
53
|
type JoinLinkViewerState = {
|
|
@@ -52,6 +57,7 @@ type JoinLinkViewerState = {
|
|
|
52
57
|
export type { JoinLinkViewerState };
|
|
53
58
|
declare const joinLinkViewerState: l.TypedObjectSchema<"chat.bsky.group.defs#joinLinkViewerState", l.Validator<JoinLinkViewerState, JoinLinkViewerState>>;
|
|
54
59
|
export { joinLinkViewerState };
|
|
60
|
+
/** A join request from the perspective of the group owner. */
|
|
55
61
|
type JoinRequestView = {
|
|
56
62
|
$type?: 'chat.bsky.group.defs#joinRequestView';
|
|
57
63
|
convoId: string;
|
|
@@ -59,6 +65,7 @@ type JoinRequestView = {
|
|
|
59
65
|
requestedAt: l.DatetimeString;
|
|
60
66
|
};
|
|
61
67
|
export type { JoinRequestView };
|
|
68
|
+
/** A join request from the perspective of the group owner. */
|
|
62
69
|
declare const joinRequestView: l.TypedObjectSchema<"chat.bsky.group.defs#joinRequestView", l.Validator<JoinRequestView, JoinRequestView>>;
|
|
63
70
|
export { joinRequestView };
|
|
64
71
|
/** A join request from the perspective of the requester, including enough group context to render the request in a list (e.g. group name, owner, member count). */
|
|
@@ -69,7 +76,7 @@ type JoinRequestConvoView = {
|
|
|
69
76
|
owner: ActorDefs.ProfileViewBasic;
|
|
70
77
|
memberCount: number;
|
|
71
78
|
memberLimit: number;
|
|
72
|
-
|
|
79
|
+
viewer: JoinLinkViewerState;
|
|
73
80
|
};
|
|
74
81
|
export type { JoinRequestConvoView };
|
|
75
82
|
/** A join request from the perspective of the requester, including enough group context to render the request in a list (e.g. group name, owner, member count). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/group/defs.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,QAAA,MAAM,KAAK,yBAAyB,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,KAAK,iBAAiB,GAAG,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,aAAa,CAAA;AAEjE,YAAY,EAAE,iBAAiB,EAAE,CAAA;AAEjC,QAAA,MAAM,iBAAiB;;EAEnB,CAAA;AAEJ,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAE5B,KAAK,QAAQ,GAAG,QAAQ,GAAG,iBAAiB,GAAG,CAAC,CAAC,aAAa,CAAA;AAE9D,YAAY,EAAE,QAAQ,EAAE,CAAA;AAExB,QAAA,MAAM,QAAQ;;EAEV,CAAA;AAEJ,OAAO,EAAE,QAAQ,EAAE,CAAA;AAEnB,KAAK,YAAY,GAAG;IAClB,KAAK,CAAC,EAAE,mCAAmC,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,iBAAiB,CAAA;IAChC,eAAe,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,CAAC,CAAC,cAAc,CAAA;CAC5B,CAAA;AAED,YAAY,EAAE,YAAY,EAAE,CAAA;AAE5B,QAAA,MAAM,YAAY,mGAYjB,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,CAAA;AAEvB,KAAK,mBAAmB,GAAG;IACzB,KAAK,CAAC,EAAE,0CAA0C,CAAA;IAClD,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,CAAC,gBAAgB,CAAA;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,QAAQ,CAAA;IAClB,aAAa,EAAE,iBAAiB,CAAA;IAEhC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAA;IAC3B,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAC7B,CAAA;AAED,YAAY,EAAE,mBAAmB,EAAE,CAAA;AAEnC,QAAA,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"defs.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/group/defs.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,QAAA,MAAM,KAAK,yBAAyB,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,KAAK,iBAAiB,GAAG,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,aAAa,CAAA;AAEjE,YAAY,EAAE,iBAAiB,EAAE,CAAA;AAEjC,QAAA,MAAM,iBAAiB;;EAEnB,CAAA;AAEJ,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAE5B,KAAK,QAAQ,GAAG,QAAQ,GAAG,iBAAiB,GAAG,CAAC,CAAC,aAAa,CAAA;AAE9D,YAAY,EAAE,QAAQ,EAAE,CAAA;AAExB,QAAA,MAAM,QAAQ;;EAEV,CAAA;AAEJ,OAAO,EAAE,QAAQ,EAAE,CAAA;AAEnB,kHAAkH;AAClH,KAAK,YAAY,GAAG;IAClB,KAAK,CAAC,EAAE,mCAAmC,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,iBAAiB,CAAA;IAChC,eAAe,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,CAAC,CAAC,cAAc,CAAA;CAC5B,CAAA;AAED,YAAY,EAAE,YAAY,EAAE,CAAA;AAE5B,kHAAkH;AAClH,QAAA,MAAM,YAAY,mGAYjB,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,CAAA;AAEvB,gFAAgF;AAChF,KAAK,mBAAmB,GAAG;IACzB,KAAK,CAAC,EAAE,0CAA0C,CAAA;IAClD,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,CAAC,gBAAgB,CAAA;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,QAAQ,CAAA;IAClB,aAAa,EAAE,iBAAiB,CAAA;IAEhC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAA;IAC3B,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAC7B,CAAA;AAED,YAAY,EAAE,mBAAmB,EAAE,CAAA;AAEnC,gFAAgF;AAChF,QAAA,MAAM,mBAAmB,wHA4BxB,CAAA;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAE9B,KAAK,mBAAmB,GAAG;IACzB,KAAK,CAAC,EAAE,0CAA0C,CAAA;IAClD,WAAW,CAAC,EAAE,CAAC,CAAC,cAAc,CAAA;CAC/B,CAAA;AAED,YAAY,EAAE,mBAAmB,EAAE,CAAA;AAEnC,QAAA,MAAM,mBAAmB,wHAQxB,CAAA;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAE9B,8DAA8D;AAC9D,KAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,sCAAsC,CAAA;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,SAAS,CAAC,gBAAgB,CAAA;IACvC,WAAW,EAAE,CAAC,CAAC,cAAc,CAAA;CAC9B,CAAA;AAED,YAAY,EAAE,eAAe,EAAE,CAAA;AAE/B,8DAA8D;AAC9D,QAAA,MAAM,eAAe,4GAUpB,CAAA;AAED,OAAO,EAAE,eAAe,EAAE,CAAA;AAE1B,mKAAmK;AACnK,KAAK,oBAAoB,GAAG;IAC1B,KAAK,CAAC,EAAE,2CAA2C,CAAA;IACnD,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,CAAC,gBAAgB,CAAA;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,mBAAmB,CAAA;CAC5B,CAAA;AAED,YAAY,EAAE,oBAAoB,EAAE,CAAA;AAEpC,mKAAmK;AACnK,QAAA,MAAM,oBAAoB,2HAezB,CAAA;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAA"}
|
|
@@ -10,6 +10,7 @@ const linkEnabledStatus = /*#__PURE__*/ l.string();
|
|
|
10
10
|
export { linkEnabledStatus };
|
|
11
11
|
const joinRule = /*#__PURE__*/ l.string();
|
|
12
12
|
export { joinRule };
|
|
13
|
+
/** Join link view to be used within a group view, so the convo is surrounding, not specified inside this view. */
|
|
13
14
|
const joinLinkView = /*#__PURE__*/ l.typedObject($nsid, 'joinLinkView',
|
|
14
15
|
/*#__PURE__*/ l.object({
|
|
15
16
|
code: /*#__PURE__*/ l.string(),
|
|
@@ -19,8 +20,10 @@ const joinLinkView = /*#__PURE__*/ l.typedObject($nsid, 'joinLinkView',
|
|
|
19
20
|
createdAt: /*#__PURE__*/ l.string({ format: 'datetime' }),
|
|
20
21
|
}));
|
|
21
22
|
export { joinLinkView };
|
|
23
|
+
/** Preview that can be shown in feeds, including to unauthenticated viewers. */
|
|
22
24
|
const joinLinkPreviewView = /*#__PURE__*/ l.typedObject($nsid, 'joinLinkPreviewView',
|
|
23
25
|
/*#__PURE__*/ l.object({
|
|
26
|
+
convoId: /*#__PURE__*/ l.string(),
|
|
24
27
|
code: /*#__PURE__*/ l.string(),
|
|
25
28
|
name: /*#__PURE__*/ l.string(),
|
|
26
29
|
owner: /*#__PURE__*/ l.ref((() => ActorDefs.profileViewBasic)),
|
|
@@ -41,6 +44,7 @@ const joinLinkViewerState = /*#__PURE__*/ l.typedObject($nsid, 'joinLinkViewerSt
|
|
|
41
44
|
/*#__PURE__*/ l.string({ format: 'datetime' })),
|
|
42
45
|
}));
|
|
43
46
|
export { joinLinkViewerState };
|
|
47
|
+
/** A join request from the perspective of the group owner. */
|
|
44
48
|
const joinRequestView = /*#__PURE__*/ l.typedObject($nsid, 'joinRequestView',
|
|
45
49
|
/*#__PURE__*/ l.object({
|
|
46
50
|
convoId: /*#__PURE__*/ l.string(),
|
|
@@ -56,7 +60,7 @@ const joinRequestConvoView = /*#__PURE__*/ l.typedObject($nsid, 'joinRequestConv
|
|
|
56
60
|
owner: /*#__PURE__*/ l.ref((() => ActorDefs.profileViewBasic)),
|
|
57
61
|
memberCount: /*#__PURE__*/ l.integer(),
|
|
58
62
|
memberLimit: /*#__PURE__*/ l.integer(),
|
|
59
|
-
|
|
63
|
+
viewer: /*#__PURE__*/ l.ref((() => joinLinkViewerState)),
|
|
60
64
|
}));
|
|
61
65
|
export { joinRequestConvoView };
|
|
62
66
|
//# sourceMappingURL=defs.defs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/group/defs.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,MAAM,KAAK,GAAG,sBAAsB,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,CAAA;AAMhB,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAE5C,CAAA;AAEJ,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAM5B,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAEnC,CAAA;AAEJ,OAAO,EAAE,QAAQ,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"defs.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/group/defs.defs.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\nimport * as ActorDefs from '../actor/defs.defs.js'\nimport * as ConvoDefs from '../convo/defs.defs.js'\n\nconst $nsid = 'chat.bsky.group.defs'\n\nexport { $nsid }\n\ntype LinkEnabledStatus = 'enabled' | 'disabled' | l.UnknownString\n\nexport type { LinkEnabledStatus }\n\nconst linkEnabledStatus = /*#__PURE__*/ l.string<{\n knownValues: ['enabled', 'disabled']\n}>()\n\nexport { linkEnabledStatus }\n\ntype JoinRule = 'anyone' | 'followedByOwner' | l.UnknownString\n\nexport type { JoinRule }\n\nconst joinRule = /*#__PURE__*/ l.string<{\n knownValues: ['anyone', 'followedByOwner']\n}>()\n\nexport { joinRule }\n\n/** Join link view to be used within a group view, so the convo is surrounding, not specified inside this view. */\ntype JoinLinkView = {\n $type?: 'chat.bsky.group.defs#joinLinkView'\n code: string\n enabledStatus: LinkEnabledStatus\n requireApproval: boolean\n joinRule: JoinRule\n createdAt: l.DatetimeString\n}\n\nexport type { JoinLinkView }\n\n/** Join link view to be used within a group view, so the convo is surrounding, not specified inside this view. */\nconst joinLinkView = /*#__PURE__*/ l.typedObject<JoinLinkView>(\n $nsid,\n 'joinLinkView',\n /*#__PURE__*/ l.object({\n code: /*#__PURE__*/ l.string(),\n enabledStatus: /*#__PURE__*/ l.ref<LinkEnabledStatus>(\n (() => linkEnabledStatus) as any,\n ),\n requireApproval: /*#__PURE__*/ l.boolean(),\n joinRule: /*#__PURE__*/ l.ref<JoinRule>((() => joinRule) as any),\n createdAt: /*#__PURE__*/ l.string({ format: 'datetime' }),\n }),\n)\n\nexport { joinLinkView }\n\n/** Preview that can be shown in feeds, including to unauthenticated viewers. */\ntype JoinLinkPreviewView = {\n $type?: 'chat.bsky.group.defs#joinLinkPreviewView'\n convoId: string\n code: string\n name: string\n owner: ActorDefs.ProfileViewBasic\n memberCount: number\n memberLimit: number\n requireApproval: boolean\n joinRule: JoinRule\n enabledStatus: LinkEnabledStatus\n\n /**\n * Present only if the request is authenticated and the user is a member of the group.\n */\n convo?: ConvoDefs.ConvoView\n viewer?: JoinLinkViewerState\n}\n\nexport type { JoinLinkPreviewView }\n\n/** Preview that can be shown in feeds, including to unauthenticated viewers. */\nconst joinLinkPreviewView = /*#__PURE__*/ l.typedObject<JoinLinkPreviewView>(\n $nsid,\n 'joinLinkPreviewView',\n /*#__PURE__*/ l.object({\n convoId: /*#__PURE__*/ l.string(),\n code: /*#__PURE__*/ l.string(),\n name: /*#__PURE__*/ l.string(),\n owner: /*#__PURE__*/ l.ref<ActorDefs.ProfileViewBasic>(\n (() => ActorDefs.profileViewBasic) as any,\n ),\n memberCount: /*#__PURE__*/ l.integer(),\n memberLimit: /*#__PURE__*/ l.integer(),\n requireApproval: /*#__PURE__*/ l.boolean(),\n joinRule: /*#__PURE__*/ l.ref<JoinRule>((() => joinRule) as any),\n enabledStatus: /*#__PURE__*/ l.ref<LinkEnabledStatus>(\n (() => linkEnabledStatus) as any,\n ),\n convo: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.ref<ConvoDefs.ConvoView>(\n (() => ConvoDefs.convoView) as any,\n ),\n ),\n viewer: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.ref<JoinLinkViewerState>(\n (() => joinLinkViewerState) as any,\n ),\n ),\n }),\n)\n\nexport { joinLinkPreviewView }\n\ntype JoinLinkViewerState = {\n $type?: 'chat.bsky.group.defs#joinLinkViewerState'\n requestedAt?: l.DatetimeString\n}\n\nexport type { JoinLinkViewerState }\n\nconst joinLinkViewerState = /*#__PURE__*/ l.typedObject<JoinLinkViewerState>(\n $nsid,\n 'joinLinkViewerState',\n /*#__PURE__*/ l.object({\n requestedAt: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.string({ format: 'datetime' }),\n ),\n }),\n)\n\nexport { joinLinkViewerState }\n\n/** A join request from the perspective of the group owner. */\ntype JoinRequestView = {\n $type?: 'chat.bsky.group.defs#joinRequestView'\n convoId: string\n requestedBy: ActorDefs.ProfileViewBasic\n requestedAt: l.DatetimeString\n}\n\nexport type { JoinRequestView }\n\n/** A join request from the perspective of the group owner. */\nconst joinRequestView = /*#__PURE__*/ l.typedObject<JoinRequestView>(\n $nsid,\n 'joinRequestView',\n /*#__PURE__*/ l.object({\n convoId: /*#__PURE__*/ l.string(),\n requestedBy: /*#__PURE__*/ l.ref<ActorDefs.ProfileViewBasic>(\n (() => ActorDefs.profileViewBasic) as any,\n ),\n requestedAt: /*#__PURE__*/ l.string({ format: 'datetime' }),\n }),\n)\n\nexport { joinRequestView }\n\n/** A join request from the perspective of the requester, including enough group context to render the request in a list (e.g. group name, owner, member count). */\ntype JoinRequestConvoView = {\n $type?: 'chat.bsky.group.defs#joinRequestConvoView'\n convoId: string\n name: string\n owner: ActorDefs.ProfileViewBasic\n memberCount: number\n memberLimit: number\n viewer: JoinLinkViewerState\n}\n\nexport type { JoinRequestConvoView }\n\n/** A join request from the perspective of the requester, including enough group context to render the request in a list (e.g. group name, owner, member count). */\nconst joinRequestConvoView = /*#__PURE__*/ l.typedObject<JoinRequestConvoView>(\n $nsid,\n 'joinRequestConvoView',\n /*#__PURE__*/ l.object({\n convoId: /*#__PURE__*/ l.string(),\n name: /*#__PURE__*/ l.string(),\n owner: /*#__PURE__*/ l.ref<ActorDefs.ProfileViewBasic>(\n (() => ActorDefs.profileViewBasic) as any,\n ),\n memberCount: /*#__PURE__*/ l.integer(),\n memberLimit: /*#__PURE__*/ l.integer(),\n viewer: /*#__PURE__*/ l.ref<JoinLinkViewerState>(\n (() => joinLinkViewerState) as any,\n ),\n }),\n)\n\nexport { joinRequestConvoView }\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClearActorMutelistSubscriptionsRequest, ClearActorMutelistSubscriptionsResponse, ClearActorMutesRequest, ClearActorMutesResponse, ClearThreadMutesRequest, ClearThreadMutesResponse, CreateActorMutelistSubscriptionRequest, CreateActorMutelistSubscriptionResponse, CreateActorMuteRequest, CreateActorMuteResponse, CreateThreadMuteRequest, CreateThreadMuteResponse, DeleteActorMutelistSubscriptionRequest, DeleteActorMutelistSubscriptionResponse, DeleteActorMuteRequest, DeleteActorMuteResponse, DeleteThreadMuteRequest, DeleteThreadMuteResponse, GetActivitySubscriptionDidsRequest, GetActivitySubscriptionDidsResponse, GetActivitySubscriptionsByActorAndSubjectsRequest, GetActivitySubscriptionsByActorAndSubjectsResponse, GetActorBookmarksRequest, GetActorBookmarksResponse, GetActorChatDeclarationRecordsRequest, GetActorChatDeclarationRecordsResponse, GetActorDraftsRequest, GetActorDraftsResponse, GetActorFeedsRequest, GetActorFeedsResponse, GetActorFollowsActorsRequest, GetActorFollowsActorsResponse, GetActorLikesRequest, GetActorLikesResponse, GetActorListsRequest, GetActorListsResponse, GetActorMutesActorRequest, GetActorMutesActorResponse, GetActorMutesActorViaListRequest, GetActorMutesActorViaListResponse, GetActorRepostsRequest, GetActorRepostsResponse, GetActorsRequest, GetActorsResponse, GetActorStarterPacksRequest, GetActorStarterPacksResponse, GetActorTakedownRequest, GetActorTakedownResponse, GetAllLabelersRequest, GetAllLabelersResponse, GetAuthorFeedRequest, GetAuthorFeedResponse, GetBidirectionalBlockRequest, GetBidirectionalBlockResponse, GetBidirectionalBlockViaListRequest, GetBidirectionalBlockViaListResponse, GetBlobTakedownRequest, GetBlobTakedownResponse, GetBlockExistenceRequest, GetBlockExistenceResponse, GetBlocklistSubscriptionRequest, GetBlocklistSubscriptionResponse, GetBlocklistSubscriptionsRequest, GetBlocklistSubscriptionsResponse, GetBlockRecordsRequest, GetBlockRecordsResponse, GetBlocksRequest, GetBlocksResponse, GetBookmarksByActorAndSubjectsRequest, GetBookmarksByActorAndSubjectsResponse, GetCountsForUsersRequest, GetCountsForUsersResponse, GetDidsByHandlesRequest, GetDidsByHandlesResponse, GetFeedGeneratorRecordsRequest, GetFeedGeneratorRecordsResponse, GetFeedGeneratorStatusRequest, GetFeedGeneratorStatusResponse, GetFollowersRequest, GetFollowersResponse, GetFollowRecordsRequest, GetFollowRecordsResponse, GetFollowsFollowingRequest, GetFollowsFollowingResponse, GetFollowsRequest, GetFollowsResponse, GetFollowSuggestionsRequest, GetFollowSuggestionsResponse, GetGermDeclarationRecordsRequest, GetGermDeclarationRecordsResponse, GetIdentityByDidRequest, GetIdentityByDidResponse, GetIdentityByHandleRequest, GetIdentityByHandleResponse, GetInteractionCountsRequest, GetInteractionCountsResponse, GetLabelerRecordsRequest, GetLabelerRecordsResponse, GetLabelsRequest, GetLabelsResponse, GetLatestRevRequest, GetLatestRevResponse, GetLikeRecordsRequest, GetLikeRecordsResponse, GetLikesByActorAndSubjectsRequest, GetLikesByActorAndSubjectsResponse, GetLikesBySubjectRequest, GetLikesBySubjectResponse, GetLikesBySubjectSortedRequest, GetLikesBySubjectSortedResponse, GetListBlockRecordsRequest, GetListBlockRecordsResponse, GetListCountRequest, GetListCountResponse, GetListCountsRequest, GetListCountsResponse, GetListFeedRequest, GetListFeedResponse, GetListItemRecordsRequest, GetListItemRecordsResponse, GetListMembershipRequest, GetListMembershipResponse, GetListMembersRequest, GetListMembersResponse, GetListRecordsRequest, GetListRecordsResponse, GetMutelistSubscriptionRequest, GetMutelistSubscriptionResponse, GetMutelistSubscriptionsRequest, GetMutelistSubscriptionsResponse, GetMutesRequest, GetMutesResponse, GetNewUserCountForRangeRequest, GetNewUserCountForRangeResponse, GetNotificationDeclarationRecordsRequest, GetNotificationDeclarationRecordsResponse, GetNotificationPreferencesRequest, GetNotificationPreferencesResponse, GetNotificationSeenRequest, GetNotificationSeenResponse, GetNotificationsRequest, GetNotificationsResponse, GetPostgateRecordsRequest, GetPostgateRecordsResponse, GetPostRecordsRequest, GetPostRecordsResponse, GetProfileRecordsRequest, GetProfileRecordsResponse, GetQuotesBySubjectSortedRequest, GetQuotesBySubjectSortedResponse, GetRecordTakedownRequest, GetRecordTakedownResponse, GetRelationshipsRequest, GetRelationshipsResponse, GetRepostRecordsRequest, GetRepostRecordsResponse, GetRepostsByActorAndSubjectsRequest, GetRepostsByActorAndSubjectsResponse, GetRepostsBySubjectRequest, GetRepostsBySubjectResponse, GetSitemapIndexRequest, GetSitemapIndexResponse, GetSitemapPageRequest, GetSitemapPageResponse, GetSiteStandardRecordsByRefRequest, GetSiteStandardRecordsByRefResponse, GetSiteStandardRecordsByURIRequest, GetSiteStandardRecordsByURIResponse, GetStarterPackCountsRequest, GetStarterPackCountsResponse, GetStarterPackRecordsRequest, GetStarterPackRecordsResponse, GetStatusRecordsRequest, GetStatusRecordsResponse, GetSuggestedEntitiesRequest, GetSuggestedEntitiesResponse, GetSuggestedFeedsRequest, GetSuggestedFeedsResponse, GetThreadGateRecordsRequest, GetThreadGateRecordsResponse, GetThreadMutesOnSubjectsRequest, GetThreadMutesOnSubjectsResponse, GetThreadRequest, GetThreadResponse, GetTimelineRequest, GetTimelineResponse, GetUnreadNotificationCountRequest, GetUnreadNotificationCountResponse, GetVerificationRecordsRequest, GetVerificationRecordsResponse, GetVerificationsIssuedRequest, GetVerificationsIssuedResponse, GetVerificationsReceivedRequest, GetVerificationsReceivedResponse, PingRequest, PingResponse, SearchActorsRequest, SearchActorsResponse, SearchFeedGeneratorsRequest, SearchFeedGeneratorsResponse, SearchPostsRequest, SearchPostsResponse, SearchStarterPacksRequest, SearchStarterPacksResponse, TakedownActorRequest, TakedownActorResponse, TakedownBlobRequest, TakedownBlobResponse, TakedownRecordRequest, TakedownRecordResponse, UntakedownActorRequest, UntakedownActorResponse, UntakedownBlobRequest, UntakedownBlobResponse, UntakedownRecordRequest, UntakedownRecordResponse, UpdateActorUpstreamStatusRequest, UpdateActorUpstreamStatusResponse, UpdateNotificationSeenRequest, UpdateNotificationSeenResponse } from "./bsky_pb.js";
|
|
1
|
+
import { ClearActorMutelistSubscriptionsRequest, ClearActorMutelistSubscriptionsResponse, ClearActorMutesRequest, ClearActorMutesResponse, ClearThreadMutesRequest, ClearThreadMutesResponse, CreateActorMutelistSubscriptionRequest, CreateActorMutelistSubscriptionResponse, CreateActorMuteRequest, CreateActorMuteResponse, CreateThreadMuteRequest, CreateThreadMuteResponse, DeleteActorMutelistSubscriptionRequest, DeleteActorMutelistSubscriptionResponse, DeleteActorMuteRequest, DeleteActorMuteResponse, DeleteThreadMuteRequest, DeleteThreadMuteResponse, GetActivitySubscriptionDidsRequest, GetActivitySubscriptionDidsResponse, GetActivitySubscriptionsByActorAndSubjectsRequest, GetActivitySubscriptionsByActorAndSubjectsResponse, GetActorBookmarksRequest, GetActorBookmarksResponse, GetActorChatDeclarationRecordsRequest, GetActorChatDeclarationRecordsResponse, GetActorDraftsRequest, GetActorDraftsResponse, GetActorFeedsRequest, GetActorFeedsResponse, GetActorFollowsActorsRequest, GetActorFollowsActorsResponse, GetActorLikesRequest, GetActorLikesResponse, GetActorListsRequest, GetActorListsResponse, GetActorMutesActorRequest, GetActorMutesActorResponse, GetActorMutesActorViaListRequest, GetActorMutesActorViaListResponse, GetActorRepostsRequest, GetActorRepostsResponse, GetActorsRequest, GetActorsResponse, GetActorStarterPacksRequest, GetActorStarterPacksResponse, GetActorTakedownRequest, GetActorTakedownResponse, GetAllLabelersRequest, GetAllLabelersResponse, GetAuthorFeedRequest, GetAuthorFeedResponse, GetBidirectionalBlockRequest, GetBidirectionalBlockResponse, GetBidirectionalBlockViaListRequest, GetBidirectionalBlockViaListResponse, GetBlobTakedownRequest, GetBlobTakedownResponse, GetBlockExistenceRequest, GetBlockExistenceResponse, GetBlocklistSubscriptionRequest, GetBlocklistSubscriptionResponse, GetBlocklistSubscriptionsRequest, GetBlocklistSubscriptionsResponse, GetBlockRecordsRequest, GetBlockRecordsResponse, GetBlocksRequest, GetBlocksResponse, GetBookmarksByActorAndSubjectsRequest, GetBookmarksByActorAndSubjectsResponse, GetCountsForUsersRequest, GetCountsForUsersResponse, GetDidsByHandlesRequest, GetDidsByHandlesResponse, GetFeedGeneratorRecordsRequest, GetFeedGeneratorRecordsResponse, GetFeedGeneratorStatusRequest, GetFeedGeneratorStatusResponse, GetFollowersRequest, GetFollowersResponse, GetFollowRecordsRequest, GetFollowRecordsResponse, GetFollowsFollowingRequest, GetFollowsFollowingResponse, GetFollowsRequest, GetFollowsResponse, GetFollowSuggestionsRequest, GetFollowSuggestionsResponse, GetGermDeclarationRecordsRequest, GetGermDeclarationRecordsResponse, GetIdentityByDidRequest, GetIdentityByDidResponse, GetIdentityByHandleRequest, GetIdentityByHandleResponse, GetInteractionCountsRequest, GetInteractionCountsResponse, GetLabelerRecordsRequest, GetLabelerRecordsResponse, GetLabelsRequest, GetLabelsResponse, GetLatestRevRequest, GetLatestRevResponse, GetLikeRecordsRequest, GetLikeRecordsResponse, GetLikesByActorAndSubjectsRequest, GetLikesByActorAndSubjectsResponse, GetLikesBySubjectRequest, GetLikesBySubjectResponse, GetLikesBySubjectSortedRequest, GetLikesBySubjectSortedResponse, GetListBlockRecordsRequest, GetListBlockRecordsResponse, GetListCountRequest, GetListCountResponse, GetListCountsRequest, GetListCountsResponse, GetListFeedRequest, GetListFeedResponse, GetListItemRecordsRequest, GetListItemRecordsResponse, GetListMembershipRequest, GetListMembershipResponse, GetListMembersRequest, GetListMembersResponse, GetListRecordsRequest, GetListRecordsResponse, GetMutelistSubscriptionRequest, GetMutelistSubscriptionResponse, GetMutelistSubscriptionsRequest, GetMutelistSubscriptionsResponse, GetMutesRequest, GetMutesResponse, GetNewUserCountForRangeRequest, GetNewUserCountForRangeResponse, GetNotificationDeclarationRecordsRequest, GetNotificationDeclarationRecordsResponse, GetNotificationPreferencesRequest, GetNotificationPreferencesResponse, GetNotificationSeenRequest, GetNotificationSeenResponse, GetNotificationsRequest, GetNotificationsResponse, GetPostgateRecordsRequest, GetPostgateRecordsResponse, GetPostRecordsRequest, GetPostRecordsResponse, GetProfileRecordsRequest, GetProfileRecordsResponse, GetQuotesBySubjectSortedRequest, GetQuotesBySubjectSortedResponse, GetRecordTakedownRequest, GetRecordTakedownResponse, GetRelationshipsRequest, GetRelationshipsResponse, GetRepostRecordsRequest, GetRepostRecordsResponse, GetRepostsByActorAndSubjectsRequest, GetRepostsByActorAndSubjectsResponse, GetRepostsBySubjectRequest, GetRepostsBySubjectResponse, GetSitemapIndexRequest, GetSitemapIndexResponse, GetSitemapPageRequest, GetSitemapPageResponse, GetSiteStandardRecordsByRefRequest, GetSiteStandardRecordsByRefResponse, GetSiteStandardRecordsByURIRequest, GetSiteStandardRecordsByURIResponse, GetStarterPackCountsRequest, GetStarterPackCountsResponse, GetStarterPackRecordsRequest, GetStarterPackRecordsResponse, GetStatusRecordsRequest, GetStatusRecordsResponse, GetSuggestedEntitiesRequest, GetSuggestedEntitiesResponse, GetSuggestedFeedsRequest, GetSuggestedFeedsResponse, GetThreadGateRecordsRequest, GetThreadGateRecordsResponse, GetThreadMutesOnSubjectsRequest, GetThreadMutesOnSubjectsResponse, GetThreadRequest, GetThreadResponse, GetTimelineRequest, GetTimelineResponse, GetUnreadNotificationCountRequest, GetUnreadNotificationCountResponse, GetVerificationRecordsRequest, GetVerificationRecordsResponse, GetVerificationsIssuedRequest, GetVerificationsIssuedResponse, GetVerificationsReceivedRequest, GetVerificationsReceivedResponse, PingRequest, PingResponse, SearchActorsRequest, SearchActorsResponse, SearchActorsTypeaheadRequest, SearchActorsTypeaheadResponse, SearchActorsV2Request, SearchActorsV2Response, SearchFeedGeneratorsRequest, SearchFeedGeneratorsResponse, SearchFeedGeneratorsV2Request, SearchFeedGeneratorsV2Response, SearchPostsRequest, SearchPostsResponse, SearchPostsV2Request, SearchPostsV2Response, SearchStarterPacksRequest, SearchStarterPacksResponse, SearchStarterPacksV2Request, SearchStarterPacksV2Response, TakedownActorRequest, TakedownActorResponse, TakedownBlobRequest, TakedownBlobResponse, TakedownRecordRequest, TakedownRecordResponse, UntakedownActorRequest, UntakedownActorResponse, UntakedownBlobRequest, UntakedownBlobResponse, UntakedownRecordRequest, UntakedownRecordResponse, UpdateActorUpstreamStatusRequest, UpdateActorUpstreamStatusResponse, UpdateNotificationSeenRequest, UpdateNotificationSeenResponse } from "./bsky_pb.js";
|
|
2
2
|
import { MethodKind } from "@bufbuild/protobuf";
|
|
3
3
|
/**
|
|
4
4
|
*
|
|
@@ -688,7 +688,7 @@ export declare const Service: {
|
|
|
688
688
|
readonly kind: MethodKind.Unary;
|
|
689
689
|
};
|
|
690
690
|
/**
|
|
691
|
-
* Search
|
|
691
|
+
* Search (V1)
|
|
692
692
|
*
|
|
693
693
|
* @generated from rpc bsky.Service.SearchActors
|
|
694
694
|
*/
|
|
@@ -716,6 +716,53 @@ export declare const Service: {
|
|
|
716
716
|
readonly O: typeof SearchStarterPacksResponse;
|
|
717
717
|
readonly kind: MethodKind.Unary;
|
|
718
718
|
};
|
|
719
|
+
/**
|
|
720
|
+
* Search V2
|
|
721
|
+
*
|
|
722
|
+
* @generated from rpc bsky.Service.SearchPostsV2
|
|
723
|
+
*/
|
|
724
|
+
readonly searchPostsV2: {
|
|
725
|
+
readonly name: "SearchPostsV2";
|
|
726
|
+
readonly I: typeof SearchPostsV2Request;
|
|
727
|
+
readonly O: typeof SearchPostsV2Response;
|
|
728
|
+
readonly kind: MethodKind.Unary;
|
|
729
|
+
};
|
|
730
|
+
/**
|
|
731
|
+
* @generated from rpc bsky.Service.SearchActorsV2
|
|
732
|
+
*/
|
|
733
|
+
readonly searchActorsV2: {
|
|
734
|
+
readonly name: "SearchActorsV2";
|
|
735
|
+
readonly I: typeof SearchActorsV2Request;
|
|
736
|
+
readonly O: typeof SearchActorsV2Response;
|
|
737
|
+
readonly kind: MethodKind.Unary;
|
|
738
|
+
};
|
|
739
|
+
/**
|
|
740
|
+
* @generated from rpc bsky.Service.SearchActorsTypeahead
|
|
741
|
+
*/
|
|
742
|
+
readonly searchActorsTypeahead: {
|
|
743
|
+
readonly name: "SearchActorsTypeahead";
|
|
744
|
+
readonly I: typeof SearchActorsTypeaheadRequest;
|
|
745
|
+
readonly O: typeof SearchActorsTypeaheadResponse;
|
|
746
|
+
readonly kind: MethodKind.Unary;
|
|
747
|
+
};
|
|
748
|
+
/**
|
|
749
|
+
* @generated from rpc bsky.Service.SearchFeedGeneratorsV2
|
|
750
|
+
*/
|
|
751
|
+
readonly searchFeedGeneratorsV2: {
|
|
752
|
+
readonly name: "SearchFeedGeneratorsV2";
|
|
753
|
+
readonly I: typeof SearchFeedGeneratorsV2Request;
|
|
754
|
+
readonly O: typeof SearchFeedGeneratorsV2Response;
|
|
755
|
+
readonly kind: MethodKind.Unary;
|
|
756
|
+
};
|
|
757
|
+
/**
|
|
758
|
+
* @generated from rpc bsky.Service.SearchStarterPacksV2
|
|
759
|
+
*/
|
|
760
|
+
readonly searchStarterPacksV2: {
|
|
761
|
+
readonly name: "SearchStarterPacksV2";
|
|
762
|
+
readonly I: typeof SearchStarterPacksV2Request;
|
|
763
|
+
readonly O: typeof SearchStarterPacksV2Response;
|
|
764
|
+
readonly kind: MethodKind.Unary;
|
|
765
|
+
};
|
|
719
766
|
/**
|
|
720
767
|
* Suggestions
|
|
721
768
|
*
|