@atproto/bsky 0.0.261 → 0.0.263
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 +21 -0
- package/dist/api/app/bsky/feed/searchPosts.js +1 -1
- package/dist/api/app/bsky/feed/searchPosts.js.map +1 -1
- package/dist/api/app/bsky/feed/searchPostsV2.js +1 -1
- package/dist/api/app/bsky/feed/searchPostsV2.js.map +1 -1
- package/dist/api/app/bsky/graph/searchStarterPacksV2.d.ts +4 -0
- package/dist/api/app/bsky/graph/searchStarterPacksV2.d.ts.map +1 -0
- package/dist/api/app/bsky/graph/searchStarterPacksV2.js +77 -0
- package/dist/api/app/bsky/graph/searchStarterPacksV2.js.map +1 -0
- package/dist/api/app/bsky/unspecced/getTrends.js +2 -0
- package/dist/api/app/bsky/unspecced/getTrends.js.map +1 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -0
- package/dist/api/index.js.map +1 -1
- package/dist/lexicons/app/bsky/authFullApp.defs.d.ts.map +1 -1
- package/dist/lexicons/app/bsky/authFullApp.defs.js +1 -0
- package/dist/lexicons/app/bsky/authFullApp.defs.js.map +1 -1
- package/dist/lexicons/app/bsky/authViewAll.defs.d.ts.map +1 -1
- package/dist/lexicons/app/bsky/authViewAll.defs.js +1 -0
- package/dist/lexicons/app/bsky/authViewAll.defs.js.map +1 -1
- package/dist/lexicons/app/bsky/graph/searchStarterPacksV2.d.ts +3 -0
- package/dist/lexicons/app/bsky/graph/searchStarterPacksV2.d.ts.map +1 -0
- package/dist/lexicons/app/bsky/graph/searchStarterPacksV2.defs.d.ts +30 -0
- package/dist/lexicons/app/bsky/graph/searchStarterPacksV2.defs.d.ts.map +1 -0
- package/dist/lexicons/app/bsky/graph/searchStarterPacksV2.defs.js +25 -0
- package/dist/lexicons/app/bsky/graph/searchStarterPacksV2.defs.js.map +1 -0
- package/dist/lexicons/app/bsky/graph/searchStarterPacksV2.js +6 -0
- package/dist/lexicons/app/bsky/graph/searchStarterPacksV2.js.map +1 -0
- package/dist/lexicons/app/bsky/graph.d.ts +1 -0
- package/dist/lexicons/app/bsky/graph.d.ts.map +1 -1
- package/dist/lexicons/app/bsky/graph.js +1 -0
- package/dist/lexicons/app/bsky/graph.js.map +1 -1
- package/dist/lexicons/app/bsky/unspecced/getTrends.defs.d.ts +2 -0
- package/dist/lexicons/app/bsky/unspecced/getTrends.defs.d.ts.map +1 -1
- package/dist/lexicons/app/bsky/unspecced/getTrends.defs.js +1 -0
- package/dist/lexicons/app/bsky/unspecced/getTrends.defs.js.map +1 -1
- package/dist/lexicons/app/bsky/unspecced/getTrendsSkeleton.defs.d.ts +2 -0
- package/dist/lexicons/app/bsky/unspecced/getTrendsSkeleton.defs.d.ts.map +1 -1
- package/dist/lexicons/app/bsky/unspecced/getTrendsSkeleton.defs.js +1 -0
- package/dist/lexicons/app/bsky/unspecced/getTrendsSkeleton.defs.js.map +1 -1
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @atproto/bsky
|
|
2
2
|
|
|
3
|
+
## 0.0.263
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#5251](https://github.com/bluesky-social/atproto/pull/5251) [`ac691c7`](https://github.com/bluesky-social/atproto/commit/ac691c7df9555df939076ed7b506329129ce2841) Thanks [@ds-boyce](https://github.com/ds-boyce)! - Return 0 for hitsTotal when there are no results
|
|
8
|
+
|
|
9
|
+
- [#5250](https://github.com/bluesky-social/atproto/pull/5250) [`5baa874`](https://github.com/bluesky-social/atproto/commit/5baa87496f4d68cba980c2e1011c67ec19c94190) Thanks [@ds-boyce](https://github.com/ds-boyce)! - Add recIdStr field to getTrends endpoint
|
|
10
|
+
|
|
11
|
+
## 0.0.262
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [#5244](https://github.com/bluesky-social/atproto/pull/5244) [`38ee7f0`](https://github.com/bluesky-social/atproto/commit/38ee7f08da0dcfe65202e46f2127b6a39b096e2f) Thanks [@ds-boyce](https://github.com/ds-boyce)! - Create new searchStarterPacksV2 endpoint
|
|
16
|
+
|
|
17
|
+
- Updated dependencies [[`f8267c3`](https://github.com/bluesky-social/atproto/commit/f8267c3ada1645a2472c81c1ba95157466108b6e), [`38ee7f0`](https://github.com/bluesky-social/atproto/commit/38ee7f08da0dcfe65202e46f2127b6a39b096e2f)]:
|
|
18
|
+
- @atproto/lex@0.3.0
|
|
19
|
+
- @atproto/api@0.20.30
|
|
20
|
+
- @atproto/xrpc-server@0.11.10
|
|
21
|
+
- @atproto/sync@0.3.12
|
|
22
|
+
- @atproto-labs/xrpc-utils@0.1.9
|
|
23
|
+
|
|
3
24
|
## 0.0.261
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
|
@@ -109,7 +109,7 @@ const skeletonV2 = async (inputs) => {
|
|
|
109
109
|
return {
|
|
110
110
|
posts: res.posts.map(({ uri }) => uri),
|
|
111
111
|
cursor: parseString(res.pageInfo?.cursor),
|
|
112
|
-
hitsTotal: res.pageInfo?.hitsTotal
|
|
112
|
+
hitsTotal: res.pageInfo?.hitsTotal != null
|
|
113
113
|
? Number(res.pageInfo.hitsTotal)
|
|
114
114
|
: undefined,
|
|
115
115
|
parsedQuery,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchPosts.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/searchPosts.ts"],"names":[],"mappings":"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","sourcesContent":["import { Timestamp } from '@bufbuild/protobuf'\nimport { mapDefined } from '@atproto/common'\nimport type { AtUriString, Client } from '@atproto/lex'\nimport { InvalidRequestError, type Server } from '@atproto/xrpc-server'\nimport type { ServerConfig } from '../../../../config.js'\nimport type { AppContext } from '../../../../context.js'\nimport {\n type DataPlaneClient,\n asInvalidRequest,\n} from '../../../../data-plane/index.js'\nimport {\n type PostSearchQuery,\n parsePostSearchQuery,\n} from '../../../../data-plane/server/util.js'\nimport type { HydrateCtx, Hydrator } from '../../../../hydration/hydrator.js'\nimport { parseString } from '../../../../hydration/util.js'\nimport { app } from '../../../../lexicons/index.js'\nimport {\n type HydrationFnInput,\n type PresentationFnInput,\n type RulesFnInput,\n type SkeletonFnInput,\n createPipeline,\n} from '../../../../pipeline.js'\nimport { SearchSortOrder } from '../../../../proto/bsky_pb.js'\nimport { uriToDid as creatorFromUri } from '../../../../util/uris.js'\nimport type { Views } from '../../../../views/index.js'\nimport { resHeaders, resolveSearchV2Override } from '../../../util.js'\n\nexport default function (server: Server, ctx: AppContext) {\n const searchPosts = createPipeline(\n skeleton,\n hydration,\n noBlocksOrTagged,\n presentation,\n )\n server.add(app.bsky.feed.searchPosts, {\n auth: ctx.authVerifier.standardOptional,\n handler: async ({ auth, params, req }) => {\n const { viewer, isModService, skipViewerBlocks } =\n ctx.authVerifier.parseCreds(auth)\n\n const labelers = ctx.reqLabelers(req)\n const hydrateCtx = await ctx.hydrator.createContext({\n labelers,\n viewer,\n skipViewerBlocks,\n features: ctx.featureGatesClient.scope(\n ctx.featureGatesClient.parseUserContextFromHandler({\n viewer,\n req,\n }),\n ),\n })\n const results = await searchPosts(\n {\n ...params,\n hydrateCtx,\n isModService,\n isV2Override: resolveSearchV2Override(req, ctx.cfg),\n },\n ctx,\n )\n return {\n encoding: 'application/json',\n body: results,\n headers: resHeaders({ labelers: hydrateCtx.labelers }),\n }\n },\n })\n}\n\nconst skeletonV1 = async (\n inputs: SkeletonFnInput<Context, Params>,\n): Promise<Skeleton> => {\n const { ctx, params } = inputs\n const parsedQuery = parsePostSearchQuery(params.q, {\n author: params.author,\n })\n\n if (ctx.searchClient) {\n // @NOTE cursors won't change on appview swap\n const res = await ctx.searchClient.call(\n app.bsky.unspecced.searchPostsSkeleton,\n {\n q: params.q,\n cursor: params.cursor,\n limit: params.limit,\n author: params.author,\n domain: params.domain,\n lang: params.lang,\n mentions: params.mentions,\n since: params.since,\n sort: params.sort,\n tag: params.tag,\n until: params.until,\n url: params.url,\n viewer: params.hydrateCtx.viewer ?? undefined,\n },\n )\n return {\n posts: res.posts.map(({ uri }) => uri as AtUriString),\n cursor: parseString(res.cursor),\n parsedQuery,\n }\n }\n\n const res = await ctx.dataplane.searchPosts({\n term: params.q,\n limit: params.limit,\n cursor: params.cursor,\n })\n return {\n posts: res.uris as AtUriString[],\n cursor: parseString(res.cursor),\n parsedQuery,\n }\n}\n\nconst skeletonV2 = async (\n inputs: SkeletonFnInput<Context, Params>,\n): Promise<Skeleton> => {\n const { ctx, params } = inputs\n const parsedQuery = parsePostSearchQuery(params.q, {\n author: params.author,\n })\n // Surface dataplane InvalidArgument errors as a 400 rather than a 500.\n const res = await ctx.dataplane\n .searchPostsV2({\n allTime: true, // match v1 behavior, v2 defaults to false\n params: {\n query: params.q,\n viewer: params.hydrateCtx.viewer ?? undefined,\n limit: params.limit,\n cursor: sanitizeCursor(params.cursor),\n },\n sort: postSortToV2(params.sort),\n filters: {\n authors: params.author ? [params.author] : [],\n mentions: params.mentions ? [params.mentions] : [],\n domains: params.domain ? [params.domain] : [],\n urls: params.url ? [params.url] : [],\n hashtags: params.tag ?? [],\n languages: params.lang ? [params.lang] : [],\n },\n since: parseTimestamp(params.since),\n until: parseTimestamp(params.until),\n })\n .catch(asInvalidRequest())\n return {\n posts: res.posts.map(({ uri }) => uri as AtUriString),\n cursor: parseString(res.pageInfo?.cursor),\n hitsTotal: res.pageInfo?.hitsTotal\n ? Number(res.pageInfo.hitsTotal)\n : undefined,\n parsedQuery,\n }\n}\n\nconst skeleton = async (input: SkeletonFnInput<Context, Params>) => {\n const useV2 =\n input.params.hydrateCtx.features.checkGate(\n input.params.hydrateCtx.features.Gate.SearchV2Enable,\n ) || input.params.isV2Override\n const skeletonFn = useV2 ? skeletonV2 : skeletonV1\n return skeletonFn(input)\n}\n\nconst hydration = async (\n inputs: HydrationFnInput<Context, Params, Skeleton>,\n) => {\n const { ctx, params, skeleton } = inputs\n return ctx.hydrator.hydratePosts(\n skeleton.posts.map((uri) => ({ uri })),\n params.hydrateCtx,\n undefined,\n {\n processDynamicTagsForView: params.hydrateCtx.features?.checkGate(\n params.hydrateCtx.features.Gate.SearchFilteringExplorationEnable,\n )\n ? 'search'\n : undefined,\n },\n )\n}\n\nconst noBlocksOrTagged = (inputs: RulesFnInput<Context, Params, Skeleton>) => {\n const { ctx, params, skeleton, hydration } = inputs\n const { parsedQuery } = skeleton\n\n skeleton.posts = skeleton.posts.filter((uri) => {\n const post = hydration.posts?.get(uri)\n if (!post) return\n\n const creator = creatorFromUri(uri)\n const isCuratedSearch = params.sort === 'top'\n const isPostByViewer = creator === params.hydrateCtx.viewer\n\n // Cases to always show.\n if (isPostByViewer) return true\n if (params.isModService) return true\n\n // Cases to never show.\n if (ctx.views.viewerBlockExists(creator, hydration)) return false\n\n // Roll the post's own tags together with moderation tags on its author,\n // so author-level tags are filtered the same way as post-level tags.\n const author = hydration.actors?.get(creator)\n const tags = new Set([\n ...post.tags,\n ...(author?.accountModerationTags ?? []),\n ...(author?.profileModerationTags ?? []),\n ])\n\n // Tags that are hidden from all search surfaces (Top and Latest),\n // regardless of curation or author filtering.\n const alwaysHidden = [...ctx.cfg.searchTagsHideAll].some((t) => tags.has(t))\n if (alwaysHidden) return false\n\n let tagged = false\n if (\n params.hydrateCtx.features?.checkGate(\n params.hydrateCtx.features.Gate.SearchFilteringExplorationEnable,\n )\n ) {\n tagged = tags.has(ctx.cfg.visibilityTagHide)\n } else {\n tagged = [...ctx.cfg.searchTagsHide].some((t) => tags.has(t))\n }\n\n // Cases to conditionally show based on tagging.\n if (isCuratedSearch && tagged) return false\n if (!parsedQuery.author && tagged) return false\n return true\n })\n return skeleton\n}\n\nconst presentation = (\n inputs: PresentationFnInput<Context, Params, Skeleton>,\n) => {\n const { ctx, skeleton, hydration } = inputs\n const posts = mapDefined(skeleton.posts, (uri) => {\n const post = hydration.posts?.get(uri)\n if (!post) return\n\n return ctx.views.post(uri, hydration)\n })\n return {\n posts,\n cursor: skeleton.cursor,\n hitsTotal: skeleton.hitsTotal,\n }\n}\n\ntype Context = {\n cfg: ServerConfig\n dataplane: DataPlaneClient\n hydrator: Hydrator\n views: Views\n searchClient?: Client\n}\n\ntype Params = app.bsky.feed.searchPosts.$Params & {\n hydrateCtx: HydrateCtx\n isModService: boolean\n isV2Override: boolean\n}\n\ntype Skeleton = {\n posts: AtUriString[]\n hitsTotal?: number\n cursor?: string\n parsedQuery: PostSearchQuery\n}\n\nconst postSortToV2 = (sort: string | undefined): SearchSortOrder => {\n if (sort === 'top') return SearchSortOrder.TOP\n if (sort === 'latest') return SearchSortOrder.RECENT\n return SearchSortOrder.UNSPECIFIED\n}\n\nconst parseTimestamp = (value: string | undefined): Timestamp | undefined => {\n if (!value) return undefined\n const date = new Date(value)\n if (isNaN(date.getTime())) return undefined\n return Timestamp.fromDate(date)\n}\n\nconst sanitizeCursor = (cursor: string | undefined): string | undefined => {\n if (!cursor) return undefined\n try {\n const decoded = Buffer.from(cursor, 'base64').toString('utf-8')\n const parsed = JSON.parse(decoded)\n if (typeof parsed === 'object' && parsed !== null) {\n return cursor\n }\n } catch {\n // fall through to throw below\n }\n throw new InvalidRequestError('Invalid cursor format')\n}\n"]}
|
|
1
|
+
{"version":3,"file":"searchPosts.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/searchPosts.ts"],"names":[],"mappings":"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","sourcesContent":["import { Timestamp } from '@bufbuild/protobuf'\nimport { mapDefined } from '@atproto/common'\nimport type { AtUriString, Client } from '@atproto/lex'\nimport { InvalidRequestError, type Server } from '@atproto/xrpc-server'\nimport type { ServerConfig } from '../../../../config.js'\nimport type { AppContext } from '../../../../context.js'\nimport {\n type DataPlaneClient,\n asInvalidRequest,\n} from '../../../../data-plane/index.js'\nimport {\n type PostSearchQuery,\n parsePostSearchQuery,\n} from '../../../../data-plane/server/util.js'\nimport type { HydrateCtx, Hydrator } from '../../../../hydration/hydrator.js'\nimport { parseString } from '../../../../hydration/util.js'\nimport { app } from '../../../../lexicons/index.js'\nimport {\n type HydrationFnInput,\n type PresentationFnInput,\n type RulesFnInput,\n type SkeletonFnInput,\n createPipeline,\n} from '../../../../pipeline.js'\nimport { SearchSortOrder } from '../../../../proto/bsky_pb.js'\nimport { uriToDid as creatorFromUri } from '../../../../util/uris.js'\nimport type { Views } from '../../../../views/index.js'\nimport { resHeaders, resolveSearchV2Override } from '../../../util.js'\n\nexport default function (server: Server, ctx: AppContext) {\n const searchPosts = createPipeline(\n skeleton,\n hydration,\n noBlocksOrTagged,\n presentation,\n )\n server.add(app.bsky.feed.searchPosts, {\n auth: ctx.authVerifier.standardOptional,\n handler: async ({ auth, params, req }) => {\n const { viewer, isModService, skipViewerBlocks } =\n ctx.authVerifier.parseCreds(auth)\n\n const labelers = ctx.reqLabelers(req)\n const hydrateCtx = await ctx.hydrator.createContext({\n labelers,\n viewer,\n skipViewerBlocks,\n features: ctx.featureGatesClient.scope(\n ctx.featureGatesClient.parseUserContextFromHandler({\n viewer,\n req,\n }),\n ),\n })\n const results = await searchPosts(\n {\n ...params,\n hydrateCtx,\n isModService,\n isV2Override: resolveSearchV2Override(req, ctx.cfg),\n },\n ctx,\n )\n return {\n encoding: 'application/json',\n body: results,\n headers: resHeaders({ labelers: hydrateCtx.labelers }),\n }\n },\n })\n}\n\nconst skeletonV1 = async (\n inputs: SkeletonFnInput<Context, Params>,\n): Promise<Skeleton> => {\n const { ctx, params } = inputs\n const parsedQuery = parsePostSearchQuery(params.q, {\n author: params.author,\n })\n\n if (ctx.searchClient) {\n // @NOTE cursors won't change on appview swap\n const res = await ctx.searchClient.call(\n app.bsky.unspecced.searchPostsSkeleton,\n {\n q: params.q,\n cursor: params.cursor,\n limit: params.limit,\n author: params.author,\n domain: params.domain,\n lang: params.lang,\n mentions: params.mentions,\n since: params.since,\n sort: params.sort,\n tag: params.tag,\n until: params.until,\n url: params.url,\n viewer: params.hydrateCtx.viewer ?? undefined,\n },\n )\n return {\n posts: res.posts.map(({ uri }) => uri as AtUriString),\n cursor: parseString(res.cursor),\n parsedQuery,\n }\n }\n\n const res = await ctx.dataplane.searchPosts({\n term: params.q,\n limit: params.limit,\n cursor: params.cursor,\n })\n return {\n posts: res.uris as AtUriString[],\n cursor: parseString(res.cursor),\n parsedQuery,\n }\n}\n\nconst skeletonV2 = async (\n inputs: SkeletonFnInput<Context, Params>,\n): Promise<Skeleton> => {\n const { ctx, params } = inputs\n const parsedQuery = parsePostSearchQuery(params.q, {\n author: params.author,\n })\n // Surface dataplane InvalidArgument errors as a 400 rather than a 500.\n const res = await ctx.dataplane\n .searchPostsV2({\n allTime: true, // match v1 behavior, v2 defaults to false\n params: {\n query: params.q,\n viewer: params.hydrateCtx.viewer ?? undefined,\n limit: params.limit,\n cursor: sanitizeCursor(params.cursor),\n },\n sort: postSortToV2(params.sort),\n filters: {\n authors: params.author ? [params.author] : [],\n mentions: params.mentions ? [params.mentions] : [],\n domains: params.domain ? [params.domain] : [],\n urls: params.url ? [params.url] : [],\n hashtags: params.tag ?? [],\n languages: params.lang ? [params.lang] : [],\n },\n since: parseTimestamp(params.since),\n until: parseTimestamp(params.until),\n })\n .catch(asInvalidRequest())\n return {\n posts: res.posts.map(({ uri }) => uri as AtUriString),\n cursor: parseString(res.pageInfo?.cursor),\n hitsTotal:\n res.pageInfo?.hitsTotal != null\n ? Number(res.pageInfo.hitsTotal)\n : undefined,\n parsedQuery,\n }\n}\n\nconst skeleton = async (input: SkeletonFnInput<Context, Params>) => {\n const useV2 =\n input.params.hydrateCtx.features.checkGate(\n input.params.hydrateCtx.features.Gate.SearchV2Enable,\n ) || input.params.isV2Override\n const skeletonFn = useV2 ? skeletonV2 : skeletonV1\n return skeletonFn(input)\n}\n\nconst hydration = async (\n inputs: HydrationFnInput<Context, Params, Skeleton>,\n) => {\n const { ctx, params, skeleton } = inputs\n return ctx.hydrator.hydratePosts(\n skeleton.posts.map((uri) => ({ uri })),\n params.hydrateCtx,\n undefined,\n {\n processDynamicTagsForView: params.hydrateCtx.features?.checkGate(\n params.hydrateCtx.features.Gate.SearchFilteringExplorationEnable,\n )\n ? 'search'\n : undefined,\n },\n )\n}\n\nconst noBlocksOrTagged = (inputs: RulesFnInput<Context, Params, Skeleton>) => {\n const { ctx, params, skeleton, hydration } = inputs\n const { parsedQuery } = skeleton\n\n skeleton.posts = skeleton.posts.filter((uri) => {\n const post = hydration.posts?.get(uri)\n if (!post) return\n\n const creator = creatorFromUri(uri)\n const isCuratedSearch = params.sort === 'top'\n const isPostByViewer = creator === params.hydrateCtx.viewer\n\n // Cases to always show.\n if (isPostByViewer) return true\n if (params.isModService) return true\n\n // Cases to never show.\n if (ctx.views.viewerBlockExists(creator, hydration)) return false\n\n // Roll the post's own tags together with moderation tags on its author,\n // so author-level tags are filtered the same way as post-level tags.\n const author = hydration.actors?.get(creator)\n const tags = new Set([\n ...post.tags,\n ...(author?.accountModerationTags ?? []),\n ...(author?.profileModerationTags ?? []),\n ])\n\n // Tags that are hidden from all search surfaces (Top and Latest),\n // regardless of curation or author filtering.\n const alwaysHidden = [...ctx.cfg.searchTagsHideAll].some((t) => tags.has(t))\n if (alwaysHidden) return false\n\n let tagged = false\n if (\n params.hydrateCtx.features?.checkGate(\n params.hydrateCtx.features.Gate.SearchFilteringExplorationEnable,\n )\n ) {\n tagged = tags.has(ctx.cfg.visibilityTagHide)\n } else {\n tagged = [...ctx.cfg.searchTagsHide].some((t) => tags.has(t))\n }\n\n // Cases to conditionally show based on tagging.\n if (isCuratedSearch && tagged) return false\n if (!parsedQuery.author && tagged) return false\n return true\n })\n return skeleton\n}\n\nconst presentation = (\n inputs: PresentationFnInput<Context, Params, Skeleton>,\n) => {\n const { ctx, skeleton, hydration } = inputs\n const posts = mapDefined(skeleton.posts, (uri) => {\n const post = hydration.posts?.get(uri)\n if (!post) return\n\n return ctx.views.post(uri, hydration)\n })\n return {\n posts,\n cursor: skeleton.cursor,\n hitsTotal: skeleton.hitsTotal,\n }\n}\n\ntype Context = {\n cfg: ServerConfig\n dataplane: DataPlaneClient\n hydrator: Hydrator\n views: Views\n searchClient?: Client\n}\n\ntype Params = app.bsky.feed.searchPosts.$Params & {\n hydrateCtx: HydrateCtx\n isModService: boolean\n isV2Override: boolean\n}\n\ntype Skeleton = {\n posts: AtUriString[]\n hitsTotal?: number\n cursor?: string\n parsedQuery: PostSearchQuery\n}\n\nconst postSortToV2 = (sort: string | undefined): SearchSortOrder => {\n if (sort === 'top') return SearchSortOrder.TOP\n if (sort === 'latest') return SearchSortOrder.RECENT\n return SearchSortOrder.UNSPECIFIED\n}\n\nconst parseTimestamp = (value: string | undefined): Timestamp | undefined => {\n if (!value) return undefined\n const date = new Date(value)\n if (isNaN(date.getTime())) return undefined\n return Timestamp.fromDate(date)\n}\n\nconst sanitizeCursor = (cursor: string | undefined): string | undefined => {\n if (!cursor) return undefined\n try {\n const decoded = Buffer.from(cursor, 'base64').toString('utf-8')\n const parsed = JSON.parse(decoded)\n if (typeof parsed === 'object' && parsed !== null) {\n return cursor\n }\n } catch {\n // fall through to throw below\n }\n throw new InvalidRequestError('Invalid cursor format')\n}\n"]}
|
|
@@ -103,7 +103,7 @@ const skeleton = async (inputs) => {
|
|
|
103
103
|
return {
|
|
104
104
|
posts: res.posts.map(({ uri }) => uri),
|
|
105
105
|
cursor: parseString(res.pageInfo?.cursor),
|
|
106
|
-
hitsTotal: res.pageInfo?.hitsTotal
|
|
106
|
+
hitsTotal: res.pageInfo?.hitsTotal != null
|
|
107
107
|
? Number(res.pageInfo.hitsTotal)
|
|
108
108
|
: undefined,
|
|
109
109
|
detectedQueryLanguages: res.detectedQueryLanguages,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchPostsV2.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/searchPostsV2.ts"],"names":[],"mappings":"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","sourcesContent":["import { Timestamp } from '@bufbuild/protobuf'\nimport { mapDefined } from '@atproto/common'\nimport type { AtUriString } from '@atproto/lex'\nimport {\n ForbiddenError,\n InvalidRequestError,\n type Server,\n} from '@atproto/xrpc-server'\nimport type { AppContext } from '../../../../context.js'\nimport {\n type DataPlaneClient,\n asInvalidRequest,\n} from '../../../../data-plane/index.js'\nimport {\n type PostSearchQuery,\n parsePostSearchQuery,\n} from '../../../../data-plane/server/util.js'\nimport type { HydrateCtx, Hydrator } from '../../../../hydration/hydrator.js'\nimport { parseString } from '../../../../hydration/util.js'\nimport { app } from '../../../../lexicons/index.js'\nimport {\n type HydrationFnInput,\n type PresentationFnInput,\n type RulesFnInput,\n type SkeletonFnInput,\n createPipeline,\n} from '../../../../pipeline.js'\nimport {\n SearchQueryLanguage,\n SearchSortOrder,\n} from '../../../../proto/bsky_pb.js'\nimport { uriToDid as creatorFromUri } from '../../../../util/uris.js'\nimport type { Views } from '../../../../views/index.js'\nimport { resHeaders, resolveSearchV2Override } from '../../../util.js'\n\nexport default function (server: Server, ctx: AppContext) {\n const searchPostsV2 = createPipeline(\n skeleton,\n hydration,\n noBlocksOrTagged,\n presentation,\n )\n server.add(app.bsky.feed.searchPostsV2, {\n auth: ctx.authVerifier.standardOptional,\n handler: async ({ auth, params, req }) => {\n const { viewer, isModService, skipViewerBlocks } =\n ctx.authVerifier.parseCreds(auth)\n\n const labelers = ctx.reqLabelers(req)\n const hydrateCtx = await ctx.hydrator.createContext({\n labelers,\n viewer,\n skipViewerBlocks,\n features: ctx.featureGatesClient.scope(\n ctx.featureGatesClient.parseUserContextFromHandler({\n viewer,\n req,\n }),\n ),\n })\n const isV2Enabled =\n hydrateCtx.features.checkGate(\n hydrateCtx.features.Gate.SearchV2Enable,\n ) || resolveSearchV2Override(req, ctx.cfg)\n if (!isV2Enabled) {\n throw new InvalidRequestError('Search v2 is not enabled')\n }\n\n /*\n * Matches v1 handling: allow one page of results for unauthenticated\n * users, but block further pages. This is a temporary measure until\n * we finalize moderation rules for search v2.\n */\n if (!viewer && params.cursor) {\n throw new ForbiddenError('Request forbidden by administrative rules.')\n }\n\n const results = await searchPostsV2(\n {\n ...params,\n // Default to curated 'top' ranking when unset; the backend rejects an\n // unspecified sort order.\n sort: params.sort ?? 'top',\n hydrateCtx,\n isModService,\n },\n ctx,\n )\n return {\n encoding: 'application/json',\n body: results,\n headers: resHeaders({ labelers: hydrateCtx.labelers }),\n }\n },\n })\n}\n\nconst skeleton = async (\n inputs: SkeletonFnInput<Context, Params>,\n): Promise<Skeleton> => {\n const { ctx, params } = inputs\n const query = params.query ?? ''\n const parsedQuery = parsePostSearchQuery(query, {\n author: params.authors?.[0],\n })\n\n // Surface dataplane InvalidArgument errors as a 400 rather than a 500.\n const res = await ctx.dataplane\n .searchPostsV2({\n params: {\n query,\n viewer: params.hydrateCtx.viewer ?? undefined,\n limit: params.limit,\n cursor: params.cursor,\n },\n sort: postSortToV2(params.sort),\n filters: {\n authors: params.authors ?? [],\n mentions: params.mentions ?? [],\n domains: params.domains ?? [],\n urls: params.urls ?? [],\n embeddedAtUris: params.embeddedAtUris ?? [],\n hashtags: params.hashtags ?? [],\n languages: params.languages ?? [],\n },\n exclude: {\n authors: params.excludeAuthors ?? [],\n mentions: params.excludeMentions ?? [],\n domains: params.excludeDomains ?? [],\n urls: params.excludeUrls ?? [],\n embeddedAtUris: params.excludeEmbeddedAtUris ?? [],\n hashtags: params.excludeHashtags ?? [],\n languages: params.excludeLanguages ?? [],\n },\n since: parseTimestamp(params.since),\n until: parseTimestamp(params.until),\n allTime: params.allTime,\n hasMedia: params.hasMedia,\n hasVideo: params.hasVideo,\n replyParentUri: params.replyParentUri,\n threadRootUri: params.threadRootUri,\n excludeReplies: params.excludeReplies,\n repliesOnly: params.repliesOnly,\n following: params.following,\n queryLanguage: queryLanguageToV2(params.queryLanguage),\n })\n .catch(asInvalidRequest())\n return {\n posts: res.posts.map(({ uri }) => uri as AtUriString),\n cursor: parseString(res.pageInfo?.cursor),\n hitsTotal: res.pageInfo?.hitsTotal\n ? Number(res.pageInfo.hitsTotal)\n : undefined,\n detectedQueryLanguages: res.detectedQueryLanguages,\n parsedQuery,\n }\n}\n\nconst hydration = async (\n inputs: HydrationFnInput<Context, Params, Skeleton>,\n) => {\n const { ctx, params, skeleton } = inputs\n return ctx.hydrator.hydratePosts(\n skeleton.posts.map((uri) => ({ uri })),\n params.hydrateCtx,\n )\n}\n\nconst noBlocksOrTagged = (inputs: RulesFnInput<Context, Params, Skeleton>) => {\n const { ctx, params, skeleton, hydration } = inputs\n const { parsedQuery } = skeleton\n\n skeleton.posts = skeleton.posts.filter((uri) => {\n const post = hydration.posts?.get(uri)\n if (!post) return\n\n const creator = creatorFromUri(uri)\n const isCuratedSearch = params.sort === 'top'\n const isPostByViewer = creator === params.hydrateCtx.viewer\n\n if (isPostByViewer) return true\n if (params.isModService) return true\n\n if (ctx.views.viewerBlockExists(creator, hydration)) return false\n\n // Roll the post's own tags together with moderation tags on its author,\n // so author-level tags are filtered the same way as post-level tags.\n const author = hydration.actors?.get(creator)\n const tags = new Set([\n ...post.tags,\n ...(author?.accountModerationTags ?? []),\n ...(author?.profileModerationTags ?? []),\n ])\n\n // Tags that are hidden from all search surfaces (Top and Latest),\n // regardless of curation or author filtering.\n const alwaysHidden = [...ctx.cfg.searchTagsHideAll].some((t) => tags.has(t))\n if (alwaysHidden) return false\n\n const tagged = [...ctx.cfg.searchTagsHide].some((t) => tags.has(t))\n\n if (isCuratedSearch && tagged) return false\n if (!(parsedQuery.author || params.authors?.length) && tagged) return false\n return true\n })\n return skeleton\n}\n\nconst presentation = (\n inputs: PresentationFnInput<Context, Params, Skeleton>,\n) => {\n const { ctx, skeleton, hydration } = inputs\n const posts = mapDefined(skeleton.posts, (uri) => {\n const post = hydration.posts?.get(uri)\n if (!post) return\n\n return ctx.views.post(uri, hydration)\n })\n return {\n posts,\n cursor: skeleton.cursor,\n hitsTotal: skeleton.hitsTotal,\n detectedQueryLanguages: skeleton.detectedQueryLanguages,\n }\n}\n\ntype Context = {\n cfg: AppContext['cfg']\n dataplane: DataPlaneClient\n hydrator: Hydrator\n views: Views\n}\n\ntype Params = app.bsky.feed.searchPostsV2.$Params & {\n hydrateCtx: HydrateCtx\n isModService: boolean\n}\n\ntype Skeleton = {\n posts: AtUriString[]\n hitsTotal?: number\n cursor?: string\n detectedQueryLanguages?: string[]\n parsedQuery: PostSearchQuery\n}\n\nconst postSortToV2 = (sort?: string): SearchSortOrder => {\n if (sort === 'top') return SearchSortOrder.TOP\n if (sort === 'recent') return SearchSortOrder.RECENT\n return SearchSortOrder.UNSPECIFIED\n}\n\nconst queryLanguageToV2 = (\n lang: string | undefined,\n): SearchQueryLanguage | undefined => {\n if (lang === 'ja') return SearchQueryLanguage.JA\n if (lang === 'zh') return SearchQueryLanguage.ZH\n if (lang === 'ko') return SearchQueryLanguage.KO\n if (lang === 'th') return SearchQueryLanguage.TH\n if (lang === 'ar') return SearchQueryLanguage.AR\n return undefined\n}\n\nconst parseTimestamp = (value: string | undefined): Timestamp | undefined => {\n if (!value) return undefined\n const date = new Date(value)\n if (isNaN(date.getTime())) return undefined\n return Timestamp.fromDate(date)\n}\n"]}
|
|
1
|
+
{"version":3,"file":"searchPostsV2.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/feed/searchPostsV2.ts"],"names":[],"mappings":"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","sourcesContent":["import { Timestamp } from '@bufbuild/protobuf'\nimport { mapDefined } from '@atproto/common'\nimport type { AtUriString } from '@atproto/lex'\nimport {\n ForbiddenError,\n InvalidRequestError,\n type Server,\n} from '@atproto/xrpc-server'\nimport type { AppContext } from '../../../../context.js'\nimport {\n type DataPlaneClient,\n asInvalidRequest,\n} from '../../../../data-plane/index.js'\nimport {\n type PostSearchQuery,\n parsePostSearchQuery,\n} from '../../../../data-plane/server/util.js'\nimport type { HydrateCtx, Hydrator } from '../../../../hydration/hydrator.js'\nimport { parseString } from '../../../../hydration/util.js'\nimport { app } from '../../../../lexicons/index.js'\nimport {\n type HydrationFnInput,\n type PresentationFnInput,\n type RulesFnInput,\n type SkeletonFnInput,\n createPipeline,\n} from '../../../../pipeline.js'\nimport {\n SearchQueryLanguage,\n SearchSortOrder,\n} from '../../../../proto/bsky_pb.js'\nimport { uriToDid as creatorFromUri } from '../../../../util/uris.js'\nimport type { Views } from '../../../../views/index.js'\nimport { resHeaders, resolveSearchV2Override } from '../../../util.js'\n\nexport default function (server: Server, ctx: AppContext) {\n const searchPostsV2 = createPipeline(\n skeleton,\n hydration,\n noBlocksOrTagged,\n presentation,\n )\n server.add(app.bsky.feed.searchPostsV2, {\n auth: ctx.authVerifier.standardOptional,\n handler: async ({ auth, params, req }) => {\n const { viewer, isModService, skipViewerBlocks } =\n ctx.authVerifier.parseCreds(auth)\n\n const labelers = ctx.reqLabelers(req)\n const hydrateCtx = await ctx.hydrator.createContext({\n labelers,\n viewer,\n skipViewerBlocks,\n features: ctx.featureGatesClient.scope(\n ctx.featureGatesClient.parseUserContextFromHandler({\n viewer,\n req,\n }),\n ),\n })\n const isV2Enabled =\n hydrateCtx.features.checkGate(\n hydrateCtx.features.Gate.SearchV2Enable,\n ) || resolveSearchV2Override(req, ctx.cfg)\n if (!isV2Enabled) {\n throw new InvalidRequestError('Search v2 is not enabled')\n }\n\n /*\n * Matches v1 handling: allow one page of results for unauthenticated\n * users, but block further pages. This is a temporary measure until\n * we finalize moderation rules for search v2.\n */\n if (!viewer && params.cursor) {\n throw new ForbiddenError('Request forbidden by administrative rules.')\n }\n\n const results = await searchPostsV2(\n {\n ...params,\n // Default to curated 'top' ranking when unset; the backend rejects an\n // unspecified sort order.\n sort: params.sort ?? 'top',\n hydrateCtx,\n isModService,\n },\n ctx,\n )\n return {\n encoding: 'application/json',\n body: results,\n headers: resHeaders({ labelers: hydrateCtx.labelers }),\n }\n },\n })\n}\n\nconst skeleton = async (\n inputs: SkeletonFnInput<Context, Params>,\n): Promise<Skeleton> => {\n const { ctx, params } = inputs\n const query = params.query ?? ''\n const parsedQuery = parsePostSearchQuery(query, {\n author: params.authors?.[0],\n })\n\n // Surface dataplane InvalidArgument errors as a 400 rather than a 500.\n const res = await ctx.dataplane\n .searchPostsV2({\n params: {\n query,\n viewer: params.hydrateCtx.viewer ?? undefined,\n limit: params.limit,\n cursor: params.cursor,\n },\n sort: postSortToV2(params.sort),\n filters: {\n authors: params.authors ?? [],\n mentions: params.mentions ?? [],\n domains: params.domains ?? [],\n urls: params.urls ?? [],\n embeddedAtUris: params.embeddedAtUris ?? [],\n hashtags: params.hashtags ?? [],\n languages: params.languages ?? [],\n },\n exclude: {\n authors: params.excludeAuthors ?? [],\n mentions: params.excludeMentions ?? [],\n domains: params.excludeDomains ?? [],\n urls: params.excludeUrls ?? [],\n embeddedAtUris: params.excludeEmbeddedAtUris ?? [],\n hashtags: params.excludeHashtags ?? [],\n languages: params.excludeLanguages ?? [],\n },\n since: parseTimestamp(params.since),\n until: parseTimestamp(params.until),\n allTime: params.allTime,\n hasMedia: params.hasMedia,\n hasVideo: params.hasVideo,\n replyParentUri: params.replyParentUri,\n threadRootUri: params.threadRootUri,\n excludeReplies: params.excludeReplies,\n repliesOnly: params.repliesOnly,\n following: params.following,\n queryLanguage: queryLanguageToV2(params.queryLanguage),\n })\n .catch(asInvalidRequest())\n return {\n posts: res.posts.map(({ uri }) => uri as AtUriString),\n cursor: parseString(res.pageInfo?.cursor),\n hitsTotal:\n res.pageInfo?.hitsTotal != null\n ? Number(res.pageInfo.hitsTotal)\n : undefined,\n detectedQueryLanguages: res.detectedQueryLanguages,\n parsedQuery,\n }\n}\n\nconst hydration = async (\n inputs: HydrationFnInput<Context, Params, Skeleton>,\n) => {\n const { ctx, params, skeleton } = inputs\n return ctx.hydrator.hydratePosts(\n skeleton.posts.map((uri) => ({ uri })),\n params.hydrateCtx,\n )\n}\n\nconst noBlocksOrTagged = (inputs: RulesFnInput<Context, Params, Skeleton>) => {\n const { ctx, params, skeleton, hydration } = inputs\n const { parsedQuery } = skeleton\n\n skeleton.posts = skeleton.posts.filter((uri) => {\n const post = hydration.posts?.get(uri)\n if (!post) return\n\n const creator = creatorFromUri(uri)\n const isCuratedSearch = params.sort === 'top'\n const isPostByViewer = creator === params.hydrateCtx.viewer\n\n if (isPostByViewer) return true\n if (params.isModService) return true\n\n if (ctx.views.viewerBlockExists(creator, hydration)) return false\n\n // Roll the post's own tags together with moderation tags on its author,\n // so author-level tags are filtered the same way as post-level tags.\n const author = hydration.actors?.get(creator)\n const tags = new Set([\n ...post.tags,\n ...(author?.accountModerationTags ?? []),\n ...(author?.profileModerationTags ?? []),\n ])\n\n // Tags that are hidden from all search surfaces (Top and Latest),\n // regardless of curation or author filtering.\n const alwaysHidden = [...ctx.cfg.searchTagsHideAll].some((t) => tags.has(t))\n if (alwaysHidden) return false\n\n const tagged = [...ctx.cfg.searchTagsHide].some((t) => tags.has(t))\n\n if (isCuratedSearch && tagged) return false\n if (!(parsedQuery.author || params.authors?.length) && tagged) return false\n return true\n })\n return skeleton\n}\n\nconst presentation = (\n inputs: PresentationFnInput<Context, Params, Skeleton>,\n) => {\n const { ctx, skeleton, hydration } = inputs\n const posts = mapDefined(skeleton.posts, (uri) => {\n const post = hydration.posts?.get(uri)\n if (!post) return\n\n return ctx.views.post(uri, hydration)\n })\n return {\n posts,\n cursor: skeleton.cursor,\n hitsTotal: skeleton.hitsTotal,\n detectedQueryLanguages: skeleton.detectedQueryLanguages,\n }\n}\n\ntype Context = {\n cfg: AppContext['cfg']\n dataplane: DataPlaneClient\n hydrator: Hydrator\n views: Views\n}\n\ntype Params = app.bsky.feed.searchPostsV2.$Params & {\n hydrateCtx: HydrateCtx\n isModService: boolean\n}\n\ntype Skeleton = {\n posts: AtUriString[]\n hitsTotal?: number\n cursor?: string\n detectedQueryLanguages?: string[]\n parsedQuery: PostSearchQuery\n}\n\nconst postSortToV2 = (sort?: string): SearchSortOrder => {\n if (sort === 'top') return SearchSortOrder.TOP\n if (sort === 'recent') return SearchSortOrder.RECENT\n return SearchSortOrder.UNSPECIFIED\n}\n\nconst queryLanguageToV2 = (\n lang: string | undefined,\n): SearchQueryLanguage | undefined => {\n if (lang === 'ja') return SearchQueryLanguage.JA\n if (lang === 'zh') return SearchQueryLanguage.ZH\n if (lang === 'ko') return SearchQueryLanguage.KO\n if (lang === 'th') return SearchQueryLanguage.TH\n if (lang === 'ar') return SearchQueryLanguage.AR\n return undefined\n}\n\nconst parseTimestamp = (value: string | undefined): Timestamp | undefined => {\n if (!value) return undefined\n const date = new Date(value)\n if (isNaN(date.getTime())) return undefined\n return Timestamp.fromDate(date)\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchStarterPacksV2.d.ts","sourceRoot":"","sources":["../../../../../src/api/app/bsky/graph/searchStarterPacksV2.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAmBxD,MAAM,CAAC,OAAO,WAAW,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,QAkCvD"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { mapDefined } from '@atproto/common';
|
|
2
|
+
import { asInvalidRequest, } from '../../../../data-plane/index.js';
|
|
3
|
+
import { parseString } from '../../../../hydration/util.js';
|
|
4
|
+
import { app } from '../../../../lexicons/index.js';
|
|
5
|
+
import { createPipeline, } from '../../../../pipeline.js';
|
|
6
|
+
import { uriToDid as creatorFromUri } from '../../../../util/uris.js';
|
|
7
|
+
import { resHeaders } from '../../../util.js';
|
|
8
|
+
export default function (server, ctx) {
|
|
9
|
+
const searchStarterPacksV2 = createPipeline(skeleton, hydration, noBlocks, presentation);
|
|
10
|
+
server.add(app.bsky.graph.searchStarterPacksV2, {
|
|
11
|
+
auth: ctx.authVerifier.standardOptional,
|
|
12
|
+
handler: async ({ auth, params, req }) => {
|
|
13
|
+
const { viewer, includeTakedowns, skipViewerBlocks } = ctx.authVerifier.parseCreds(auth);
|
|
14
|
+
const labelers = ctx.reqLabelers(req);
|
|
15
|
+
const hydrateCtx = await ctx.hydrator.createContext({
|
|
16
|
+
viewer,
|
|
17
|
+
labelers,
|
|
18
|
+
includeTakedowns,
|
|
19
|
+
skipViewerBlocks,
|
|
20
|
+
features: ctx.featureGatesClient.scope(ctx.featureGatesClient.parseUserContextFromHandler({
|
|
21
|
+
viewer,
|
|
22
|
+
req,
|
|
23
|
+
})),
|
|
24
|
+
});
|
|
25
|
+
const results = await searchStarterPacksV2({ ...params, hydrateCtx }, ctx);
|
|
26
|
+
return {
|
|
27
|
+
encoding: 'application/json',
|
|
28
|
+
body: results,
|
|
29
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers }),
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
const skeleton = async (inputs) => {
|
|
35
|
+
const { ctx, params } = inputs;
|
|
36
|
+
const { q } = params;
|
|
37
|
+
// Surface dataplane InvalidArgument errors as a 400 rather than a 500.
|
|
38
|
+
const res = await ctx.dataplane
|
|
39
|
+
.searchStarterPacksV2({
|
|
40
|
+
params: {
|
|
41
|
+
query: q,
|
|
42
|
+
viewer: params.hydrateCtx.viewer ?? undefined,
|
|
43
|
+
limit: params.limit,
|
|
44
|
+
cursor: params.cursor,
|
|
45
|
+
},
|
|
46
|
+
})
|
|
47
|
+
.catch(asInvalidRequest());
|
|
48
|
+
return {
|
|
49
|
+
uris: res.starterPacks.map(({ uri }) => uri),
|
|
50
|
+
cursor: parseString(res.pageInfo?.cursor),
|
|
51
|
+
hitsTotal: res.pageInfo?.hitsTotal != null
|
|
52
|
+
? Number(res.pageInfo.hitsTotal)
|
|
53
|
+
: undefined,
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
const hydration = async (inputs) => {
|
|
57
|
+
const { ctx, params, skeleton } = inputs;
|
|
58
|
+
return ctx.hydrator.hydrateStarterPacks(skeleton.uris, params.hydrateCtx);
|
|
59
|
+
};
|
|
60
|
+
const noBlocks = (inputs) => {
|
|
61
|
+
const { ctx, skeleton, hydration } = inputs;
|
|
62
|
+
skeleton.uris = skeleton.uris.filter((uri) => {
|
|
63
|
+
const creator = creatorFromUri(uri);
|
|
64
|
+
return !ctx.views.viewerBlockExists(creator, hydration);
|
|
65
|
+
});
|
|
66
|
+
return skeleton;
|
|
67
|
+
};
|
|
68
|
+
const presentation = (inputs) => {
|
|
69
|
+
const { ctx, skeleton, hydration } = inputs;
|
|
70
|
+
const starterPacks = mapDefined(skeleton.uris, (uri) => ctx.views.starterPack(uri, hydration));
|
|
71
|
+
return {
|
|
72
|
+
starterPacks,
|
|
73
|
+
cursor: skeleton.cursor,
|
|
74
|
+
hitsTotal: skeleton.hitsTotal,
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=searchStarterPacksV2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchStarterPacksV2.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/graph/searchStarterPacksV2.ts"],"names":[],"mappings":"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","sourcesContent":["import { mapDefined } from '@atproto/common'\nimport type { AtUriString } from '@atproto/lex'\nimport type { Server } from '@atproto/xrpc-server'\nimport type { AppContext } from '../../../../context.js'\nimport {\n type DataPlaneClient,\n asInvalidRequest,\n} from '../../../../data-plane/index.js'\nimport type { HydrateCtx, Hydrator } from '../../../../hydration/hydrator.js'\nimport { parseString } from '../../../../hydration/util.js'\nimport { app } from '../../../../lexicons/index.js'\nimport {\n type HydrationFnInput,\n type PresentationFnInput,\n type RulesFnInput,\n type SkeletonFnInput,\n createPipeline,\n} from '../../../../pipeline.js'\nimport { uriToDid as creatorFromUri } from '../../../../util/uris.js'\nimport type { Views } from '../../../../views/index.js'\nimport { resHeaders } from '../../../util.js'\n\nexport default function (server: Server, ctx: AppContext) {\n const searchStarterPacksV2 = createPipeline(\n skeleton,\n hydration,\n noBlocks,\n presentation,\n )\n server.add(app.bsky.graph.searchStarterPacksV2, {\n auth: ctx.authVerifier.standardOptional,\n handler: async ({ auth, params, req }) => {\n const { viewer, includeTakedowns, skipViewerBlocks } =\n ctx.authVerifier.parseCreds(auth)\n const labelers = ctx.reqLabelers(req)\n const hydrateCtx = await ctx.hydrator.createContext({\n viewer,\n labelers,\n includeTakedowns,\n skipViewerBlocks,\n features: ctx.featureGatesClient.scope(\n ctx.featureGatesClient.parseUserContextFromHandler({\n viewer,\n req,\n }),\n ),\n })\n\n const results = await searchStarterPacksV2({ ...params, hydrateCtx }, ctx)\n return {\n encoding: 'application/json',\n body: results,\n headers: resHeaders({ labelers: hydrateCtx.labelers }),\n }\n },\n })\n}\n\nconst skeleton = async (\n inputs: SkeletonFnInput<Context, Params>,\n): Promise<Skeleton> => {\n const { ctx, params } = inputs\n const { q } = params\n\n // Surface dataplane InvalidArgument errors as a 400 rather than a 500.\n const res = await ctx.dataplane\n .searchStarterPacksV2({\n params: {\n query: q,\n viewer: params.hydrateCtx.viewer ?? undefined,\n limit: params.limit,\n cursor: params.cursor,\n },\n })\n .catch(asInvalidRequest())\n return {\n uris: res.starterPacks.map(({ uri }) => uri as AtUriString),\n cursor: parseString(res.pageInfo?.cursor),\n hitsTotal:\n res.pageInfo?.hitsTotal != null\n ? Number(res.pageInfo.hitsTotal)\n : undefined,\n }\n}\n\nconst hydration = async (\n inputs: HydrationFnInput<Context, Params, Skeleton>,\n) => {\n const { ctx, params, skeleton } = inputs\n return ctx.hydrator.hydrateStarterPacks(skeleton.uris, params.hydrateCtx)\n}\n\nconst noBlocks = (inputs: RulesFnInput<Context, Params, Skeleton>) => {\n const { ctx, skeleton, hydration } = inputs\n skeleton.uris = skeleton.uris.filter((uri) => {\n const creator = creatorFromUri(uri)\n return !ctx.views.viewerBlockExists(creator, hydration)\n })\n return skeleton\n}\n\nconst presentation = (\n inputs: PresentationFnInput<Context, Params, Skeleton>,\n) => {\n const { ctx, skeleton, hydration } = inputs\n const starterPacks = mapDefined(skeleton.uris, (uri) =>\n ctx.views.starterPack(uri, hydration),\n )\n return {\n starterPacks,\n cursor: skeleton.cursor,\n hitsTotal: skeleton.hitsTotal,\n }\n}\n\ntype Context = {\n dataplane: DataPlaneClient\n hydrator: Hydrator\n views: Views\n}\n\ntype Params = app.bsky.graph.searchStarterPacksV2.$Params & {\n hydrateCtx: HydrateCtx\n}\n\ntype Skeleton = {\n uris: AtUriString[]\n cursor?: string\n hitsTotal?: number\n}\n"]}
|
|
@@ -78,6 +78,7 @@ const noBlocks = (input) => {
|
|
|
78
78
|
}
|
|
79
79
|
const blocks = hydration.bidirectionalBlocks?.get(viewer);
|
|
80
80
|
return {
|
|
81
|
+
recIdStr: skeleton.recIdStr,
|
|
81
82
|
trends: skeleton.trends.map((t) => ({
|
|
82
83
|
...t,
|
|
83
84
|
dids: t.dids.filter((did) => !blocks?.get(did)),
|
|
@@ -87,6 +88,7 @@ const noBlocks = (input) => {
|
|
|
87
88
|
const presentation = (input) => {
|
|
88
89
|
const { ctx, skeleton, hydration } = input;
|
|
89
90
|
return {
|
|
91
|
+
recIdStr: skeleton.recIdStr,
|
|
90
92
|
trends: skeleton.trends.map((t) => ({
|
|
91
93
|
topic: t.topic,
|
|
92
94
|
displayName: t.displayName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTrends.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/unspecced/getTrends.ts"],"names":[],"mappings":"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","sourcesContent":["import { mapDefined, noUndefinedVals } from '@atproto/common'\nimport type { Client, DidString } from '@atproto/lex'\nimport { MethodNotImplementedError, type Server } from '@atproto/xrpc-server'\nimport type { AppContext } from '../../../../context.js'\nimport {\n type HydrateCtx,\n type Hydrator,\n mergeManyStates,\n} from '../../../../hydration/hydrator.js'\nimport { app } from '../../../../lexicons/index.js'\nimport {\n type HydrationFn,\n type PresentationFn,\n type RulesFn,\n type SkeletonFn,\n createPipeline,\n} from '../../../../pipeline.js'\nimport type { Views } from '../../../../views/index.js'\n\nexport default function (server: Server, ctx: AppContext) {\n const getTrends = createPipeline(skeleton, hydration, noBlocks, presentation)\n server.add(app.bsky.unspecced.getTrends, {\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 hydrateCtx = await ctx.hydrator.createContext({\n labelers,\n viewer,\n features: ctx.featureGatesClient.scope(\n ctx.featureGatesClient.parseUserContextFromHandler({\n viewer,\n req,\n }),\n ),\n })\n const headers = noUndefinedVals({\n 'accept-language': req.headers['accept-language'],\n 'x-bsky-topics': Array.isArray(req.headers['x-bsky-topics'])\n ? req.headers['x-bsky-topics'].join(',')\n : req.headers['x-bsky-topics'],\n })\n const result = await getTrends(\n {\n ...params,\n hydrateCtx,\n headers,\n },\n ctx,\n )\n return {\n encoding: 'application/json',\n body: result,\n }\n },\n })\n}\n\nconst skeleton: SkeletonFn<Context, Params, SkeletonState> = async (input) => {\n const { params, ctx } = input\n\n // Route treatment users to iris (trending-topics v2), everyone else stays on\n // the existing hot-topic service.\n const useIris = params.hydrateCtx.features.checkGate(\n params.hydrateCtx.features.Gate.TrendingTopicsV2,\n )\n const topicsClient = (useIris && ctx.irisClient) || ctx.topicsClient\n\n if (!topicsClient) {\n // Use 501 instead of 500 as these are not considered retry-able by clients\n throw new MethodNotImplementedError('Topics agent not available')\n }\n\n const skeleton = await topicsClient.call(\n app.bsky.unspecced.getTrendsSkeleton,\n {\n limit: params.limit,\n viewer: params.hydrateCtx.viewer ?? undefined,\n },\n {\n headers: params.headers,\n },\n )\n\n // @TODO Make sure upstream always provides this\n for (const trend of skeleton.trends) trend.dids ??= []\n\n return skeleton\n}\n\nconst hydration: HydrationFn<Context, Params, SkeletonState> = async (\n input,\n) => {\n const { ctx, params, skeleton } = input\n const dids = getUniqueDidsFromTrends(skeleton.trends)\n const pairs: Map<DidString, DidString[]> = new Map()\n const viewer = params.hydrateCtx.viewer\n if (viewer) pairs.set(viewer, dids)\n\n const [profileState, bidirectionalBlocks] = await Promise.all([\n ctx.hydrator.hydrateProfilesBasic(dids, params.hydrateCtx),\n ctx.hydrator.hydrateBidirectionalBlocks(pairs, params.hydrateCtx),\n ])\n\n return mergeManyStates(profileState, { bidirectionalBlocks })\n}\n\nconst noBlocks: RulesFn<Context, Params, SkeletonState> = (input) => {\n const { skeleton, params, hydration } = input\n const viewer = params.hydrateCtx.viewer\n if (!viewer) {\n return skeleton\n }\n\n const blocks = hydration.bidirectionalBlocks?.get(viewer)\n\n return {\n trends: skeleton.trends.map((t) => ({\n ...t,\n dids: t.dids.filter((did) => !blocks?.get(did)),\n })),\n }\n}\n\nconst presentation: PresentationFn<\n Context,\n Params,\n SkeletonState,\n app.bsky.unspecced.getTrends.$OutputBody\n> = (input) => {\n const { ctx, skeleton, hydration } = input\n\n return {\n trends: skeleton.trends.map((t) => ({\n topic: t.topic,\n displayName: t.displayName,\n link: t.link,\n startedAt: t.startedAt,\n postCount: t.postCount,\n status: t.status,\n category: t.category,\n actors: mapDefined(t.dids, (did) =>\n ctx.views.profileBasic(did, hydration),\n ),\n })),\n }\n}\n\ntype Context = {\n hydrator: Hydrator\n views: Views\n topicsClient: Client | undefined\n irisClient: Client | undefined\n}\n\ntype Params = app.bsky.unspecced.getTrendingTopics.$Params & {\n hydrateCtx: HydrateCtx & { viewer: string | null }\n headers: Record<string, string>\n}\n\ntype SkeletonState = app.bsky.unspecced.getTrendsSkeleton.$OutputBody\n\nfunction getUniqueDidsFromTrends(\n trends?: app.bsky.unspecced.defs.SkeletonTrend[],\n): DidString[] {\n if (!trends) return []\n\n const dids = new Set<DidString>()\n\n for (const trend of trends) {\n if (trend.dids) {\n for (const did of trend.dids) {\n dids.add(did)\n }\n }\n }\n\n return Array.from(dids)\n}\n"]}
|
|
1
|
+
{"version":3,"file":"getTrends.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/unspecced/getTrends.ts"],"names":[],"mappings":"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","sourcesContent":["import { mapDefined, noUndefinedVals } from '@atproto/common'\nimport type { Client, DidString } from '@atproto/lex'\nimport { MethodNotImplementedError, type Server } from '@atproto/xrpc-server'\nimport type { AppContext } from '../../../../context.js'\nimport {\n type HydrateCtx,\n type Hydrator,\n mergeManyStates,\n} from '../../../../hydration/hydrator.js'\nimport { app } from '../../../../lexicons/index.js'\nimport {\n type HydrationFn,\n type PresentationFn,\n type RulesFn,\n type SkeletonFn,\n createPipeline,\n} from '../../../../pipeline.js'\nimport type { Views } from '../../../../views/index.js'\n\nexport default function (server: Server, ctx: AppContext) {\n const getTrends = createPipeline(skeleton, hydration, noBlocks, presentation)\n server.add(app.bsky.unspecced.getTrends, {\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 hydrateCtx = await ctx.hydrator.createContext({\n labelers,\n viewer,\n features: ctx.featureGatesClient.scope(\n ctx.featureGatesClient.parseUserContextFromHandler({\n viewer,\n req,\n }),\n ),\n })\n const headers = noUndefinedVals({\n 'accept-language': req.headers['accept-language'],\n 'x-bsky-topics': Array.isArray(req.headers['x-bsky-topics'])\n ? req.headers['x-bsky-topics'].join(',')\n : req.headers['x-bsky-topics'],\n })\n const result = await getTrends(\n {\n ...params,\n hydrateCtx,\n headers,\n },\n ctx,\n )\n return {\n encoding: 'application/json',\n body: result,\n }\n },\n })\n}\n\nconst skeleton: SkeletonFn<Context, Params, SkeletonState> = async (input) => {\n const { params, ctx } = input\n\n // Route treatment users to iris (trending-topics v2), everyone else stays on\n // the existing hot-topic service.\n const useIris = params.hydrateCtx.features.checkGate(\n params.hydrateCtx.features.Gate.TrendingTopicsV2,\n )\n const topicsClient = (useIris && ctx.irisClient) || ctx.topicsClient\n\n if (!topicsClient) {\n // Use 501 instead of 500 as these are not considered retry-able by clients\n throw new MethodNotImplementedError('Topics agent not available')\n }\n\n const skeleton = await topicsClient.call(\n app.bsky.unspecced.getTrendsSkeleton,\n {\n limit: params.limit,\n viewer: params.hydrateCtx.viewer ?? undefined,\n },\n {\n headers: params.headers,\n },\n )\n\n // @TODO Make sure upstream always provides this\n for (const trend of skeleton.trends) trend.dids ??= []\n\n return skeleton\n}\n\nconst hydration: HydrationFn<Context, Params, SkeletonState> = async (\n input,\n) => {\n const { ctx, params, skeleton } = input\n const dids = getUniqueDidsFromTrends(skeleton.trends)\n const pairs: Map<DidString, DidString[]> = new Map()\n const viewer = params.hydrateCtx.viewer\n if (viewer) pairs.set(viewer, dids)\n\n const [profileState, bidirectionalBlocks] = await Promise.all([\n ctx.hydrator.hydrateProfilesBasic(dids, params.hydrateCtx),\n ctx.hydrator.hydrateBidirectionalBlocks(pairs, params.hydrateCtx),\n ])\n\n return mergeManyStates(profileState, { bidirectionalBlocks })\n}\n\nconst noBlocks: RulesFn<Context, Params, SkeletonState> = (input) => {\n const { skeleton, params, hydration } = input\n const viewer = params.hydrateCtx.viewer\n if (!viewer) {\n return skeleton\n }\n\n const blocks = hydration.bidirectionalBlocks?.get(viewer)\n\n return {\n recIdStr: skeleton.recIdStr,\n trends: skeleton.trends.map((t) => ({\n ...t,\n dids: t.dids.filter((did) => !blocks?.get(did)),\n })),\n }\n}\n\nconst presentation: PresentationFn<\n Context,\n Params,\n SkeletonState,\n app.bsky.unspecced.getTrends.$OutputBody\n> = (input) => {\n const { ctx, skeleton, hydration } = input\n\n return {\n recIdStr: skeleton.recIdStr,\n trends: skeleton.trends.map((t) => ({\n topic: t.topic,\n displayName: t.displayName,\n link: t.link,\n startedAt: t.startedAt,\n postCount: t.postCount,\n status: t.status,\n category: t.category,\n actors: mapDefined(t.dids, (did) =>\n ctx.views.profileBasic(did, hydration),\n ),\n })),\n }\n}\n\ntype Context = {\n hydrator: Hydrator\n views: Views\n topicsClient: Client | undefined\n irisClient: Client | undefined\n}\n\ntype Params = app.bsky.unspecced.getTrendingTopics.$Params & {\n hydrateCtx: HydrateCtx & { viewer: string | null }\n headers: Record<string, string>\n}\n\ntype SkeletonState = app.bsky.unspecced.getTrendsSkeleton.$OutputBody\n\nfunction getUniqueDidsFromTrends(\n trends?: app.bsky.unspecced.defs.SkeletonTrend[],\n): DidString[] {\n if (!trends) return []\n\n const dids = new Set<DidString>()\n\n for (const trend of trends) {\n if (trend.dids) {\n for (const did of trend.dids) {\n dids.add(did)\n }\n }\n }\n\n return Array.from(dids)\n}\n"]}
|
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAsG/C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAE5C,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAElD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,MAAM,CAAC,OAAO,WAAW,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,QAwGvD"}
|
package/dist/api/index.js
CHANGED
|
@@ -58,6 +58,7 @@ import muteActor from './app/bsky/graph/muteActor.js';
|
|
|
58
58
|
import muteActorList from './app/bsky/graph/muteActorList.js';
|
|
59
59
|
import muteThread from './app/bsky/graph/muteThread.js';
|
|
60
60
|
import searchStarterPacks from './app/bsky/graph/searchStarterPacks.js';
|
|
61
|
+
import searchStarterPacksV2 from './app/bsky/graph/searchStarterPacksV2.js';
|
|
61
62
|
import unmuteActor from './app/bsky/graph/unmuteActor.js';
|
|
62
63
|
import unmuteActorList from './app/bsky/graph/unmuteActorList.js';
|
|
63
64
|
import unmuteThread from './app/bsky/graph/unmuteThread.js';
|
|
@@ -156,6 +157,7 @@ export default function (server, ctx) {
|
|
|
156
157
|
getStarterPacks(server, ctx);
|
|
157
158
|
getStarterPacksWithMembership(server, ctx);
|
|
158
159
|
searchStarterPacks(server, ctx);
|
|
160
|
+
searchStarterPacksV2(server, ctx);
|
|
159
161
|
muteActor(server, ctx);
|
|
160
162
|
unmuteActor(server, ctx);
|
|
161
163
|
muteActorList(server, ctx);
|
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Server } from '@atproto/xrpc-server'\nimport type { AppContext } from '../context.js'\nimport getProfile from './app/bsky/actor/getProfile.js'\nimport getProfiles from './app/bsky/actor/getProfiles.js'\nimport getSuggestions from './app/bsky/actor/getSuggestions.js'\nimport searchActors from './app/bsky/actor/searchActors.js'\nimport searchActorsTypeahead from './app/bsky/actor/searchActorsTypeahead.js'\nimport aaBegin from './app/bsky/ageassurance/begin.js'\nimport aaGetConfig from './app/bsky/ageassurance/getConfig.js'\nimport aaGetState from './app/bsky/ageassurance/getState.js'\nimport createBookmark from './app/bsky/bookmark/createBookmark.js'\nimport deleteBookmark from './app/bsky/bookmark/deleteBookmark.js'\nimport getBookmarks from './app/bsky/bookmark/getBookmarks.js'\nimport dismissMatch from './app/bsky/contact/dismissMatch.js'\nimport getMatches from './app/bsky/contact/getMatches.js'\nimport getSyncStatus from './app/bsky/contact/getSyncStatus.js'\nimport importContacts from './app/bsky/contact/importContacts.js'\nimport removeData from './app/bsky/contact/removeData.js'\nimport sendNotification from './app/bsky/contact/sendNotification.js'\nimport startPhoneVerification from './app/bsky/contact/startPhoneVerification.js'\nimport verifyPhone from './app/bsky/contact/verifyPhone.js'\nimport createDraft from './app/bsky/draft/createDraft.js'\nimport deleteDraft from './app/bsky/draft/deleteDraft.js'\nimport getDrafts from './app/bsky/draft/getDrafts.js'\nimport updateDraft from './app/bsky/draft/updateDraft.js'\nimport getEmbedExternalView from './app/bsky/embed/getEmbedExternalView.js'\nimport getActorFeeds from './app/bsky/feed/getActorFeeds.js'\nimport getActorLikes from './app/bsky/feed/getActorLikes.js'\nimport getAuthorFeed from './app/bsky/feed/getAuthorFeed.js'\nimport getFeed from './app/bsky/feed/getFeed.js'\nimport getFeedGenerator from './app/bsky/feed/getFeedGenerator.js'\nimport getFeedGenerators from './app/bsky/feed/getFeedGenerators.js'\nimport getLikes from './app/bsky/feed/getLikes.js'\nimport getListFeed from './app/bsky/feed/getListFeed.js'\nimport getPostThread from './app/bsky/feed/getPostThread.js'\nimport getPosts from './app/bsky/feed/getPosts.js'\nimport getQuotes from './app/bsky/feed/getQuotes.js'\nimport getRepostedBy from './app/bsky/feed/getRepostedBy.js'\nimport getSuggestedFeeds from './app/bsky/feed/getSuggestedFeeds.js'\nimport getTimeline from './app/bsky/feed/getTimeline.js'\nimport searchPosts from './app/bsky/feed/searchPosts.js'\nimport searchPostsV2 from './app/bsky/feed/searchPostsV2.js'\nimport getActorStarterPacks from './app/bsky/graph/getActorStarterPacks.js'\nimport getBlocks from './app/bsky/graph/getBlocks.js'\nimport getFollowers from './app/bsky/graph/getFollowers.js'\nimport getFollows from './app/bsky/graph/getFollows.js'\nimport getKnownFollowers from './app/bsky/graph/getKnownFollowers.js'\nimport getList from './app/bsky/graph/getList.js'\nimport getListBlocks from './app/bsky/graph/getListBlocks.js'\nimport getListMutes from './app/bsky/graph/getListMutes.js'\nimport getLists from './app/bsky/graph/getLists.js'\nimport getListsWithMembership from './app/bsky/graph/getListsWithMembership.js'\nimport getMutes from './app/bsky/graph/getMutes.js'\nimport getRelationships from './app/bsky/graph/getRelationships.js'\nimport getStarterPack from './app/bsky/graph/getStarterPack.js'\nimport getStarterPacks from './app/bsky/graph/getStarterPacks.js'\nimport getStarterPacksWithMembership from './app/bsky/graph/getStarterPacksWithMembership.js'\nimport getSuggestedFollowsByActor from './app/bsky/graph/getSuggestedFollowsByActor.js'\nimport muteActor from './app/bsky/graph/muteActor.js'\nimport muteActorList from './app/bsky/graph/muteActorList.js'\nimport muteThread from './app/bsky/graph/muteThread.js'\nimport searchStarterPacks from './app/bsky/graph/searchStarterPacks.js'\nimport unmuteActor from './app/bsky/graph/unmuteActor.js'\nimport unmuteActorList from './app/bsky/graph/unmuteActorList.js'\nimport unmuteThread from './app/bsky/graph/unmuteThread.js'\nimport getLabelerServices from './app/bsky/labeler/getServices.js'\nimport getPreferences from './app/bsky/notification/getPreferences.js'\nimport getUnreadCount from './app/bsky/notification/getUnreadCount.js'\nimport listActivitySubscriptions from './app/bsky/notification/listActivitySubscriptions.js'\nimport listNotifications from './app/bsky/notification/listNotifications.js'\nimport putActivitySubscription from './app/bsky/notification/putActivitySubscription.js'\nimport putPreferences from './app/bsky/notification/putPreferences.js'\nimport putPreferencesV2 from './app/bsky/notification/putPreferencesV2.js'\nimport registerPush from './app/bsky/notification/registerPush.js'\nimport unregisterPush from './app/bsky/notification/unregisterPush.js'\nimport updateSeen from './app/bsky/notification/updateSeen.js'\nimport getAgeAssuranceState from './app/bsky/unspecced/getAgeAssuranceState.js'\nimport getConfig from './app/bsky/unspecced/getConfig.js'\nimport getOnboardingSuggestedStarterPacks from './app/bsky/unspecced/getOnboardingSuggestedStarterPacks.js'\nimport getPopularFeedGenerators from './app/bsky/unspecced/getPopularFeedGenerators.js'\nimport getPostThreadOtherV2 from './app/bsky/unspecced/getPostThreadOtherV2.js'\nimport getPostThreadV2 from './app/bsky/unspecced/getPostThreadV2.js'\nimport getUnspeccedSuggestedFeeds from './app/bsky/unspecced/getSuggestedFeeds.js'\nimport getSuggestedOnboardingUsers from './app/bsky/unspecced/getSuggestedOnboardingUsers.js'\nimport getSuggestedStarterPacks from './app/bsky/unspecced/getSuggestedStarterPacks.js'\nimport getSuggestedUsers from './app/bsky/unspecced/getSuggestedUsers.js'\nimport getSuggestedUsersForDiscover from './app/bsky/unspecced/getSuggestedUsersForDiscover.js'\nimport getSuggestedUsersForExplore from './app/bsky/unspecced/getSuggestedUsersForExplore.js'\nimport getSuggestedUsersForSeeMore from './app/bsky/unspecced/getSuggestedUsersForSeeMore.js'\nimport getTaggedSuggestions from './app/bsky/unspecced/getTaggedSuggestions.js'\nimport getTrendingTopics from './app/bsky/unspecced/getTrendingTopics.js'\nimport getTrends from './app/bsky/unspecced/getTrends.js'\nimport initAgeAssurance from './app/bsky/unspecced/initAgeAssurance.js'\nimport getAccountInfos from './com/atproto/admin/getAccountInfos.js'\nimport getSubjectStatus from './com/atproto/admin/getSubjectStatus.js'\nimport updateSubjectStatus from './com/atproto/admin/updateSubjectStatus.js'\nimport resolveHandle from './com/atproto/identity/resolveHandle.js'\nimport queryLabels from './com/atproto/label/queryLabels.js'\nimport getRecord from './com/atproto/repo/getRecord.js'\nimport fetchLabels from './com/atproto/temp/fetchLabels.js'\nimport internalGetProfiles from './internal/bsky/actor/getProfiles.js'\n\nexport * as health from './health.js'\n\nexport * as wellKnown from './well-known.js'\n\nexport * as blobResolver from './blob-resolver.js'\n\nexport * as external from './external.js'\n\nexport * as sitemap from './sitemap.js'\n\nexport default function (server: Server, ctx: AppContext) {\n // app.bsky\n getTimeline(server, ctx)\n createBookmark(server, ctx)\n deleteBookmark(server, ctx)\n getBookmarks(server, ctx)\n createDraft(server, ctx)\n deleteDraft(server, ctx)\n getDrafts(server, ctx)\n updateDraft(server, ctx)\n getEmbedExternalView(server, ctx)\n dismissMatch(server, ctx)\n getMatches(server, ctx)\n getSyncStatus(server, ctx)\n importContacts(server, ctx)\n removeData(server, ctx)\n sendNotification(server, ctx)\n startPhoneVerification(server, ctx)\n verifyPhone(server, ctx)\n getActorFeeds(server, ctx)\n getSuggestedFeeds(server, ctx)\n getAuthorFeed(server, ctx)\n getFeed(server, ctx)\n getFeedGenerator(server, ctx)\n getFeedGenerators(server, ctx)\n getLikes(server, ctx)\n getListFeed(server, ctx)\n getQuotes(server, ctx)\n getPostThread(server, ctx)\n getPostThreadOtherV2(server, ctx)\n getPostThreadV2(server, ctx)\n getPosts(server, ctx)\n searchPosts(server, ctx)\n searchPostsV2(server, ctx)\n getActorLikes(server, ctx)\n getProfile(server, ctx)\n getProfiles(server, ctx)\n getRepostedBy(server, ctx)\n getActorStarterPacks(server, ctx)\n getBlocks(server, ctx)\n getListBlocks(server, ctx)\n getFollowers(server, ctx)\n getKnownFollowers(server, ctx)\n getFollows(server, ctx)\n getList(server, ctx)\n getLists(server, ctx)\n getListsWithMembership(server, ctx)\n getListMutes(server, ctx)\n getMutes(server, ctx)\n getRelationships(server, ctx)\n getStarterPack(server, ctx)\n getStarterPacks(server, ctx)\n getStarterPacksWithMembership(server, ctx)\n searchStarterPacks(server, ctx)\n muteActor(server, ctx)\n unmuteActor(server, ctx)\n muteActorList(server, ctx)\n unmuteActorList(server, ctx)\n muteThread(server, ctx)\n unmuteThread(server, ctx)\n getSuggestedFollowsByActor(server, ctx)\n getTrendingTopics(server, ctx)\n getTrends(server, ctx)\n getOnboardingSuggestedStarterPacks(server, ctx)\n getSuggestedOnboardingUsers(server, ctx)\n getSuggestedStarterPacks(server, ctx)\n getSuggestedUsers(server, ctx)\n getSuggestedUsersForDiscover(server, ctx)\n getSuggestedUsersForExplore(server, ctx)\n getSuggestedUsersForSeeMore(server, ctx)\n getUnspeccedSuggestedFeeds(server, ctx)\n getLabelerServices(server, ctx)\n searchActors(server, ctx)\n searchActorsTypeahead(server, ctx)\n getSuggestions(server, ctx)\n getPreferences(server, ctx)\n getUnreadCount(server, ctx)\n listActivitySubscriptions(server, ctx)\n listNotifications(server, ctx)\n putActivitySubscription(server, ctx)\n updateSeen(server, ctx)\n putPreferences(server, ctx)\n putPreferencesV2(server, ctx)\n registerPush(server, ctx)\n unregisterPush(server, ctx)\n getConfig(server, ctx)\n getPopularFeedGenerators(server, ctx)\n getTaggedSuggestions(server, ctx)\n getAgeAssuranceState(server, ctx)\n initAgeAssurance(server, ctx)\n aaGetConfig(server, ctx)\n aaGetState(server, ctx)\n aaBegin(server, ctx)\n // com.atproto\n getSubjectStatus(server, ctx)\n updateSubjectStatus(server, ctx)\n getAccountInfos(server, ctx)\n resolveHandle(server, ctx)\n getRecord(server, ctx)\n fetchLabels(server, ctx)\n queryLabels(server, ctx)\n // internal.bsky\n internalGetProfiles(server, ctx)\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Server } from '@atproto/xrpc-server'\nimport type { AppContext } from '../context.js'\nimport getProfile from './app/bsky/actor/getProfile.js'\nimport getProfiles from './app/bsky/actor/getProfiles.js'\nimport getSuggestions from './app/bsky/actor/getSuggestions.js'\nimport searchActors from './app/bsky/actor/searchActors.js'\nimport searchActorsTypeahead from './app/bsky/actor/searchActorsTypeahead.js'\nimport aaBegin from './app/bsky/ageassurance/begin.js'\nimport aaGetConfig from './app/bsky/ageassurance/getConfig.js'\nimport aaGetState from './app/bsky/ageassurance/getState.js'\nimport createBookmark from './app/bsky/bookmark/createBookmark.js'\nimport deleteBookmark from './app/bsky/bookmark/deleteBookmark.js'\nimport getBookmarks from './app/bsky/bookmark/getBookmarks.js'\nimport dismissMatch from './app/bsky/contact/dismissMatch.js'\nimport getMatches from './app/bsky/contact/getMatches.js'\nimport getSyncStatus from './app/bsky/contact/getSyncStatus.js'\nimport importContacts from './app/bsky/contact/importContacts.js'\nimport removeData from './app/bsky/contact/removeData.js'\nimport sendNotification from './app/bsky/contact/sendNotification.js'\nimport startPhoneVerification from './app/bsky/contact/startPhoneVerification.js'\nimport verifyPhone from './app/bsky/contact/verifyPhone.js'\nimport createDraft from './app/bsky/draft/createDraft.js'\nimport deleteDraft from './app/bsky/draft/deleteDraft.js'\nimport getDrafts from './app/bsky/draft/getDrafts.js'\nimport updateDraft from './app/bsky/draft/updateDraft.js'\nimport getEmbedExternalView from './app/bsky/embed/getEmbedExternalView.js'\nimport getActorFeeds from './app/bsky/feed/getActorFeeds.js'\nimport getActorLikes from './app/bsky/feed/getActorLikes.js'\nimport getAuthorFeed from './app/bsky/feed/getAuthorFeed.js'\nimport getFeed from './app/bsky/feed/getFeed.js'\nimport getFeedGenerator from './app/bsky/feed/getFeedGenerator.js'\nimport getFeedGenerators from './app/bsky/feed/getFeedGenerators.js'\nimport getLikes from './app/bsky/feed/getLikes.js'\nimport getListFeed from './app/bsky/feed/getListFeed.js'\nimport getPostThread from './app/bsky/feed/getPostThread.js'\nimport getPosts from './app/bsky/feed/getPosts.js'\nimport getQuotes from './app/bsky/feed/getQuotes.js'\nimport getRepostedBy from './app/bsky/feed/getRepostedBy.js'\nimport getSuggestedFeeds from './app/bsky/feed/getSuggestedFeeds.js'\nimport getTimeline from './app/bsky/feed/getTimeline.js'\nimport searchPosts from './app/bsky/feed/searchPosts.js'\nimport searchPostsV2 from './app/bsky/feed/searchPostsV2.js'\nimport getActorStarterPacks from './app/bsky/graph/getActorStarterPacks.js'\nimport getBlocks from './app/bsky/graph/getBlocks.js'\nimport getFollowers from './app/bsky/graph/getFollowers.js'\nimport getFollows from './app/bsky/graph/getFollows.js'\nimport getKnownFollowers from './app/bsky/graph/getKnownFollowers.js'\nimport getList from './app/bsky/graph/getList.js'\nimport getListBlocks from './app/bsky/graph/getListBlocks.js'\nimport getListMutes from './app/bsky/graph/getListMutes.js'\nimport getLists from './app/bsky/graph/getLists.js'\nimport getListsWithMembership from './app/bsky/graph/getListsWithMembership.js'\nimport getMutes from './app/bsky/graph/getMutes.js'\nimport getRelationships from './app/bsky/graph/getRelationships.js'\nimport getStarterPack from './app/bsky/graph/getStarterPack.js'\nimport getStarterPacks from './app/bsky/graph/getStarterPacks.js'\nimport getStarterPacksWithMembership from './app/bsky/graph/getStarterPacksWithMembership.js'\nimport getSuggestedFollowsByActor from './app/bsky/graph/getSuggestedFollowsByActor.js'\nimport muteActor from './app/bsky/graph/muteActor.js'\nimport muteActorList from './app/bsky/graph/muteActorList.js'\nimport muteThread from './app/bsky/graph/muteThread.js'\nimport searchStarterPacks from './app/bsky/graph/searchStarterPacks.js'\nimport searchStarterPacksV2 from './app/bsky/graph/searchStarterPacksV2.js'\nimport unmuteActor from './app/bsky/graph/unmuteActor.js'\nimport unmuteActorList from './app/bsky/graph/unmuteActorList.js'\nimport unmuteThread from './app/bsky/graph/unmuteThread.js'\nimport getLabelerServices from './app/bsky/labeler/getServices.js'\nimport getPreferences from './app/bsky/notification/getPreferences.js'\nimport getUnreadCount from './app/bsky/notification/getUnreadCount.js'\nimport listActivitySubscriptions from './app/bsky/notification/listActivitySubscriptions.js'\nimport listNotifications from './app/bsky/notification/listNotifications.js'\nimport putActivitySubscription from './app/bsky/notification/putActivitySubscription.js'\nimport putPreferences from './app/bsky/notification/putPreferences.js'\nimport putPreferencesV2 from './app/bsky/notification/putPreferencesV2.js'\nimport registerPush from './app/bsky/notification/registerPush.js'\nimport unregisterPush from './app/bsky/notification/unregisterPush.js'\nimport updateSeen from './app/bsky/notification/updateSeen.js'\nimport getAgeAssuranceState from './app/bsky/unspecced/getAgeAssuranceState.js'\nimport getConfig from './app/bsky/unspecced/getConfig.js'\nimport getOnboardingSuggestedStarterPacks from './app/bsky/unspecced/getOnboardingSuggestedStarterPacks.js'\nimport getPopularFeedGenerators from './app/bsky/unspecced/getPopularFeedGenerators.js'\nimport getPostThreadOtherV2 from './app/bsky/unspecced/getPostThreadOtherV2.js'\nimport getPostThreadV2 from './app/bsky/unspecced/getPostThreadV2.js'\nimport getUnspeccedSuggestedFeeds from './app/bsky/unspecced/getSuggestedFeeds.js'\nimport getSuggestedOnboardingUsers from './app/bsky/unspecced/getSuggestedOnboardingUsers.js'\nimport getSuggestedStarterPacks from './app/bsky/unspecced/getSuggestedStarterPacks.js'\nimport getSuggestedUsers from './app/bsky/unspecced/getSuggestedUsers.js'\nimport getSuggestedUsersForDiscover from './app/bsky/unspecced/getSuggestedUsersForDiscover.js'\nimport getSuggestedUsersForExplore from './app/bsky/unspecced/getSuggestedUsersForExplore.js'\nimport getSuggestedUsersForSeeMore from './app/bsky/unspecced/getSuggestedUsersForSeeMore.js'\nimport getTaggedSuggestions from './app/bsky/unspecced/getTaggedSuggestions.js'\nimport getTrendingTopics from './app/bsky/unspecced/getTrendingTopics.js'\nimport getTrends from './app/bsky/unspecced/getTrends.js'\nimport initAgeAssurance from './app/bsky/unspecced/initAgeAssurance.js'\nimport getAccountInfos from './com/atproto/admin/getAccountInfos.js'\nimport getSubjectStatus from './com/atproto/admin/getSubjectStatus.js'\nimport updateSubjectStatus from './com/atproto/admin/updateSubjectStatus.js'\nimport resolveHandle from './com/atproto/identity/resolveHandle.js'\nimport queryLabels from './com/atproto/label/queryLabels.js'\nimport getRecord from './com/atproto/repo/getRecord.js'\nimport fetchLabels from './com/atproto/temp/fetchLabels.js'\nimport internalGetProfiles from './internal/bsky/actor/getProfiles.js'\n\nexport * as health from './health.js'\n\nexport * as wellKnown from './well-known.js'\n\nexport * as blobResolver from './blob-resolver.js'\n\nexport * as external from './external.js'\n\nexport * as sitemap from './sitemap.js'\n\nexport default function (server: Server, ctx: AppContext) {\n // app.bsky\n getTimeline(server, ctx)\n createBookmark(server, ctx)\n deleteBookmark(server, ctx)\n getBookmarks(server, ctx)\n createDraft(server, ctx)\n deleteDraft(server, ctx)\n getDrafts(server, ctx)\n updateDraft(server, ctx)\n getEmbedExternalView(server, ctx)\n dismissMatch(server, ctx)\n getMatches(server, ctx)\n getSyncStatus(server, ctx)\n importContacts(server, ctx)\n removeData(server, ctx)\n sendNotification(server, ctx)\n startPhoneVerification(server, ctx)\n verifyPhone(server, ctx)\n getActorFeeds(server, ctx)\n getSuggestedFeeds(server, ctx)\n getAuthorFeed(server, ctx)\n getFeed(server, ctx)\n getFeedGenerator(server, ctx)\n getFeedGenerators(server, ctx)\n getLikes(server, ctx)\n getListFeed(server, ctx)\n getQuotes(server, ctx)\n getPostThread(server, ctx)\n getPostThreadOtherV2(server, ctx)\n getPostThreadV2(server, ctx)\n getPosts(server, ctx)\n searchPosts(server, ctx)\n searchPostsV2(server, ctx)\n getActorLikes(server, ctx)\n getProfile(server, ctx)\n getProfiles(server, ctx)\n getRepostedBy(server, ctx)\n getActorStarterPacks(server, ctx)\n getBlocks(server, ctx)\n getListBlocks(server, ctx)\n getFollowers(server, ctx)\n getKnownFollowers(server, ctx)\n getFollows(server, ctx)\n getList(server, ctx)\n getLists(server, ctx)\n getListsWithMembership(server, ctx)\n getListMutes(server, ctx)\n getMutes(server, ctx)\n getRelationships(server, ctx)\n getStarterPack(server, ctx)\n getStarterPacks(server, ctx)\n getStarterPacksWithMembership(server, ctx)\n searchStarterPacks(server, ctx)\n searchStarterPacksV2(server, ctx)\n muteActor(server, ctx)\n unmuteActor(server, ctx)\n muteActorList(server, ctx)\n unmuteActorList(server, ctx)\n muteThread(server, ctx)\n unmuteThread(server, ctx)\n getSuggestedFollowsByActor(server, ctx)\n getTrendingTopics(server, ctx)\n getTrends(server, ctx)\n getOnboardingSuggestedStarterPacks(server, ctx)\n getSuggestedOnboardingUsers(server, ctx)\n getSuggestedStarterPacks(server, ctx)\n getSuggestedUsers(server, ctx)\n getSuggestedUsersForDiscover(server, ctx)\n getSuggestedUsersForExplore(server, ctx)\n getSuggestedUsersForSeeMore(server, ctx)\n getUnspeccedSuggestedFeeds(server, ctx)\n getLabelerServices(server, ctx)\n searchActors(server, ctx)\n searchActorsTypeahead(server, ctx)\n getSuggestions(server, ctx)\n getPreferences(server, ctx)\n getUnreadCount(server, ctx)\n listActivitySubscriptions(server, ctx)\n listNotifications(server, ctx)\n putActivitySubscription(server, ctx)\n updateSeen(server, ctx)\n putPreferences(server, ctx)\n putPreferencesV2(server, ctx)\n registerPush(server, ctx)\n unregisterPush(server, ctx)\n getConfig(server, ctx)\n getPopularFeedGenerators(server, ctx)\n getTaggedSuggestions(server, ctx)\n getAgeAssuranceState(server, ctx)\n initAgeAssurance(server, ctx)\n aaGetConfig(server, ctx)\n aaGetState(server, ctx)\n aaBegin(server, ctx)\n // com.atproto\n getSubjectStatus(server, ctx)\n updateSubjectStatus(server, ctx)\n getAccountInfos(server, ctx)\n resolveHandle(server, ctx)\n getRecord(server, ctx)\n fetchLabels(server, ctx)\n queryLabels(server, ctx)\n // internal.bsky\n internalGetProfiles(server, ctx)\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authFullApp.defs.d.ts","sourceRoot":"","sources":["../../../../src/lexicons/app/bsky/authFullApp.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAEhC,QAAA,MAAM,KAAK,yBAAyB,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,QAAA,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"authFullApp.defs.d.ts","sourceRoot":"","sources":["../../../../src/lexicons/app/bsky/authFullApp.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAEhC,QAAA,MAAM,KAAK,yBAAyB,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,QAAA,MAAM,IAAI,iRAkIT,CAAA;AAED,OAAO,EAAE,IAAI,EAAE,CAAA"}
|
|
@@ -64,6 +64,7 @@ const main = /*#__PURE__*/ l.permissionSet($nsid, [
|
|
|
64
64
|
'app.bsky.graph.muteActorList',
|
|
65
65
|
'app.bsky.graph.muteThread',
|
|
66
66
|
'app.bsky.graph.searchStarterPacks',
|
|
67
|
+
'app.bsky.graph.searchStarterPacksV2',
|
|
67
68
|
'app.bsky.graph.unmuteActor',
|
|
68
69
|
'app.bsky.graph.unmuteActorList',
|
|
69
70
|
'app.bsky.graph.unmuteThread',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authFullApp.defs.js","sourceRoot":"","sources":["../../../../src/lexicons/app/bsky/authFullApp.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAEhC,MAAM,KAAK,GAAG,sBAAsB,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CACxC,KAAK,EACL;IACE,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE;QAChC,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE;YACH,+BAA+B;YAC/B,2BAA2B;YAC3B,4BAA4B;YAC5B,+BAA+B;YAC/B,+BAA+B;YAC/B,6BAA6B;YAC7B,sCAAsC;YACtC,kCAAkC;YAClC,kCAAkC;YAClC,gCAAgC;YAChC,+BAA+B;YAC/B,6BAA6B;YAC7B,gCAAgC;YAChC,iCAAiC;YACjC,6BAA6B;YAC7B,yCAAyC;YACzC,8BAA8B;YAC9B,qCAAqC;YACrC,6BAA6B;YAC7B,6BAA6B;YAC7B,6BAA6B;YAC7B,uBAAuB;YACvB,gCAAgC;YAChC,iCAAiC;YACjC,+BAA+B;YAC/B,wBAAwB;YACxB,2BAA2B;YAC3B,6BAA6B;YAC7B,wBAAwB;YACxB,yBAAyB;YACzB,6BAA6B;YAC7B,iCAAiC;YACjC,2BAA2B;YAC3B,2BAA2B;YAC3B,6BAA6B;YAC7B,gCAAgC;YAChC,qCAAqC;YACrC,0BAA0B;YAC1B,6BAA6B;YAC7B,2BAA2B;YAC3B,kCAAkC;YAClC,wBAAwB;YACxB,8BAA8B;YAC9B,6BAA6B;YAC7B,yBAAyB;YACzB,uCAAuC;YACvC,yBAAyB;YACzB,iCAAiC;YACjC,+BAA+B;YAC/B,gCAAgC;YAChC,8CAA8C;YAC9C,2CAA2C;YAC3C,0BAA0B;YAC1B,8BAA8B;YAC9B,2BAA2B;YAC3B,mCAAmC;YACnC,4BAA4B;YAC5B,gCAAgC;YAChC,6BAA6B;YAC7B,8BAA8B;YAC9B,sCAAsC;YACtC,sCAAsC;YACtC,iDAAiD;YACjD,yCAAyC;YACzC,+CAA+C;YAC/C,sCAAsC;YACtC,wCAAwC;YACxC,oCAAoC;YACpC,sCAAsC;YACtC,kCAAkC;YAClC,yCAAyC;YACzC,8BAA8B;YAC9B,uDAAuD;YACvD,6CAA6C;YAC7C,yCAAyC;YACzC,oCAAoC;YACpC,sCAAsC;YACtC,8CAA8C;YAC9C,6CAA6C;YAC7C,qDAAqD;YACrD,sCAAsC;YACtC,8CAA8C;YAC9C,2CAA2C;YAC3C,yCAAyC;YACzC,sCAAsC;YACtC,8BAA8B;YAC9B,sCAAsC;YACtC,qCAAqC;YACrC,yCAAyC;YACzC,wCAAwC;YACxC,+CAA+C;YAC/C,6BAA6B;YAC7B,gCAAgC;YAChC,4BAA4B;SAC7B;KACF,CAAC;IACF,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;QACjC,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACtC,UAAU,EAAE;YACV,wBAAwB;YACxB,uBAAuB;YACvB,oBAAoB;YACpB,oBAAoB;YACpB,wBAAwB;YACxB,sBAAsB;YACtB,0BAA0B;YAC1B,sBAAsB;YACtB,uBAAuB;YACvB,qBAAqB;YACrB,0BAA0B;YAC1B,yBAAyB;YACzB,4BAA4B;YAC5B,mCAAmC;SACpC;KACF,CAAC;CACH,EACD;IACE,KAAK,EAAE,qCAAqC;IAC5C,YAAY,EAAE,EAAE;IAChB,MAAM,EACJ,sIAAsI;IACxI,aAAa,EAAE,EAAE;CAClB,CACF,CAAA;AAED,OAAO,EAAE,IAAI,EAAE,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\n\nconst $nsid = 'app.bsky.authFullApp'\n\nexport { $nsid }\n\nconst main = /*#__PURE__*/ l.permissionSet(\n $nsid,\n [\n /*#__PURE__*/ l.permission('rpc', {\n inheritAud: true,\n lxm: [\n 'app.bsky.actor.getPreferences',\n 'app.bsky.actor.getProfile',\n 'app.bsky.actor.getProfiles',\n 'app.bsky.actor.getSuggestions',\n 'app.bsky.actor.putPreferences',\n 'app.bsky.actor.searchActors',\n 'app.bsky.actor.searchActorsTypeahead',\n 'app.bsky.bookmark.createBookmark',\n 'app.bsky.bookmark.deleteBookmark',\n 'app.bsky.bookmark.getBookmarks',\n 'app.bsky.contact.dismissMatch',\n 'app.bsky.contact.getMatches',\n 'app.bsky.contact.getSyncStatus',\n 'app.bsky.contact.importContacts',\n 'app.bsky.contact.removeData',\n 'app.bsky.contact.startPhoneVerification',\n 'app.bsky.contact.verifyPhone',\n 'app.bsky.feed.describeFeedGenerator',\n 'app.bsky.feed.getActorFeeds',\n 'app.bsky.feed.getActorLikes',\n 'app.bsky.feed.getAuthorFeed',\n 'app.bsky.feed.getFeed',\n 'app.bsky.feed.getFeedGenerator',\n 'app.bsky.feed.getFeedGenerators',\n 'app.bsky.feed.getFeedSkeleton',\n 'app.bsky.feed.getLikes',\n 'app.bsky.feed.getListFeed',\n 'app.bsky.feed.getPostThread',\n 'app.bsky.feed.getPosts',\n 'app.bsky.feed.getQuotes',\n 'app.bsky.feed.getRepostedBy',\n 'app.bsky.feed.getSuggestedFeeds',\n 'app.bsky.feed.getTimeline',\n 'app.bsky.feed.searchPosts',\n 'app.bsky.feed.searchPostsV2',\n 'app.bsky.feed.sendInteractions',\n 'app.bsky.graph.getActorStarterPacks',\n 'app.bsky.graph.getBlocks',\n 'app.bsky.graph.getFollowers',\n 'app.bsky.graph.getFollows',\n 'app.bsky.graph.getKnownFollowers',\n 'app.bsky.graph.getList',\n 'app.bsky.graph.getListBlocks',\n 'app.bsky.graph.getListMutes',\n 'app.bsky.graph.getLists',\n 'app.bsky.graph.getListsWithMembership',\n 'app.bsky.graph.getMutes',\n 'app.bsky.graph.getRelationships',\n 'app.bsky.graph.getStarterPack',\n 'app.bsky.graph.getStarterPacks',\n 'app.bsky.graph.getStarterPacksWithMembership',\n 'app.bsky.graph.getSuggestedFollowsByActor',\n 'app.bsky.graph.muteActor',\n 'app.bsky.graph.muteActorList',\n 'app.bsky.graph.muteThread',\n 'app.bsky.graph.searchStarterPacks',\n 'app.bsky.graph.unmuteActor',\n 'app.bsky.graph.unmuteActorList',\n 'app.bsky.graph.unmuteThread',\n 'app.bsky.labeler.getServices',\n 'app.bsky.notification.getPreferences',\n 'app.bsky.notification.getUnreadCount',\n 'app.bsky.notification.listActivitySubscriptions',\n 'app.bsky.notification.listNotifications',\n 'app.bsky.notification.putActivitySubscription',\n 'app.bsky.notification.putPreferences',\n 'app.bsky.notification.putPreferencesV2',\n 'app.bsky.notification.registerPush',\n 'app.bsky.notification.unregisterPush',\n 'app.bsky.notification.updateSeen',\n 'app.bsky.unspecced.getAgeAssuranceState',\n 'app.bsky.unspecced.getConfig',\n 'app.bsky.unspecced.getOnboardingSuggestedStarterPacks',\n 'app.bsky.unspecced.getPopularFeedGenerators',\n 'app.bsky.unspecced.getPostThreadOtherV2',\n 'app.bsky.unspecced.getPostThreadV2',\n 'app.bsky.unspecced.getSuggestedFeeds',\n 'app.bsky.unspecced.getSuggestedFeedsSkeleton',\n 'app.bsky.unspecced.getSuggestedStarterPacks',\n 'app.bsky.unspecced.getSuggestedStarterPacksSkeleton',\n 'app.bsky.unspecced.getSuggestedUsers',\n 'app.bsky.unspecced.getSuggestedUsersSkeleton',\n 'app.bsky.unspecced.getSuggestionsSkeleton',\n 'app.bsky.unspecced.getTaggedSuggestions',\n 'app.bsky.unspecced.getTrendingTopics',\n 'app.bsky.unspecced.getTrends',\n 'app.bsky.unspecced.getTrendsSkeleton',\n 'app.bsky.unspecced.initAgeAssurance',\n 'app.bsky.unspecced.searchActorsSkeleton',\n 'app.bsky.unspecced.searchPostsSkeleton',\n 'app.bsky.unspecced.searchStarterPacksSkeleton',\n 'app.bsky.video.getJobStatus',\n 'app.bsky.video.getUploadLimits',\n 'app.bsky.video.uploadVideo',\n ],\n }),\n /*#__PURE__*/ l.permission('repo', {\n action: ['create', 'update', 'delete'],\n collection: [\n 'app.bsky.actor.profile',\n 'app.bsky.actor.status',\n 'app.bsky.feed.like',\n 'app.bsky.feed.post',\n 'app.bsky.feed.postgate',\n 'app.bsky.feed.repost',\n 'app.bsky.feed.threadgate',\n 'app.bsky.graph.block',\n 'app.bsky.graph.follow',\n 'app.bsky.graph.list',\n 'app.bsky.graph.listblock',\n 'app.bsky.graph.listitem',\n 'app.bsky.graph.starterpack',\n 'app.bsky.notification.declaration',\n ],\n }),\n ],\n {\n title: 'Full Bluesky Social App Permissions',\n 'title:lang': {},\n detail:\n 'Manage all public content and interactions, private preferences and subscriptions, and other Bluesky-specific app features and data.',\n 'detail:lang': {},\n },\n)\n\nexport { main }\n"]}
|
|
1
|
+
{"version":3,"file":"authFullApp.defs.js","sourceRoot":"","sources":["../../../../src/lexicons/app/bsky/authFullApp.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAEhC,MAAM,KAAK,GAAG,sBAAsB,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CACxC,KAAK,EACL;IACE,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE;QAChC,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE;YACH,+BAA+B;YAC/B,2BAA2B;YAC3B,4BAA4B;YAC5B,+BAA+B;YAC/B,+BAA+B;YAC/B,6BAA6B;YAC7B,sCAAsC;YACtC,kCAAkC;YAClC,kCAAkC;YAClC,gCAAgC;YAChC,+BAA+B;YAC/B,6BAA6B;YAC7B,gCAAgC;YAChC,iCAAiC;YACjC,6BAA6B;YAC7B,yCAAyC;YACzC,8BAA8B;YAC9B,qCAAqC;YACrC,6BAA6B;YAC7B,6BAA6B;YAC7B,6BAA6B;YAC7B,uBAAuB;YACvB,gCAAgC;YAChC,iCAAiC;YACjC,+BAA+B;YAC/B,wBAAwB;YACxB,2BAA2B;YAC3B,6BAA6B;YAC7B,wBAAwB;YACxB,yBAAyB;YACzB,6BAA6B;YAC7B,iCAAiC;YACjC,2BAA2B;YAC3B,2BAA2B;YAC3B,6BAA6B;YAC7B,gCAAgC;YAChC,qCAAqC;YACrC,0BAA0B;YAC1B,6BAA6B;YAC7B,2BAA2B;YAC3B,kCAAkC;YAClC,wBAAwB;YACxB,8BAA8B;YAC9B,6BAA6B;YAC7B,yBAAyB;YACzB,uCAAuC;YACvC,yBAAyB;YACzB,iCAAiC;YACjC,+BAA+B;YAC/B,gCAAgC;YAChC,8CAA8C;YAC9C,2CAA2C;YAC3C,0BAA0B;YAC1B,8BAA8B;YAC9B,2BAA2B;YAC3B,mCAAmC;YACnC,qCAAqC;YACrC,4BAA4B;YAC5B,gCAAgC;YAChC,6BAA6B;YAC7B,8BAA8B;YAC9B,sCAAsC;YACtC,sCAAsC;YACtC,iDAAiD;YACjD,yCAAyC;YACzC,+CAA+C;YAC/C,sCAAsC;YACtC,wCAAwC;YACxC,oCAAoC;YACpC,sCAAsC;YACtC,kCAAkC;YAClC,yCAAyC;YACzC,8BAA8B;YAC9B,uDAAuD;YACvD,6CAA6C;YAC7C,yCAAyC;YACzC,oCAAoC;YACpC,sCAAsC;YACtC,8CAA8C;YAC9C,6CAA6C;YAC7C,qDAAqD;YACrD,sCAAsC;YACtC,8CAA8C;YAC9C,2CAA2C;YAC3C,yCAAyC;YACzC,sCAAsC;YACtC,8BAA8B;YAC9B,sCAAsC;YACtC,qCAAqC;YACrC,yCAAyC;YACzC,wCAAwC;YACxC,+CAA+C;YAC/C,6BAA6B;YAC7B,gCAAgC;YAChC,4BAA4B;SAC7B;KACF,CAAC;IACF,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;QACjC,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACtC,UAAU,EAAE;YACV,wBAAwB;YACxB,uBAAuB;YACvB,oBAAoB;YACpB,oBAAoB;YACpB,wBAAwB;YACxB,sBAAsB;YACtB,0BAA0B;YAC1B,sBAAsB;YACtB,uBAAuB;YACvB,qBAAqB;YACrB,0BAA0B;YAC1B,yBAAyB;YACzB,4BAA4B;YAC5B,mCAAmC;SACpC;KACF,CAAC;CACH,EACD;IACE,KAAK,EAAE,qCAAqC;IAC5C,YAAY,EAAE,EAAE;IAChB,MAAM,EACJ,sIAAsI;IACxI,aAAa,EAAE,EAAE;CAClB,CACF,CAAA;AAED,OAAO,EAAE,IAAI,EAAE,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\n\nconst $nsid = 'app.bsky.authFullApp'\n\nexport { $nsid }\n\nconst main = /*#__PURE__*/ l.permissionSet(\n $nsid,\n [\n /*#__PURE__*/ l.permission('rpc', {\n inheritAud: true,\n lxm: [\n 'app.bsky.actor.getPreferences',\n 'app.bsky.actor.getProfile',\n 'app.bsky.actor.getProfiles',\n 'app.bsky.actor.getSuggestions',\n 'app.bsky.actor.putPreferences',\n 'app.bsky.actor.searchActors',\n 'app.bsky.actor.searchActorsTypeahead',\n 'app.bsky.bookmark.createBookmark',\n 'app.bsky.bookmark.deleteBookmark',\n 'app.bsky.bookmark.getBookmarks',\n 'app.bsky.contact.dismissMatch',\n 'app.bsky.contact.getMatches',\n 'app.bsky.contact.getSyncStatus',\n 'app.bsky.contact.importContacts',\n 'app.bsky.contact.removeData',\n 'app.bsky.contact.startPhoneVerification',\n 'app.bsky.contact.verifyPhone',\n 'app.bsky.feed.describeFeedGenerator',\n 'app.bsky.feed.getActorFeeds',\n 'app.bsky.feed.getActorLikes',\n 'app.bsky.feed.getAuthorFeed',\n 'app.bsky.feed.getFeed',\n 'app.bsky.feed.getFeedGenerator',\n 'app.bsky.feed.getFeedGenerators',\n 'app.bsky.feed.getFeedSkeleton',\n 'app.bsky.feed.getLikes',\n 'app.bsky.feed.getListFeed',\n 'app.bsky.feed.getPostThread',\n 'app.bsky.feed.getPosts',\n 'app.bsky.feed.getQuotes',\n 'app.bsky.feed.getRepostedBy',\n 'app.bsky.feed.getSuggestedFeeds',\n 'app.bsky.feed.getTimeline',\n 'app.bsky.feed.searchPosts',\n 'app.bsky.feed.searchPostsV2',\n 'app.bsky.feed.sendInteractions',\n 'app.bsky.graph.getActorStarterPacks',\n 'app.bsky.graph.getBlocks',\n 'app.bsky.graph.getFollowers',\n 'app.bsky.graph.getFollows',\n 'app.bsky.graph.getKnownFollowers',\n 'app.bsky.graph.getList',\n 'app.bsky.graph.getListBlocks',\n 'app.bsky.graph.getListMutes',\n 'app.bsky.graph.getLists',\n 'app.bsky.graph.getListsWithMembership',\n 'app.bsky.graph.getMutes',\n 'app.bsky.graph.getRelationships',\n 'app.bsky.graph.getStarterPack',\n 'app.bsky.graph.getStarterPacks',\n 'app.bsky.graph.getStarterPacksWithMembership',\n 'app.bsky.graph.getSuggestedFollowsByActor',\n 'app.bsky.graph.muteActor',\n 'app.bsky.graph.muteActorList',\n 'app.bsky.graph.muteThread',\n 'app.bsky.graph.searchStarterPacks',\n 'app.bsky.graph.searchStarterPacksV2',\n 'app.bsky.graph.unmuteActor',\n 'app.bsky.graph.unmuteActorList',\n 'app.bsky.graph.unmuteThread',\n 'app.bsky.labeler.getServices',\n 'app.bsky.notification.getPreferences',\n 'app.bsky.notification.getUnreadCount',\n 'app.bsky.notification.listActivitySubscriptions',\n 'app.bsky.notification.listNotifications',\n 'app.bsky.notification.putActivitySubscription',\n 'app.bsky.notification.putPreferences',\n 'app.bsky.notification.putPreferencesV2',\n 'app.bsky.notification.registerPush',\n 'app.bsky.notification.unregisterPush',\n 'app.bsky.notification.updateSeen',\n 'app.bsky.unspecced.getAgeAssuranceState',\n 'app.bsky.unspecced.getConfig',\n 'app.bsky.unspecced.getOnboardingSuggestedStarterPacks',\n 'app.bsky.unspecced.getPopularFeedGenerators',\n 'app.bsky.unspecced.getPostThreadOtherV2',\n 'app.bsky.unspecced.getPostThreadV2',\n 'app.bsky.unspecced.getSuggestedFeeds',\n 'app.bsky.unspecced.getSuggestedFeedsSkeleton',\n 'app.bsky.unspecced.getSuggestedStarterPacks',\n 'app.bsky.unspecced.getSuggestedStarterPacksSkeleton',\n 'app.bsky.unspecced.getSuggestedUsers',\n 'app.bsky.unspecced.getSuggestedUsersSkeleton',\n 'app.bsky.unspecced.getSuggestionsSkeleton',\n 'app.bsky.unspecced.getTaggedSuggestions',\n 'app.bsky.unspecced.getTrendingTopics',\n 'app.bsky.unspecced.getTrends',\n 'app.bsky.unspecced.getTrendsSkeleton',\n 'app.bsky.unspecced.initAgeAssurance',\n 'app.bsky.unspecced.searchActorsSkeleton',\n 'app.bsky.unspecced.searchPostsSkeleton',\n 'app.bsky.unspecced.searchStarterPacksSkeleton',\n 'app.bsky.video.getJobStatus',\n 'app.bsky.video.getUploadLimits',\n 'app.bsky.video.uploadVideo',\n ],\n }),\n /*#__PURE__*/ l.permission('repo', {\n action: ['create', 'update', 'delete'],\n collection: [\n 'app.bsky.actor.profile',\n 'app.bsky.actor.status',\n 'app.bsky.feed.like',\n 'app.bsky.feed.post',\n 'app.bsky.feed.postgate',\n 'app.bsky.feed.repost',\n 'app.bsky.feed.threadgate',\n 'app.bsky.graph.block',\n 'app.bsky.graph.follow',\n 'app.bsky.graph.list',\n 'app.bsky.graph.listblock',\n 'app.bsky.graph.listitem',\n 'app.bsky.graph.starterpack',\n 'app.bsky.notification.declaration',\n ],\n }),\n ],\n {\n title: 'Full Bluesky Social App Permissions',\n 'title:lang': {},\n detail:\n 'Manage all public content and interactions, private preferences and subscriptions, and other Bluesky-specific app features and data.',\n 'detail:lang': {},\n },\n)\n\nexport { main }\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authViewAll.defs.d.ts","sourceRoot":"","sources":["../../../../src/lexicons/app/bsky/authViewAll.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAEhC,QAAA,MAAM,KAAK,yBAAyB,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,QAAA,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"authViewAll.defs.d.ts","sourceRoot":"","sources":["../../../../src/lexicons/app/bsky/authViewAll.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAEhC,QAAA,MAAM,KAAK,yBAAyB,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,QAAA,MAAM,IAAI,kKAqFT,CAAA;AAED,OAAO,EAAE,IAAI,EAAE,CAAA"}
|
|
@@ -49,6 +49,7 @@ const main = /*#__PURE__*/ l.permissionSet($nsid, [
|
|
|
49
49
|
'app.bsky.graph.getStarterPacksWithMembership',
|
|
50
50
|
'app.bsky.graph.getSuggestedFollowsByActor',
|
|
51
51
|
'app.bsky.graph.searchStarterPacks',
|
|
52
|
+
'app.bsky.graph.searchStarterPacksV2',
|
|
52
53
|
'app.bsky.labeler.getServices',
|
|
53
54
|
'app.bsky.notification.getPreferences',
|
|
54
55
|
'app.bsky.notification.getUnreadCount',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authViewAll.defs.js","sourceRoot":"","sources":["../../../../src/lexicons/app/bsky/authViewAll.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAEhC,MAAM,KAAK,GAAG,sBAAsB,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CACxC,KAAK,EACL;IACE,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE;QAChC,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE;YACH,+BAA+B;YAC/B,2BAA2B;YAC3B,4BAA4B;YAC5B,+BAA+B;YAC/B,6BAA6B;YAC7B,sCAAsC;YACtC,gCAAgC;YAChC,qCAAqC;YACrC,6BAA6B;YAC7B,6BAA6B;YAC7B,6BAA6B;YAC7B,uBAAuB;YACvB,gCAAgC;YAChC,iCAAiC;YACjC,+BAA+B;YAC/B,wBAAwB;YACxB,2BAA2B;YAC3B,6BAA6B;YAC7B,wBAAwB;YACxB,yBAAyB;YACzB,6BAA6B;YAC7B,iCAAiC;YACjC,2BAA2B;YAC3B,2BAA2B;YAC3B,6BAA6B;YAC7B,qCAAqC;YACrC,0BAA0B;YAC1B,6BAA6B;YAC7B,2BAA2B;YAC3B,kCAAkC;YAClC,8BAA8B;YAC9B,6BAA6B;YAC7B,yBAAyB;YACzB,uCAAuC;YACvC,yBAAyB;YACzB,iCAAiC;YACjC,+BAA+B;YAC/B,gCAAgC;YAChC,8CAA8C;YAC9C,2CAA2C;YAC3C,mCAAmC;YACnC,8BAA8B;YAC9B,sCAAsC;YACtC,sCAAsC;YACtC,iDAAiD;YACjD,yCAAyC;YACzC,kCAAkC;YAClC,yCAAyC;YACzC,8BAA8B;YAC9B,uDAAuD;YACvD,6CAA6C;YAC7C,yCAAyC;YACzC,oCAAoC;YACpC,sCAAsC;YACtC,8CAA8C;YAC9C,6CAA6C;YAC7C,qDAAqD;YACrD,sCAAsC;YACtC,8CAA8C;YAC9C,2CAA2C;YAC3C,yCAAyC;YACzC,sCAAsC;YACtC,8BAA8B;YAC9B,sCAAsC;YACtC,yCAAyC;YACzC,wCAAwC;YACxC,+CAA+C;YAC/C,gCAAgC;SACjC;KACF,CAAC;CACH,EACD;IACE,KAAK,EAAE,iCAAiC;IACxC,YAAY,EAAE,EAAE;IAChB,MAAM,EACJ,oGAAoG;IACtG,aAAa,EAAE,EAAE;CAClB,CACF,CAAA;AAED,OAAO,EAAE,IAAI,EAAE,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\n\nconst $nsid = 'app.bsky.authViewAll'\n\nexport { $nsid }\n\nconst main = /*#__PURE__*/ l.permissionSet(\n $nsid,\n [\n /*#__PURE__*/ l.permission('rpc', {\n inheritAud: true,\n lxm: [\n 'app.bsky.actor.getPreferences',\n 'app.bsky.actor.getProfile',\n 'app.bsky.actor.getProfiles',\n 'app.bsky.actor.getSuggestions',\n 'app.bsky.actor.searchActors',\n 'app.bsky.actor.searchActorsTypeahead',\n 'app.bsky.bookmark.getBookmarks',\n 'app.bsky.feed.describeFeedGenerator',\n 'app.bsky.feed.getActorFeeds',\n 'app.bsky.feed.getActorLikes',\n 'app.bsky.feed.getAuthorFeed',\n 'app.bsky.feed.getFeed',\n 'app.bsky.feed.getFeedGenerator',\n 'app.bsky.feed.getFeedGenerators',\n 'app.bsky.feed.getFeedSkeleton',\n 'app.bsky.feed.getLikes',\n 'app.bsky.feed.getListFeed',\n 'app.bsky.feed.getPostThread',\n 'app.bsky.feed.getPosts',\n 'app.bsky.feed.getQuotes',\n 'app.bsky.feed.getRepostedBy',\n 'app.bsky.feed.getSuggestedFeeds',\n 'app.bsky.feed.getTimeline',\n 'app.bsky.feed.searchPosts',\n 'app.bsky.feed.searchPostsV2',\n 'app.bsky.graph.getActorStarterPacks',\n 'app.bsky.graph.getBlocks',\n 'app.bsky.graph.getFollowers',\n 'app.bsky.graph.getFollows',\n 'app.bsky.graph.getKnownFollowers',\n 'app.bsky.graph.getListBlocks',\n 'app.bsky.graph.getListMutes',\n 'app.bsky.graph.getLists',\n 'app.bsky.graph.getListsWithMembership',\n 'app.bsky.graph.getMutes',\n 'app.bsky.graph.getRelationships',\n 'app.bsky.graph.getStarterPack',\n 'app.bsky.graph.getStarterPacks',\n 'app.bsky.graph.getStarterPacksWithMembership',\n 'app.bsky.graph.getSuggestedFollowsByActor',\n 'app.bsky.graph.searchStarterPacks',\n 'app.bsky.labeler.getServices',\n 'app.bsky.notification.getPreferences',\n 'app.bsky.notification.getUnreadCount',\n 'app.bsky.notification.listActivitySubscriptions',\n 'app.bsky.notification.listNotifications',\n 'app.bsky.notification.updateSeen',\n 'app.bsky.unspecced.getAgeAssuranceState',\n 'app.bsky.unspecced.getConfig',\n 'app.bsky.unspecced.getOnboardingSuggestedStarterPacks',\n 'app.bsky.unspecced.getPopularFeedGenerators',\n 'app.bsky.unspecced.getPostThreadOtherV2',\n 'app.bsky.unspecced.getPostThreadV2',\n 'app.bsky.unspecced.getSuggestedFeeds',\n 'app.bsky.unspecced.getSuggestedFeedsSkeleton',\n 'app.bsky.unspecced.getSuggestedStarterPacks',\n 'app.bsky.unspecced.getSuggestedStarterPacksSkeleton',\n 'app.bsky.unspecced.getSuggestedUsers',\n 'app.bsky.unspecced.getSuggestedUsersSkeleton',\n 'app.bsky.unspecced.getSuggestionsSkeleton',\n 'app.bsky.unspecced.getTaggedSuggestions',\n 'app.bsky.unspecced.getTrendingTopics',\n 'app.bsky.unspecced.getTrends',\n 'app.bsky.unspecced.getTrendsSkeleton',\n 'app.bsky.unspecced.searchActorsSkeleton',\n 'app.bsky.unspecced.searchPostsSkeleton',\n 'app.bsky.unspecced.searchStarterPacksSkeleton',\n 'app.bsky.video.getUploadLimits',\n ],\n }),\n ],\n {\n title: 'Read-only access to all content',\n 'title:lang': {},\n detail:\n 'View Bluesky network content from account perspective, and read all notifications and preferences.',\n 'detail:lang': {},\n },\n)\n\nexport { main }\n"]}
|
|
1
|
+
{"version":3,"file":"authViewAll.defs.js","sourceRoot":"","sources":["../../../../src/lexicons/app/bsky/authViewAll.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAEhC,MAAM,KAAK,GAAG,sBAAsB,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CACxC,KAAK,EACL;IACE,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE;QAChC,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE;YACH,+BAA+B;YAC/B,2BAA2B;YAC3B,4BAA4B;YAC5B,+BAA+B;YAC/B,6BAA6B;YAC7B,sCAAsC;YACtC,gCAAgC;YAChC,qCAAqC;YACrC,6BAA6B;YAC7B,6BAA6B;YAC7B,6BAA6B;YAC7B,uBAAuB;YACvB,gCAAgC;YAChC,iCAAiC;YACjC,+BAA+B;YAC/B,wBAAwB;YACxB,2BAA2B;YAC3B,6BAA6B;YAC7B,wBAAwB;YACxB,yBAAyB;YACzB,6BAA6B;YAC7B,iCAAiC;YACjC,2BAA2B;YAC3B,2BAA2B;YAC3B,6BAA6B;YAC7B,qCAAqC;YACrC,0BAA0B;YAC1B,6BAA6B;YAC7B,2BAA2B;YAC3B,kCAAkC;YAClC,8BAA8B;YAC9B,6BAA6B;YAC7B,yBAAyB;YACzB,uCAAuC;YACvC,yBAAyB;YACzB,iCAAiC;YACjC,+BAA+B;YAC/B,gCAAgC;YAChC,8CAA8C;YAC9C,2CAA2C;YAC3C,mCAAmC;YACnC,qCAAqC;YACrC,8BAA8B;YAC9B,sCAAsC;YACtC,sCAAsC;YACtC,iDAAiD;YACjD,yCAAyC;YACzC,kCAAkC;YAClC,yCAAyC;YACzC,8BAA8B;YAC9B,uDAAuD;YACvD,6CAA6C;YAC7C,yCAAyC;YACzC,oCAAoC;YACpC,sCAAsC;YACtC,8CAA8C;YAC9C,6CAA6C;YAC7C,qDAAqD;YACrD,sCAAsC;YACtC,8CAA8C;YAC9C,2CAA2C;YAC3C,yCAAyC;YACzC,sCAAsC;YACtC,8BAA8B;YAC9B,sCAAsC;YACtC,yCAAyC;YACzC,wCAAwC;YACxC,+CAA+C;YAC/C,gCAAgC;SACjC;KACF,CAAC;CACH,EACD;IACE,KAAK,EAAE,iCAAiC;IACxC,YAAY,EAAE,EAAE;IAChB,MAAM,EACJ,oGAAoG;IACtG,aAAa,EAAE,EAAE;CAClB,CACF,CAAA;AAED,OAAO,EAAE,IAAI,EAAE,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\n\nconst $nsid = 'app.bsky.authViewAll'\n\nexport { $nsid }\n\nconst main = /*#__PURE__*/ l.permissionSet(\n $nsid,\n [\n /*#__PURE__*/ l.permission('rpc', {\n inheritAud: true,\n lxm: [\n 'app.bsky.actor.getPreferences',\n 'app.bsky.actor.getProfile',\n 'app.bsky.actor.getProfiles',\n 'app.bsky.actor.getSuggestions',\n 'app.bsky.actor.searchActors',\n 'app.bsky.actor.searchActorsTypeahead',\n 'app.bsky.bookmark.getBookmarks',\n 'app.bsky.feed.describeFeedGenerator',\n 'app.bsky.feed.getActorFeeds',\n 'app.bsky.feed.getActorLikes',\n 'app.bsky.feed.getAuthorFeed',\n 'app.bsky.feed.getFeed',\n 'app.bsky.feed.getFeedGenerator',\n 'app.bsky.feed.getFeedGenerators',\n 'app.bsky.feed.getFeedSkeleton',\n 'app.bsky.feed.getLikes',\n 'app.bsky.feed.getListFeed',\n 'app.bsky.feed.getPostThread',\n 'app.bsky.feed.getPosts',\n 'app.bsky.feed.getQuotes',\n 'app.bsky.feed.getRepostedBy',\n 'app.bsky.feed.getSuggestedFeeds',\n 'app.bsky.feed.getTimeline',\n 'app.bsky.feed.searchPosts',\n 'app.bsky.feed.searchPostsV2',\n 'app.bsky.graph.getActorStarterPacks',\n 'app.bsky.graph.getBlocks',\n 'app.bsky.graph.getFollowers',\n 'app.bsky.graph.getFollows',\n 'app.bsky.graph.getKnownFollowers',\n 'app.bsky.graph.getListBlocks',\n 'app.bsky.graph.getListMutes',\n 'app.bsky.graph.getLists',\n 'app.bsky.graph.getListsWithMembership',\n 'app.bsky.graph.getMutes',\n 'app.bsky.graph.getRelationships',\n 'app.bsky.graph.getStarterPack',\n 'app.bsky.graph.getStarterPacks',\n 'app.bsky.graph.getStarterPacksWithMembership',\n 'app.bsky.graph.getSuggestedFollowsByActor',\n 'app.bsky.graph.searchStarterPacks',\n 'app.bsky.graph.searchStarterPacksV2',\n 'app.bsky.labeler.getServices',\n 'app.bsky.notification.getPreferences',\n 'app.bsky.notification.getUnreadCount',\n 'app.bsky.notification.listActivitySubscriptions',\n 'app.bsky.notification.listNotifications',\n 'app.bsky.notification.updateSeen',\n 'app.bsky.unspecced.getAgeAssuranceState',\n 'app.bsky.unspecced.getConfig',\n 'app.bsky.unspecced.getOnboardingSuggestedStarterPacks',\n 'app.bsky.unspecced.getPopularFeedGenerators',\n 'app.bsky.unspecced.getPostThreadOtherV2',\n 'app.bsky.unspecced.getPostThreadV2',\n 'app.bsky.unspecced.getSuggestedFeeds',\n 'app.bsky.unspecced.getSuggestedFeedsSkeleton',\n 'app.bsky.unspecced.getSuggestedStarterPacks',\n 'app.bsky.unspecced.getSuggestedStarterPacksSkeleton',\n 'app.bsky.unspecced.getSuggestedUsers',\n 'app.bsky.unspecced.getSuggestedUsersSkeleton',\n 'app.bsky.unspecced.getSuggestionsSkeleton',\n 'app.bsky.unspecced.getTaggedSuggestions',\n 'app.bsky.unspecced.getTrendingTopics',\n 'app.bsky.unspecced.getTrends',\n 'app.bsky.unspecced.getTrendsSkeleton',\n 'app.bsky.unspecced.searchActorsSkeleton',\n 'app.bsky.unspecced.searchPostsSkeleton',\n 'app.bsky.unspecced.searchStarterPacksSkeleton',\n 'app.bsky.video.getUploadLimits',\n ],\n }),\n ],\n {\n title: 'Read-only access to all content',\n 'title:lang': {},\n detail:\n 'View Bluesky network content from account perspective, and read all notifications and preferences.',\n 'detail:lang': {},\n },\n)\n\nexport { main }\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchStarterPacksV2.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/graph/searchStarterPacksV2.ts"],"names":[],"mappings":"AAIA,cAAc,gCAAgC,CAAA;AAC9C,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,gCAAgC,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { l } from '@atproto/lex';
|
|
2
|
+
import * as GraphDefs from './defs.defs.js';
|
|
3
|
+
declare const $nsid = "app.bsky.graph.searchStarterPacksV2";
|
|
4
|
+
export { $nsid };
|
|
5
|
+
export declare const $params: l.ParamsSchema<{
|
|
6
|
+
readonly q: l.StringSchema<{}>;
|
|
7
|
+
readonly limit: l.OptionalSchema<l.WithDefaultSchema<l.IntegerSchema>>;
|
|
8
|
+
readonly cursor: l.OptionalSchema<l.StringSchema<{}>>;
|
|
9
|
+
}>;
|
|
10
|
+
export type $Params = l.InferOutput<typeof $params>;
|
|
11
|
+
export declare const $output: l.Payload<"application/json", l.ObjectSchema<{
|
|
12
|
+
cursor: l.OptionalSchema<l.StringSchema<{}>>;
|
|
13
|
+
hitsTotal: l.OptionalSchema<l.IntegerSchema>;
|
|
14
|
+
starterPacks: l.ArraySchema<l.RefSchema<l.Validator<GraphDefs.StarterPackView, GraphDefs.StarterPackView>>>;
|
|
15
|
+
}>>;
|
|
16
|
+
export type $Output<B = l.BinaryData> = l.InferPayload<typeof $output, B>;
|
|
17
|
+
export type $OutputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $output, B>;
|
|
18
|
+
/** Find starter packs matching search criteria. Does not require auth. */
|
|
19
|
+
declare const main: l.Query<"app.bsky.graph.searchStarterPacksV2", l.ParamsSchema<{
|
|
20
|
+
readonly q: l.StringSchema<{}>;
|
|
21
|
+
readonly limit: l.OptionalSchema<l.WithDefaultSchema<l.IntegerSchema>>;
|
|
22
|
+
readonly cursor: l.OptionalSchema<l.StringSchema<{}>>;
|
|
23
|
+
}>, l.Payload<"application/json", l.ObjectSchema<{
|
|
24
|
+
cursor: l.OptionalSchema<l.StringSchema<{}>>;
|
|
25
|
+
hitsTotal: l.OptionalSchema<l.IntegerSchema>;
|
|
26
|
+
starterPacks: l.ArraySchema<l.RefSchema<l.Validator<GraphDefs.StarterPackView, GraphDefs.StarterPackView>>>;
|
|
27
|
+
}>>, undefined>;
|
|
28
|
+
export { main };
|
|
29
|
+
export declare const $lxm = "app.bsky.graph.searchStarterPacksV2";
|
|
30
|
+
//# sourceMappingURL=searchStarterPacksV2.defs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchStarterPacksV2.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/graph/searchStarterPacksV2.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,QAAA,MAAM,KAAK,wCAAwC,CAAA;AAEnD,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,eAAO,MAAM,OAAO;;;;EASlB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAA;AAEnD,eAAO,MAAM,OAAO;;;;GAQlB,CAAA;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAA;AACzE,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAC5D,OAAO,OAAO,EACd,CAAC,CACF,CAAA;AAED,0EAA0E;AAC1E,QAAA,MAAM,IAAI;;;;;;;;eAAiD,CAAA;AAE3D,OAAO,EAAE,IAAI,EAAE,CAAA;AAEf,eAAO,MAAM,IAAI,wCAAQ,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
import { l } from '@atproto/lex';
|
|
5
|
+
import * as GraphDefs from './defs.defs.js';
|
|
6
|
+
const $nsid = 'app.bsky.graph.searchStarterPacksV2';
|
|
7
|
+
export { $nsid };
|
|
8
|
+
export const $params = /*#__PURE__*/ l.params({
|
|
9
|
+
q: /*#__PURE__*/ l.string(),
|
|
10
|
+
limit: /*#__PURE__*/ l.optional(
|
|
11
|
+
/*#__PURE__*/ l.withDefault(
|
|
12
|
+
/*#__PURE__*/ l.integer({ minimum: 1, maximum: 100 }), 25)),
|
|
13
|
+
cursor: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),
|
|
14
|
+
});
|
|
15
|
+
export const $output = /*#__PURE__*/ l.jsonPayload({
|
|
16
|
+
cursor: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),
|
|
17
|
+
hitsTotal: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.integer()),
|
|
18
|
+
starterPacks: /*#__PURE__*/ l.array(
|
|
19
|
+
/*#__PURE__*/ l.ref((() => GraphDefs.starterPackView))),
|
|
20
|
+
});
|
|
21
|
+
/** Find starter packs matching search criteria. Does not require auth. */
|
|
22
|
+
const main = /*#__PURE__*/ l.query($nsid, $params, $output);
|
|
23
|
+
export { main };
|
|
24
|
+
export const $lxm = $nsid;
|
|
25
|
+
//# sourceMappingURL=searchStarterPacksV2.defs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchStarterPacksV2.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/graph/searchStarterPacksV2.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,MAAM,KAAK,GAAG,qCAAqC,CAAA;AAEnD,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE;IAC3B,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ;IAC7B,aAAa,CAAC,CAAC,CAAC,WAAW;IACzB,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EACrD,EAAE,CACH,CACF;IACD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC3D,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IACjD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1D,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9D,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK;IACjC,aAAa,CAAC,CAAC,CAAC,GAAG,CACjB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,eAAe,CAAQ,CACzC,CACF;CACF,CAAC,CAAA;AAQF,0EAA0E;AAC1E,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAE3D,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 GraphDefs from './defs.defs.js'\n\nconst $nsid = 'app.bsky.graph.searchStarterPacksV2'\n\nexport { $nsid }\n\nexport const $params = /*#__PURE__*/ l.params({\n q: /*#__PURE__*/ l.string(),\n limit: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.withDefault(\n /*#__PURE__*/ l.integer({ minimum: 1, maximum: 100 }),\n 25,\n ),\n ),\n cursor: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n})\n\nexport type $Params = l.InferOutput<typeof $params>\n\nexport const $output = /*#__PURE__*/ l.jsonPayload({\n cursor: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n hitsTotal: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.integer()),\n starterPacks: /*#__PURE__*/ l.array(\n /*#__PURE__*/ l.ref<GraphDefs.StarterPackView>(\n (() => GraphDefs.starterPackView) as any,\n ),\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/** Find starter packs matching search criteria. Does not require auth. */\nconst main = /*#__PURE__*/ l.query($nsid, $params, $output)\n\nexport { main }\n\nexport const $lxm = $nsid\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchStarterPacksV2.js","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/graph/searchStarterPacksV2.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,gCAAgC,CAAA;AAC9C,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,gCAAgC,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nexport * from './searchStarterPacksV2.defs.js'\nexport { main as default } from './searchStarterPacksV2.defs.js'\n"]}
|
|
@@ -24,6 +24,7 @@ export * as muteActor from './graph/muteActor.js';
|
|
|
24
24
|
export * as muteActorList from './graph/muteActorList.js';
|
|
25
25
|
export * as muteThread from './graph/muteThread.js';
|
|
26
26
|
export * as searchStarterPacks from './graph/searchStarterPacks.js';
|
|
27
|
+
export * as searchStarterPacksV2 from './graph/searchStarterPacksV2.js';
|
|
27
28
|
export * as starterpack from './graph/starterpack.js';
|
|
28
29
|
export * as unmuteActor from './graph/unmuteActor.js';
|
|
29
30
|
export * as unmuteActorList from './graph/unmuteActorList.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../src/lexicons/app/bsky/graph.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,oBAAoB,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,iBAAiB,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,sBAAsB,MAAM,mCAAmC,CAAA;AAC3E,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,6BAA6B,MAAM,0CAA0C,CAAA;AACzF,OAAO,KAAK,0BAA0B,MAAM,uCAAuC,CAAA;AACnF,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,kBAAkB,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA"}
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../src/lexicons/app/bsky/graph.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,oBAAoB,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,iBAAiB,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,sBAAsB,MAAM,mCAAmC,CAAA;AAC3E,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,6BAA6B,MAAM,0CAA0C,CAAA;AACzF,OAAO,KAAK,0BAA0B,MAAM,uCAAuC,CAAA;AACnF,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,kBAAkB,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,oBAAoB,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA"}
|
|
@@ -27,6 +27,7 @@ export * as muteActor from './graph/muteActor.js';
|
|
|
27
27
|
export * as muteActorList from './graph/muteActorList.js';
|
|
28
28
|
export * as muteThread from './graph/muteThread.js';
|
|
29
29
|
export * as searchStarterPacks from './graph/searchStarterPacks.js';
|
|
30
|
+
export * as searchStarterPacksV2 from './graph/searchStarterPacksV2.js';
|
|
30
31
|
export * as starterpack from './graph/starterpack.js';
|
|
31
32
|
export * as unmuteActor from './graph/unmuteActor.js';
|
|
32
33
|
export * as unmuteActorList from './graph/unmuteActorList.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../src/lexicons/app/bsky/graph.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,oBAAoB,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,iBAAiB,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,sBAAsB,MAAM,mCAAmC,CAAA;AAC3E,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,6BAA6B,MAAM,0CAA0C,CAAA;AACzF,OAAO,KAAK,0BAA0B,MAAM,uCAAuC,CAAA;AACnF,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,kBAAkB,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nexport * as block from './graph/block.js'\nexport * as defs from './graph/defs.js'\nexport * as follow from './graph/follow.js'\nexport * as getActorStarterPacks from './graph/getActorStarterPacks.js'\nexport * as getBlocks from './graph/getBlocks.js'\nexport * as getFollowers from './graph/getFollowers.js'\nexport * as getFollows from './graph/getFollows.js'\nexport * as getKnownFollowers from './graph/getKnownFollowers.js'\nexport * as getList from './graph/getList.js'\nexport * as getListBlocks from './graph/getListBlocks.js'\nexport * as getListMutes from './graph/getListMutes.js'\nexport * as getLists from './graph/getLists.js'\nexport * as getListsWithMembership from './graph/getListsWithMembership.js'\nexport * as getMutes from './graph/getMutes.js'\nexport * as getRelationships from './graph/getRelationships.js'\nexport * as getStarterPack from './graph/getStarterPack.js'\nexport * as getStarterPacks from './graph/getStarterPacks.js'\nexport * as getStarterPacksWithMembership from './graph/getStarterPacksWithMembership.js'\nexport * as getSuggestedFollowsByActor from './graph/getSuggestedFollowsByActor.js'\nexport * as list from './graph/list.js'\nexport * as listblock from './graph/listblock.js'\nexport * as listitem from './graph/listitem.js'\nexport * as muteActor from './graph/muteActor.js'\nexport * as muteActorList from './graph/muteActorList.js'\nexport * as muteThread from './graph/muteThread.js'\nexport * as searchStarterPacks from './graph/searchStarterPacks.js'\nexport * as starterpack from './graph/starterpack.js'\nexport * as unmuteActor from './graph/unmuteActor.js'\nexport * as unmuteActorList from './graph/unmuteActorList.js'\nexport * as unmuteThread from './graph/unmuteThread.js'\nexport * as verification from './graph/verification.js'\n"]}
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../src/lexicons/app/bsky/graph.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,oBAAoB,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,iBAAiB,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,sBAAsB,MAAM,mCAAmC,CAAA;AAC3E,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,6BAA6B,MAAM,0CAA0C,CAAA;AACzF,OAAO,KAAK,0BAA0B,MAAM,uCAAuC,CAAA;AACnF,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,kBAAkB,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,oBAAoB,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nexport * as block from './graph/block.js'\nexport * as defs from './graph/defs.js'\nexport * as follow from './graph/follow.js'\nexport * as getActorStarterPacks from './graph/getActorStarterPacks.js'\nexport * as getBlocks from './graph/getBlocks.js'\nexport * as getFollowers from './graph/getFollowers.js'\nexport * as getFollows from './graph/getFollows.js'\nexport * as getKnownFollowers from './graph/getKnownFollowers.js'\nexport * as getList from './graph/getList.js'\nexport * as getListBlocks from './graph/getListBlocks.js'\nexport * as getListMutes from './graph/getListMutes.js'\nexport * as getLists from './graph/getLists.js'\nexport * as getListsWithMembership from './graph/getListsWithMembership.js'\nexport * as getMutes from './graph/getMutes.js'\nexport * as getRelationships from './graph/getRelationships.js'\nexport * as getStarterPack from './graph/getStarterPack.js'\nexport * as getStarterPacks from './graph/getStarterPacks.js'\nexport * as getStarterPacksWithMembership from './graph/getStarterPacksWithMembership.js'\nexport * as getSuggestedFollowsByActor from './graph/getSuggestedFollowsByActor.js'\nexport * as list from './graph/list.js'\nexport * as listblock from './graph/listblock.js'\nexport * as listitem from './graph/listitem.js'\nexport * as muteActor from './graph/muteActor.js'\nexport * as muteActorList from './graph/muteActorList.js'\nexport * as muteThread from './graph/muteThread.js'\nexport * as searchStarterPacks from './graph/searchStarterPacks.js'\nexport * as searchStarterPacksV2 from './graph/searchStarterPacksV2.js'\nexport * as starterpack from './graph/starterpack.js'\nexport * as unmuteActor from './graph/unmuteActor.js'\nexport * as unmuteActorList from './graph/unmuteActorList.js'\nexport * as unmuteThread from './graph/unmuteThread.js'\nexport * as verification from './graph/verification.js'\n"]}
|
|
@@ -8,6 +8,7 @@ export declare const $params: l.ParamsSchema<{
|
|
|
8
8
|
export type $Params = l.InferOutput<typeof $params>;
|
|
9
9
|
export declare const $output: l.Payload<"application/json", l.ObjectSchema<{
|
|
10
10
|
trends: l.ArraySchema<l.RefSchema<l.Validator<UnspeccedDefs.TrendView, UnspeccedDefs.TrendView>>>;
|
|
11
|
+
recIdStr: l.OptionalSchema<l.StringSchema<{}>>;
|
|
11
12
|
}>>;
|
|
12
13
|
export type $Output<B = l.BinaryData> = l.InferPayload<typeof $output, B>;
|
|
13
14
|
export type $OutputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $output, B>;
|
|
@@ -16,6 +17,7 @@ declare const main: l.Query<"app.bsky.unspecced.getTrends", l.ParamsSchema<{
|
|
|
16
17
|
readonly limit: l.OptionalSchema<l.WithDefaultSchema<l.IntegerSchema>>;
|
|
17
18
|
}>, l.Payload<"application/json", l.ObjectSchema<{
|
|
18
19
|
trends: l.ArraySchema<l.RefSchema<l.Validator<UnspeccedDefs.TrendView, UnspeccedDefs.TrendView>>>;
|
|
20
|
+
recIdStr: l.OptionalSchema<l.StringSchema<{}>>;
|
|
19
21
|
}>>, undefined>;
|
|
20
22
|
export { main };
|
|
21
23
|
export declare const $lxm = "app.bsky.unspecced.getTrends";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTrends.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/unspecced/getTrends.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAA;AAE/C,QAAA,MAAM,KAAK,iCAAiC,CAAA;AAE5C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,eAAO,MAAM,OAAO;;EAOlB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAA;AAEnD,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"getTrends.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/unspecced/getTrends.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAA;AAE/C,QAAA,MAAM,KAAK,iCAAiC,CAAA;AAE5C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,eAAO,MAAM,OAAO;;EAOlB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAA;AAEnD,eAAO,MAAM,OAAO;;;GAOlB,CAAA;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAA;AACzE,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAC5D,OAAO,OAAO,EACd,CAAC,CACF,CAAA;AAED,4CAA4C;AAC5C,QAAA,MAAM,IAAI;;;;;eAAiD,CAAA;AAE3D,OAAO,EAAE,IAAI,EAAE,CAAA;AAEf,eAAO,MAAM,IAAI,iCAAQ,CAAA"}
|
|
@@ -13,6 +13,7 @@ export const $params = /*#__PURE__*/ l.params({
|
|
|
13
13
|
export const $output = /*#__PURE__*/ l.jsonPayload({
|
|
14
14
|
trends: /*#__PURE__*/ l.array(
|
|
15
15
|
/*#__PURE__*/ l.ref((() => UnspeccedDefs.trendView))),
|
|
16
|
+
recIdStr: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),
|
|
16
17
|
});
|
|
17
18
|
/** Get the current trends on the network */
|
|
18
19
|
const main = /*#__PURE__*/ l.query($nsid, $params, $output);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTrends.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/unspecced/getTrends.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAA;AAE/C,MAAM,KAAK,GAAG,8BAA8B,CAAA;AAE5C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ;IAC7B,aAAa,CAAC,CAAC,CAAC,WAAW;IACzB,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EACpD,EAAE,CACH,CACF;CACF,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IACjD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK;IAC3B,aAAa,CAAC,CAAC,CAAC,GAAG,CACjB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAQ,CACvC,CACF;
|
|
1
|
+
{"version":3,"file":"getTrends.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/unspecced/getTrends.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAA;AAE/C,MAAM,KAAK,GAAG,8BAA8B,CAAA;AAE5C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ;IAC7B,aAAa,CAAC,CAAC,CAAC,WAAW;IACzB,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EACpD,EAAE,CACH,CACF;CACF,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IACjD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK;IAC3B,aAAa,CAAC,CAAC,CAAC,GAAG,CACjB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAQ,CACvC,CACF;IACD,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC7D,CAAC,CAAA;AAQF,4CAA4C;AAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAE3D,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 UnspeccedDefs from './defs.defs.js'\n\nconst $nsid = 'app.bsky.unspecced.getTrends'\n\nexport { $nsid }\n\nexport const $params = /*#__PURE__*/ l.params({\n limit: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.withDefault(\n /*#__PURE__*/ l.integer({ minimum: 1, maximum: 25 }),\n 10,\n ),\n ),\n})\n\nexport type $Params = l.InferOutput<typeof $params>\n\nexport const $output = /*#__PURE__*/ l.jsonPayload({\n trends: /*#__PURE__*/ l.array(\n /*#__PURE__*/ l.ref<UnspeccedDefs.TrendView>(\n (() => UnspeccedDefs.trendView) as any,\n ),\n ),\n recIdStr: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\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/** Get the current trends on the network */\nconst main = /*#__PURE__*/ l.query($nsid, $params, $output)\n\nexport { main }\n\nexport const $lxm = $nsid\n"]}
|
|
@@ -11,6 +11,7 @@ export declare const $params: l.ParamsSchema<{
|
|
|
11
11
|
export type $Params = l.InferOutput<typeof $params>;
|
|
12
12
|
export declare const $output: l.Payload<"application/json", l.ObjectSchema<{
|
|
13
13
|
trends: l.ArraySchema<l.RefSchema<l.Validator<UnspeccedDefs.SkeletonTrend, UnspeccedDefs.SkeletonTrend>>>;
|
|
14
|
+
recIdStr: l.OptionalSchema<l.StringSchema<{}>>;
|
|
14
15
|
}>>;
|
|
15
16
|
export type $Output<B = l.BinaryData> = l.InferPayload<typeof $output, B>;
|
|
16
17
|
export type $OutputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $output, B>;
|
|
@@ -22,6 +23,7 @@ declare const main: l.Query<"app.bsky.unspecced.getTrendsSkeleton", l.ParamsSche
|
|
|
22
23
|
readonly limit: l.OptionalSchema<l.WithDefaultSchema<l.IntegerSchema>>;
|
|
23
24
|
}>, l.Payload<"application/json", l.ObjectSchema<{
|
|
24
25
|
trends: l.ArraySchema<l.RefSchema<l.Validator<UnspeccedDefs.SkeletonTrend, UnspeccedDefs.SkeletonTrend>>>;
|
|
26
|
+
recIdStr: l.OptionalSchema<l.StringSchema<{}>>;
|
|
25
27
|
}>>, undefined>;
|
|
26
28
|
export { main };
|
|
27
29
|
export declare const $lxm = "app.bsky.unspecced.getTrendsSkeleton";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTrendsSkeleton.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/unspecced/getTrendsSkeleton.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAA;AAE/C,QAAA,MAAM,KAAK,yCAAyC,CAAA;AAEpD,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,eAAO,MAAM,OAAO;;;;;EAQlB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAA;AAEnD,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"getTrendsSkeleton.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/unspecced/getTrendsSkeleton.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAA;AAE/C,QAAA,MAAM,KAAK,yCAAyC,CAAA;AAEpD,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,eAAO,MAAM,OAAO;;;;;EAQlB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAA;AAEnD,eAAO,MAAM,OAAO;;;GAOlB,CAAA;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAA;AACzE,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAC5D,OAAO,OAAO,EACd,CAAC,CACF,CAAA;AAED,8HAA8H;AAC9H,QAAA,MAAM,IAAI;;;;;;;;eAAiD,CAAA;AAE3D,OAAO,EAAE,IAAI,EAAE,CAAA;AAEf,eAAO,MAAM,IAAI,yCAAQ,CAAA"}
|
|
@@ -14,6 +14,7 @@ export const $params = /*#__PURE__*/ l.params({
|
|
|
14
14
|
export const $output = /*#__PURE__*/ l.jsonPayload({
|
|
15
15
|
trends: /*#__PURE__*/ l.array(
|
|
16
16
|
/*#__PURE__*/ l.ref((() => UnspeccedDefs.skeletonTrend))),
|
|
17
|
+
recIdStr: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),
|
|
17
18
|
});
|
|
18
19
|
/** Get the skeleton of trends on the network. Intended to be called and then hydrated through app.bsky.unspecced.getTrends */
|
|
19
20
|
const main = /*#__PURE__*/ l.query($nsid, $params, $output);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTrendsSkeleton.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/unspecced/getTrendsSkeleton.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAA;AAE/C,MAAM,KAAK,GAAG,sCAAsC,CAAA;AAEpD,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3E,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ;IAC7B,aAAa,CAAC,CAAC,CAAC,WAAW;IACzB,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EACpD,EAAE,CACH,CACF;CACF,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IACjD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK;IAC3B,aAAa,CAAC,CAAC,CAAC,GAAG,CACjB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,aAAa,CAAQ,CAC3C,CACF;
|
|
1
|
+
{"version":3,"file":"getTrendsSkeleton.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/unspecced/getTrendsSkeleton.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAA;AAE/C,MAAM,KAAK,GAAG,sCAAsC,CAAA;AAEpD,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3E,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ;IAC7B,aAAa,CAAC,CAAC,CAAC,WAAW;IACzB,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EACpD,EAAE,CACH,CACF;CACF,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IACjD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK;IAC3B,aAAa,CAAC,CAAC,CAAC,GAAG,CACjB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,aAAa,CAAQ,CAC3C,CACF;IACD,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC7D,CAAC,CAAA;AAQF,8HAA8H;AAC9H,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAE3D,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 UnspeccedDefs from './defs.defs.js'\n\nconst $nsid = 'app.bsky.unspecced.getTrendsSkeleton'\n\nexport { $nsid }\n\nexport const $params = /*#__PURE__*/ l.params({\n viewer: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({ format: 'did' })),\n limit: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.withDefault(\n /*#__PURE__*/ l.integer({ minimum: 1, maximum: 25 }),\n 10,\n ),\n ),\n})\n\nexport type $Params = l.InferOutput<typeof $params>\n\nexport const $output = /*#__PURE__*/ l.jsonPayload({\n trends: /*#__PURE__*/ l.array(\n /*#__PURE__*/ l.ref<UnspeccedDefs.SkeletonTrend>(\n (() => UnspeccedDefs.skeletonTrend) as any,\n ),\n ),\n recIdStr: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\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/** Get the skeleton of trends on the network. Intended to be called and then hydrated through app.bsky.unspecced.getTrends */\nconst main = /*#__PURE__*/ l.query($nsid, $params, $output)\n\nexport { main }\n\nexport const $lxm = $nsid\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atproto/bsky",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.263",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Reference implementation of app.bsky App View (Bluesky API)",
|
|
6
6
|
"keywords": [
|
|
@@ -61,17 +61,17 @@
|
|
|
61
61
|
"undici": "^8.5.0",
|
|
62
62
|
"zod": "3.23.8",
|
|
63
63
|
"@atproto-labs/fetch-node": "^0.3.5",
|
|
64
|
-
"@atproto-labs/xrpc-utils": "^0.1.
|
|
65
|
-
"@atproto/
|
|
64
|
+
"@atproto-labs/xrpc-utils": "^0.1.9",
|
|
65
|
+
"@atproto/common": "^0.7.2",
|
|
66
66
|
"@atproto/crypto": "^0.5.4",
|
|
67
|
+
"@atproto/api": "^0.20.30",
|
|
67
68
|
"@atproto/did": "^0.5.4",
|
|
68
|
-
"@atproto/
|
|
69
|
+
"@atproto/lex": "^0.3.0",
|
|
69
70
|
"@atproto/identity": "^0.5.6",
|
|
70
|
-
"@atproto/lex": "^0.2.3",
|
|
71
|
-
"@atproto/sync": "^0.3.11",
|
|
72
|
-
"@atproto/syntax": "^0.7.2",
|
|
73
71
|
"@atproto/repo": "^0.10.6",
|
|
74
|
-
"@atproto/
|
|
72
|
+
"@atproto/sync": "^0.3.12",
|
|
73
|
+
"@atproto/syntax": "^0.7.2",
|
|
74
|
+
"@atproto/xrpc-server": "^0.11.10"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@bufbuild/buf": "^1.28.1",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"@types/pg": "^8.15.5",
|
|
86
86
|
"@types/qs": "^6.9.7",
|
|
87
87
|
"vitest": "^4.0.16",
|
|
88
|
-
"@atproto/pds": "^0.5.
|
|
88
|
+
"@atproto/pds": "^0.5.20"
|
|
89
89
|
},
|
|
90
90
|
"scripts": {
|
|
91
91
|
"codegen:buf": "buf generate ../bsync/proto && buf generate ./proto",
|