@atproto/bsky 0.0.263 → 0.0.265
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/graph/getFollowers.js +1 -0
- package/dist/api/app/bsky/graph/getFollowers.js.map +1 -1
- package/dist/api/app/bsky/graph/getFollows.js +1 -0
- package/dist/api/app/bsky/graph/getFollows.js.map +1 -1
- package/dist/api/app/bsky/unspecced/getTrends.js +1 -0
- package/dist/api/app/bsky/unspecced/getTrends.js.map +1 -1
- package/dist/hydration/graph.d.ts +2 -0
- package/dist/hydration/graph.d.ts.map +1 -1
- package/dist/hydration/graph.js +4 -2
- package/dist/hydration/graph.js.map +1 -1
- package/dist/lexicons/app/bsky/graph/getFollowers.defs.d.ts +6 -0
- package/dist/lexicons/app/bsky/graph/getFollowers.defs.d.ts.map +1 -1
- package/dist/lexicons/app/bsky/graph/getFollowers.defs.js +2 -0
- package/dist/lexicons/app/bsky/graph/getFollowers.defs.js.map +1 -1
- package/dist/lexicons/app/bsky/graph/getFollows.defs.d.ts +6 -0
- package/dist/lexicons/app/bsky/graph/getFollows.defs.d.ts.map +1 -1
- package/dist/lexicons/app/bsky/graph/getFollows.defs.js +2 -0
- package/dist/lexicons/app/bsky/graph/getFollows.defs.js.map +1 -1
- package/dist/lexicons/app/bsky/unspecced/defs.defs.d.ts +2 -0
- package/dist/lexicons/app/bsky/unspecced/defs.defs.d.ts.map +1 -1
- package/dist/lexicons/app/bsky/unspecced/defs.defs.js +2 -0
- package/dist/lexicons/app/bsky/unspecced/defs.defs.js.map +1 -1
- package/dist/proto/bsky_pb.d.ts +8 -0
- package/dist/proto/bsky_pb.d.ts.map +1 -1
- package/dist/proto/bsky_pb.js +10 -0
- package/dist/proto/bsky_pb.js.map +1 -1
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @atproto/bsky
|
|
2
2
|
|
|
3
|
+
## 0.0.265
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#5257](https://github.com/bluesky-social/atproto/pull/5257) [`e133a65`](https://github.com/bluesky-social/atproto/commit/e133a65cba992e6429d4526dc3e7cfe8bf87426f) Thanks [@rafaeleyng](https://github.com/rafaeleyng)! - Add sort parameter to getFollows and getFollowers
|
|
8
|
+
|
|
9
|
+
- Updated dependencies [[`e133a65`](https://github.com/bluesky-social/atproto/commit/e133a65cba992e6429d4526dc3e7cfe8bf87426f)]:
|
|
10
|
+
- @atproto/api@0.20.32
|
|
11
|
+
|
|
12
|
+
## 0.0.264
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- [#5254](https://github.com/bluesky-social/atproto/pull/5254) [`7fab73c`](https://github.com/bluesky-social/atproto/commit/7fab73c931d608730bbad6275184ec60259042aa) Thanks [@ds-boyce](https://github.com/ds-boyce)! - Add description to trending topics
|
|
17
|
+
|
|
18
|
+
- Updated dependencies [[`3358df6`](https://github.com/bluesky-social/atproto/commit/3358df61caab20c4258ea7673121a03236993d7b), [`7fab73c`](https://github.com/bluesky-social/atproto/commit/7fab73c931d608730bbad6275184ec60259042aa)]:
|
|
19
|
+
- @atproto/xrpc-server@0.11.11
|
|
20
|
+
- @atproto/api@0.20.31
|
|
21
|
+
- @atproto-labs/xrpc-utils@0.1.10
|
|
22
|
+
- @atproto/sync@0.3.13
|
|
23
|
+
|
|
3
24
|
## 0.0.263
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFollowers.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/graph/getFollowers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,mBAAmB,EAAe,MAAM,sBAAsB,CAAA;AAEvE,OAAO,EAGL,WAAW,GACZ,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AACnD,OAAO,EAKL,cAAc,GACf,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE/D,MAAM,CAAC,OAAO,WAAW,MAAc,EAAE,GAAe;IACtD,MAAM,YAAY,GAAG,cAAc,CACjC,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,YAAY,CACb,CAAA;IACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;QACtC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,sBAAsB;QAC7C,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;YACvC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAClD,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YACrC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAClD,QAAQ;gBACR,MAAM;gBACN,gBAAgB;gBAChB,gBAAgB;aACjB,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,CAAA;YAEjE,OAAO;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;aACvD,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,QAAQ,GAAG,KAAK,EACpB,KAAuC,EACf,EAAE;IAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAA;IAC7B,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,mBAAmB,CAAC,oBAAoB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;IACvC,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACvE,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"getFollowers.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/graph/getFollowers.ts"],"names":[],"mappings":"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","sourcesContent":["import { mapDefined } from '@atproto/common'\nimport type { AtUriString, DidString } from '@atproto/syntax'\nimport { InvalidRequestError, type Server } from '@atproto/xrpc-server'\nimport type { AppContext } from '../../../../context.js'\nimport {\n type HydrateCtx,\n type Hydrator,\n mergeStates,\n} from '../../../../hydration/hydrator.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 didFromUri } from '../../../../util/uris.js'\nimport type { Views } from '../../../../views/index.js'\nimport { clearlyBadCursor, resHeaders } from '../../../util.js'\n\nexport default function (server: Server, ctx: AppContext) {\n const getFollowers = createPipeline(\n skeleton,\n hydration,\n noBlocks,\n presentation,\n )\n server.add(app.bsky.graph.getFollowers, {\n auth: ctx.authVerifier.optionalStandardOrRole,\n handler: async ({ params, auth, 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 labelers,\n viewer,\n includeTakedowns,\n skipViewerBlocks,\n })\n\n const result = await getFollowers({ ...params, hydrateCtx }, ctx)\n\n return {\n encoding: 'application/json',\n body: result,\n headers: resHeaders({ labelers: hydrateCtx.labelers }),\n }\n },\n })\n}\n\nconst skeleton = async (\n input: SkeletonFnInput<Context, Params>,\n): Promise<SkeletonState> => {\n const { params, ctx } = input\n const [subjectDid] = await ctx.hydrator.actor.getDidsDefined([params.actor])\n if (!subjectDid) {\n throw new InvalidRequestError(`Actor not found: ${params.actor}`)\n }\n if (clearlyBadCursor(params.cursor)) {\n return { subjectDid, followUris: [] }\n }\n const { followers, cursor } = await ctx.hydrator.graph.getActorFollowers({\n did: subjectDid,\n cursor: params.cursor,\n limit: params.limit,\n sort: params.sort,\n })\n return {\n subjectDid,\n followUris: followers.map((f) => f.uri as AtUriString),\n cursor: cursor || undefined,\n }\n}\n\nconst hydration = async (\n input: HydrationFnInput<Context, Params, SkeletonState>,\n) => {\n const { ctx, params, skeleton } = input\n const { followUris, subjectDid } = skeleton\n const followState = await ctx.hydrator.hydrateFollows(\n followUris,\n params.hydrateCtx,\n )\n const dids = [subjectDid]\n if (followState.follows) {\n for (const [uri, follow] of followState.follows) {\n if (follow) {\n dids.push(didFromUri(uri))\n }\n }\n }\n const profileState = await ctx.hydrator.hydrateProfiles(\n dids,\n params.hydrateCtx,\n )\n return mergeStates(followState, profileState)\n}\n\nconst noBlocks = (input: RulesFnInput<Context, Params, SkeletonState>) => {\n const { skeleton, params, hydration, ctx } = input\n const viewer = params.hydrateCtx.viewer\n skeleton.followUris = skeleton.followUris.filter((followUri) => {\n const followerDid = didFromUri(followUri)\n return (\n !hydration.followBlocks?.get(followUri) &&\n (!viewer || !ctx.views.viewerBlockExists(followerDid, hydration))\n )\n })\n return skeleton\n}\n\nconst presentation = (\n input: PresentationFnInput<Context, Params, SkeletonState>,\n) => {\n const { ctx, hydration, skeleton, params } = input\n const { subjectDid, followUris, cursor } = skeleton\n const isNoHosted = (did: DidString) =>\n ctx.views.actorIsNoHosted(did, hydration)\n\n const subject = ctx.views.profile(subjectDid, hydration)\n if (\n !subject ||\n (!params.hydrateCtx.includeTakedowns && isNoHosted(subjectDid))\n ) {\n throw new InvalidRequestError(`Actor not found: ${params.actor}`)\n }\n\n const followers = mapDefined(followUris, (followUri) => {\n const followerDid = didFromUri(followUri)\n if (!params.hydrateCtx.includeTakedowns && isNoHosted(followerDid)) {\n return\n }\n return ctx.views.profile(didFromUri(followUri), hydration)\n })\n\n return { followers, subject, cursor }\n}\n\ntype Context = {\n hydrator: Hydrator\n views: Views\n}\n\ntype Params = app.bsky.graph.getFollowers.$Params & {\n hydrateCtx: HydrateCtx\n}\n\ntype SkeletonState = {\n subjectDid: DidString\n followUris: AtUriString[]\n cursor?: string\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFollows.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/graph/getFollows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,mBAAmB,EAAe,MAAM,sBAAsB,CAAA;AAEvE,OAAO,EAGL,WAAW,GACZ,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AACnD,OAAO,EAKL,cAAc,GACf,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE/D,MAAM,CAAC,OAAO,WAAW,MAAc,EAAE,GAAe;IACtD,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC9E,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;QACpC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,sBAAsB;QAC7C,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;YACvC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAClD,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YACrC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAClD,QAAQ;gBACR,MAAM;gBACN,gBAAgB;gBAChB,gBAAgB;aACjB,CAAC,CAAA;YAEF,2EAA2E;YAC3E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,CAAA;YAE/D,OAAO;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;aACvD,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,QAAQ,GAAG,KAAK,EACpB,KAAuC,EACf,EAAE;IAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAA;IAC7B,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,mBAAmB,CAAC,oBAAoB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;IACvC,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC;QACnE,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"getFollows.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/graph/getFollows.ts"],"names":[],"mappings":"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","sourcesContent":["import { mapDefined } from '@atproto/common'\nimport type { AtUriString, DidString } from '@atproto/lex'\nimport { InvalidRequestError, type Server } from '@atproto/xrpc-server'\nimport type { AppContext } from '../../../../context.js'\nimport {\n type HydrateCtx,\n type Hydrator,\n mergeStates,\n} from '../../../../hydration/hydrator.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 type { Views } from '../../../../views/index.js'\nimport { clearlyBadCursor, resHeaders } from '../../../util.js'\n\nexport default function (server: Server, ctx: AppContext) {\n const getFollows = createPipeline(skeleton, hydration, noBlocks, presentation)\n server.add(app.bsky.graph.getFollows, {\n auth: ctx.authVerifier.optionalStandardOrRole,\n handler: async ({ params, auth, 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 labelers,\n viewer,\n includeTakedowns,\n skipViewerBlocks,\n })\n\n // @TODO ensure canViewTakedowns gets threaded through and applied properly\n const result = await getFollows({ ...params, hydrateCtx }, ctx)\n\n return {\n encoding: 'application/json',\n body: result,\n headers: resHeaders({ labelers: hydrateCtx.labelers }),\n }\n },\n })\n}\n\nconst skeleton = async (\n input: SkeletonFnInput<Context, Params>,\n): Promise<SkeletonState> => {\n const { params, ctx } = input\n const [subjectDid] = await ctx.hydrator.actor.getDidsDefined([params.actor])\n if (!subjectDid) {\n throw new InvalidRequestError(`Actor not found: ${params.actor}`)\n }\n if (clearlyBadCursor(params.cursor)) {\n return { subjectDid, followUris: [] }\n }\n const { follows, cursor } = await ctx.hydrator.graph.getActorFollows({\n did: subjectDid,\n cursor: params.cursor,\n limit: params.limit,\n sort: params.sort,\n })\n return {\n subjectDid,\n followUris: follows.map((f) => f.uri as AtUriString),\n cursor: cursor || undefined,\n }\n}\n\nconst hydration = async (\n input: HydrationFnInput<Context, Params, SkeletonState>,\n) => {\n const { ctx, params, skeleton } = input\n const { followUris, subjectDid } = skeleton\n const followState = await ctx.hydrator.hydrateFollows(\n followUris,\n params.hydrateCtx,\n )\n const dids = [subjectDid]\n if (followState.follows) {\n for (const follow of followState.follows.values()) {\n if (follow) {\n dids.push(follow.record.subject)\n }\n }\n }\n const profileState = await ctx.hydrator.hydrateProfiles(\n dids,\n params.hydrateCtx,\n )\n return mergeStates(followState, profileState)\n}\n\nconst noBlocks = (input: RulesFnInput<Context, Params, SkeletonState>) => {\n const { skeleton, params, hydration, ctx } = input\n const viewer = params.hydrateCtx.viewer\n skeleton.followUris = skeleton.followUris.filter((followUri) => {\n const follow = hydration.follows?.get(followUri)\n if (!follow) return false\n return (\n !hydration.followBlocks?.get(followUri) &&\n (!viewer ||\n !ctx.views.viewerBlockExists(follow.record.subject, hydration))\n )\n })\n return skeleton\n}\n\nconst presentation = (\n input: PresentationFnInput<Context, Params, SkeletonState>,\n) => {\n const { ctx, hydration, skeleton, params } = input\n const { subjectDid, followUris, cursor } = skeleton\n const isNoHosted = (did: DidString) =>\n ctx.views.actorIsNoHosted(did, hydration)\n\n const subject = ctx.views.profile(subjectDid, hydration)\n if (\n !subject ||\n (!params.hydrateCtx.includeTakedowns && isNoHosted(subjectDid))\n ) {\n throw new InvalidRequestError(`Actor not found: ${params.actor}`)\n }\n\n const follows = mapDefined(followUris, (followUri) => {\n const followDid = hydration.follows?.get(followUri)?.record.subject\n if (!followDid) return\n if (!params.hydrateCtx.includeTakedowns && isNoHosted(followDid)) {\n return\n }\n return ctx.views.profile(followDid, hydration)\n })\n\n return { follows, subject, cursor }\n}\n\ntype Context = {\n hydrator: Hydrator\n views: Views\n}\n\ntype Params = app.bsky.graph.getFollowers.$Params & {\n hydrateCtx: HydrateCtx\n}\n\ntype SkeletonState = {\n subjectDid: DidString\n followUris: AtUriString[]\n cursor?: string\n}\n"]}
|
|
@@ -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 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"]}
|
|
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 description: t.description,\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"]}
|
|
@@ -62,6 +62,7 @@ export declare class GraphHydrator {
|
|
|
62
62
|
did: DidString;
|
|
63
63
|
cursor?: string;
|
|
64
64
|
limit?: number;
|
|
65
|
+
sort?: string;
|
|
65
66
|
}): Promise<{
|
|
66
67
|
follows: FollowInfo[];
|
|
67
68
|
cursor: string;
|
|
@@ -70,6 +71,7 @@ export declare class GraphHydrator {
|
|
|
70
71
|
did: DidString;
|
|
71
72
|
cursor?: string;
|
|
72
73
|
limit?: number;
|
|
74
|
+
sort?: string;
|
|
73
75
|
}): Promise<{
|
|
74
76
|
followers: FollowInfo[];
|
|
75
77
|
cursor: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/hydration/graph.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/hydration/graph.ts"],"names":[],"mappings":"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"}
|
package/dist/hydration/graph.js
CHANGED
|
@@ -147,20 +147,22 @@ export class GraphHydrator {
|
|
|
147
147
|
return map;
|
|
148
148
|
}
|
|
149
149
|
async getActorFollows(input) {
|
|
150
|
-
const { did, cursor, limit } = input;
|
|
150
|
+
const { did, cursor, limit, sort } = input;
|
|
151
151
|
const res = await this.dataplane.getFollows({
|
|
152
152
|
actorDid: did,
|
|
153
153
|
cursor,
|
|
154
154
|
limit,
|
|
155
|
+
sort,
|
|
155
156
|
});
|
|
156
157
|
return { follows: res.follows, cursor: res.cursor };
|
|
157
158
|
}
|
|
158
159
|
async getActorFollowers(input) {
|
|
159
|
-
const { did, cursor, limit } = input;
|
|
160
|
+
const { did, cursor, limit, sort } = input;
|
|
160
161
|
const res = await this.dataplane.getFollowers({
|
|
161
162
|
actorDid: did,
|
|
162
163
|
cursor,
|
|
163
164
|
limit,
|
|
165
|
+
sort,
|
|
164
166
|
});
|
|
165
167
|
return { followers: res.followers, cursor: res.cursor };
|
|
166
168
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/hydration/graph.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AtUriString, DidString } from '@atproto/syntax'\nimport type { DataPlaneClient } from '../data-plane/client/index.js'\nimport { app } from '../lexicons/index.js'\nimport type { FollowInfo } from '../proto/bsky_pb.js'\nimport type {\n BlockRecord,\n FollowRecord,\n ListItemRecord,\n ListRecord,\n StarterPackRecord,\n VerificationRecord,\n} from '../views/types.js'\nimport {\n HydrationMap,\n type ItemRef,\n type RecordInfo,\n parseRecord,\n} from './util.js'\n\nexport type List = RecordInfo<ListRecord>\nexport type Lists = HydrationMap<AtUriString, List>\n\nexport type ListItem = RecordInfo<ListItemRecord>\nexport type ListItems = HydrationMap<AtUriString, ListItem>\n\nexport type ListViewerState = {\n viewerMuted?: string // @TODO AtUriString ?\n viewerListBlockUri?: AtUriString\n viewerInList?: string // @TODO AtUriString ?\n}\n\nexport type ListViewerStates = HydrationMap<AtUriString, ListViewerState>\n\nexport type ListMembershipState = {\n actorListItemUri?: AtUriString\n}\n\n// list uri => actor did => state\nexport type ListMembershipStates = HydrationMap<\n AtUriString,\n HydrationMap<DidString, ListMembershipState>\n>\n\nexport type Follow = RecordInfo<FollowRecord>\nexport type Follows = HydrationMap<AtUriString, Follow>\n\nexport type Block = RecordInfo<BlockRecord>\n\nexport type StarterPack = RecordInfo<StarterPackRecord>\nexport type StarterPacks = HydrationMap<AtUriString, StarterPack>\n\nexport type Verification = RecordInfo<VerificationRecord>\nexport type Verifications = HydrationMap<AtUriString, Verification>\n\nexport type StarterPackAgg = {\n joinedWeek: number\n joinedAllTime: number\n listItemSampleUris?: AtUriString[] // gets set during starter pack hydration (not for basic view)\n}\n\nexport type StarterPackAggs = HydrationMap<AtUriString, StarterPackAgg>\n\nexport type ListAgg = {\n listItems: number\n}\n\nexport type ListAggs = HydrationMap<AtUriString, ListAgg>\n\nexport type RelationshipPair = [didA: DidString, didB: DidString]\n\nconst dedupePairs = (pairs: RelationshipPair[]): RelationshipPair[] => {\n const deduped = pairs.reduce((acc, pair) => {\n return acc.set(Blocks.key(...pair), pair)\n }, new Map<string, RelationshipPair>())\n return [...deduped.values()]\n}\n\nexport class Blocks {\n _blocks: Map<string, BlockEntry> = new Map() // did:a,did:b -> block\n constructor() {}\n\n static key(didA: string, didB: string): string {\n return [didA, didB].sort().join(',')\n }\n\n set(didA: string, didB: string, block: BlockEntry): Blocks {\n const key = Blocks.key(didA, didB)\n this._blocks.set(key, block)\n return this\n }\n\n get(didA: string, didB: string): BlockEntry | null {\n if (didA === didB) return null // ignore self-blocks\n const key = Blocks.key(didA, didB)\n return this._blocks.get(key) ?? null\n }\n\n merge(blocks: Blocks): Blocks {\n blocks._blocks.forEach((block, key) => {\n this._blocks.set(key, block)\n })\n return this\n }\n}\n\n// No \"blocking\" vs. \"blocked\" directionality: only suitable for bidirectional block checks\nexport type BlockEntry = {\n blockUri: AtUriString | undefined\n blockListUri: AtUriString | undefined\n}\n\nexport class GraphHydrator {\n constructor(public dataplane: DataPlaneClient) {}\n\n async getLists(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Lists> {\n const map: Lists = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getListRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const record = parseRecord(\n app.bsky.graph.list.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uris[i], record ?? null)\n }\n\n return map\n }\n\n async getListItems(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<ListItems> {\n const map: ListItems = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getListItemRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const record = parseRecord(\n app.bsky.graph.listitem.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uris[i], record ?? null)\n }\n\n return map\n }\n\n async getListViewerStates(\n uris: AtUriString[],\n viewer: string,\n ): Promise<ListViewerStates> {\n const map: ListViewerStates = new HydrationMap()\n if (!uris.length) return map\n\n const mutesAndBlocks = await Promise.all(\n uris.map((uri) => this.getMutesAndBlocks(uri, viewer)),\n )\n const listMemberships = await this.dataplane.getListMembership({\n actorDid: viewer,\n listUris: uris,\n })\n for (let i = 0; i < uris.length; i++) {\n const uri = uris[i]\n map.set(uri, {\n viewerMuted: mutesAndBlocks[i].muted ? uri : undefined,\n viewerListBlockUri: mutesAndBlocks[i].listBlockUri || undefined,\n viewerInList: listMemberships.listitemUris[i],\n })\n }\n\n return map\n }\n\n private async getMutesAndBlocks(uri: string, viewer: string) {\n const [muted, listBlockUri] = await Promise.all([\n this.dataplane.getMutelistSubscription({\n actorDid: viewer,\n listUri: uri,\n }),\n this.dataplane.getBlocklistSubscription({\n actorDid: viewer,\n listUri: uri,\n }),\n ])\n return {\n muted: muted.subscribed,\n listBlockUri: listBlockUri.listblockUri as AtUriString,\n }\n }\n\n async getBidirectionalBlocks(pairs: RelationshipPair[]): Promise<Blocks> {\n if (!pairs.length) return new Blocks()\n const deduped = dedupePairs(pairs).map(([a, b]) => ({ a, b }))\n const res = await this.dataplane.getBlockExistence({ pairs: deduped })\n const blocks = new Blocks()\n for (let i = 0; i < deduped.length; i++) {\n const pair = deduped[i]\n const block = res.blocks[i]\n blocks.set(pair.a, pair.b, {\n blockUri: (block.blockedBy || block.blocking || undefined) as\n | AtUriString\n | undefined,\n blockListUri: (block.blockedByList ||\n block.blockingByList ||\n undefined) as AtUriString | undefined,\n })\n }\n return blocks\n }\n\n async getFollows(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Follows> {\n const map: Follows = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getFollowRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const uri = uris[i]\n const record = parseRecord(\n app.bsky.graph.follow.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uri, record ?? null)\n }\n\n return map\n }\n\n async getVerifications(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Verifications> {\n const map: Verifications = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getVerificationRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const uri = uris[i]\n const record = parseRecord(\n app.bsky.graph.verification.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uri, record ?? null)\n }\n\n return map\n }\n\n async getBlocks(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<HydrationMap<AtUriString, Block>> {\n const map = new HydrationMap<AtUriString, Block>()\n if (!uris.length) return map\n\n const res = await this.dataplane.getBlockRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const uri = uris[i]\n const record = parseRecord(\n app.bsky.graph.block.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uri, record ?? null)\n }\n\n return map\n }\n\n async getActorFollows(input: {\n did: DidString\n cursor?: string\n limit?: number\n }): Promise<{ follows: FollowInfo[]; cursor: string }> {\n const { did, cursor, limit } = input\n const res = await this.dataplane.getFollows({\n actorDid: did,\n cursor,\n limit,\n })\n return { follows: res.follows, cursor: res.cursor }\n }\n\n async getActorFollowers(input: {\n did: DidString\n cursor?: string\n limit?: number\n }): Promise<{ followers: FollowInfo[]; cursor: string }> {\n const { did, cursor, limit } = input\n const res = await this.dataplane.getFollowers({\n actorDid: did,\n cursor,\n limit,\n })\n return { followers: res.followers, cursor: res.cursor }\n }\n\n async getStarterPacks(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<StarterPacks> {\n const map: StarterPacks = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getStarterPackRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const uri = uris[i]\n const record = parseRecord(\n app.bsky.graph.starterpack.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uri, record ?? null)\n }\n\n return map\n }\n\n async getStarterPackAggregates(refs: ItemRef[]) {\n const map: StarterPackAggs = new HydrationMap()\n\n if (refs.length) {\n const counts = await this.dataplane.getStarterPackCounts({ refs })\n for (let i = 0; i < refs.length; i++) {\n map.set(refs[i].uri, {\n joinedWeek: counts.joinedWeek[i] ?? 0,\n joinedAllTime: counts.joinedAllTime[i] ?? 0,\n })\n }\n }\n\n return map\n }\n\n async getListAggregates(refs: ItemRef[]): Promise<ListAggs> {\n const map: ListAggs = new HydrationMap()\n\n if (refs.length) {\n const counts = await this.dataplane.getListCounts({ refs })\n for (let i = 0; i < refs.length; i++) {\n map.set(refs[i].uri, {\n listItems: counts.listItems[i] ?? 0,\n })\n }\n }\n return map\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/hydration/graph.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AtUriString, DidString } from '@atproto/syntax'\nimport type { DataPlaneClient } from '../data-plane/client/index.js'\nimport { app } from '../lexicons/index.js'\nimport type { FollowInfo } from '../proto/bsky_pb.js'\nimport type {\n BlockRecord,\n FollowRecord,\n ListItemRecord,\n ListRecord,\n StarterPackRecord,\n VerificationRecord,\n} from '../views/types.js'\nimport {\n HydrationMap,\n type ItemRef,\n type RecordInfo,\n parseRecord,\n} from './util.js'\n\nexport type List = RecordInfo<ListRecord>\nexport type Lists = HydrationMap<AtUriString, List>\n\nexport type ListItem = RecordInfo<ListItemRecord>\nexport type ListItems = HydrationMap<AtUriString, ListItem>\n\nexport type ListViewerState = {\n viewerMuted?: string // @TODO AtUriString ?\n viewerListBlockUri?: AtUriString\n viewerInList?: string // @TODO AtUriString ?\n}\n\nexport type ListViewerStates = HydrationMap<AtUriString, ListViewerState>\n\nexport type ListMembershipState = {\n actorListItemUri?: AtUriString\n}\n\n// list uri => actor did => state\nexport type ListMembershipStates = HydrationMap<\n AtUriString,\n HydrationMap<DidString, ListMembershipState>\n>\n\nexport type Follow = RecordInfo<FollowRecord>\nexport type Follows = HydrationMap<AtUriString, Follow>\n\nexport type Block = RecordInfo<BlockRecord>\n\nexport type StarterPack = RecordInfo<StarterPackRecord>\nexport type StarterPacks = HydrationMap<AtUriString, StarterPack>\n\nexport type Verification = RecordInfo<VerificationRecord>\nexport type Verifications = HydrationMap<AtUriString, Verification>\n\nexport type StarterPackAgg = {\n joinedWeek: number\n joinedAllTime: number\n listItemSampleUris?: AtUriString[] // gets set during starter pack hydration (not for basic view)\n}\n\nexport type StarterPackAggs = HydrationMap<AtUriString, StarterPackAgg>\n\nexport type ListAgg = {\n listItems: number\n}\n\nexport type ListAggs = HydrationMap<AtUriString, ListAgg>\n\nexport type RelationshipPair = [didA: DidString, didB: DidString]\n\nconst dedupePairs = (pairs: RelationshipPair[]): RelationshipPair[] => {\n const deduped = pairs.reduce((acc, pair) => {\n return acc.set(Blocks.key(...pair), pair)\n }, new Map<string, RelationshipPair>())\n return [...deduped.values()]\n}\n\nexport class Blocks {\n _blocks: Map<string, BlockEntry> = new Map() // did:a,did:b -> block\n constructor() {}\n\n static key(didA: string, didB: string): string {\n return [didA, didB].sort().join(',')\n }\n\n set(didA: string, didB: string, block: BlockEntry): Blocks {\n const key = Blocks.key(didA, didB)\n this._blocks.set(key, block)\n return this\n }\n\n get(didA: string, didB: string): BlockEntry | null {\n if (didA === didB) return null // ignore self-blocks\n const key = Blocks.key(didA, didB)\n return this._blocks.get(key) ?? null\n }\n\n merge(blocks: Blocks): Blocks {\n blocks._blocks.forEach((block, key) => {\n this._blocks.set(key, block)\n })\n return this\n }\n}\n\n// No \"blocking\" vs. \"blocked\" directionality: only suitable for bidirectional block checks\nexport type BlockEntry = {\n blockUri: AtUriString | undefined\n blockListUri: AtUriString | undefined\n}\n\nexport class GraphHydrator {\n constructor(public dataplane: DataPlaneClient) {}\n\n async getLists(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Lists> {\n const map: Lists = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getListRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const record = parseRecord(\n app.bsky.graph.list.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uris[i], record ?? null)\n }\n\n return map\n }\n\n async getListItems(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<ListItems> {\n const map: ListItems = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getListItemRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const record = parseRecord(\n app.bsky.graph.listitem.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uris[i], record ?? null)\n }\n\n return map\n }\n\n async getListViewerStates(\n uris: AtUriString[],\n viewer: string,\n ): Promise<ListViewerStates> {\n const map: ListViewerStates = new HydrationMap()\n if (!uris.length) return map\n\n const mutesAndBlocks = await Promise.all(\n uris.map((uri) => this.getMutesAndBlocks(uri, viewer)),\n )\n const listMemberships = await this.dataplane.getListMembership({\n actorDid: viewer,\n listUris: uris,\n })\n for (let i = 0; i < uris.length; i++) {\n const uri = uris[i]\n map.set(uri, {\n viewerMuted: mutesAndBlocks[i].muted ? uri : undefined,\n viewerListBlockUri: mutesAndBlocks[i].listBlockUri || undefined,\n viewerInList: listMemberships.listitemUris[i],\n })\n }\n\n return map\n }\n\n private async getMutesAndBlocks(uri: string, viewer: string) {\n const [muted, listBlockUri] = await Promise.all([\n this.dataplane.getMutelistSubscription({\n actorDid: viewer,\n listUri: uri,\n }),\n this.dataplane.getBlocklistSubscription({\n actorDid: viewer,\n listUri: uri,\n }),\n ])\n return {\n muted: muted.subscribed,\n listBlockUri: listBlockUri.listblockUri as AtUriString,\n }\n }\n\n async getBidirectionalBlocks(pairs: RelationshipPair[]): Promise<Blocks> {\n if (!pairs.length) return new Blocks()\n const deduped = dedupePairs(pairs).map(([a, b]) => ({ a, b }))\n const res = await this.dataplane.getBlockExistence({ pairs: deduped })\n const blocks = new Blocks()\n for (let i = 0; i < deduped.length; i++) {\n const pair = deduped[i]\n const block = res.blocks[i]\n blocks.set(pair.a, pair.b, {\n blockUri: (block.blockedBy || block.blocking || undefined) as\n | AtUriString\n | undefined,\n blockListUri: (block.blockedByList ||\n block.blockingByList ||\n undefined) as AtUriString | undefined,\n })\n }\n return blocks\n }\n\n async getFollows(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Follows> {\n const map: Follows = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getFollowRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const uri = uris[i]\n const record = parseRecord(\n app.bsky.graph.follow.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uri, record ?? null)\n }\n\n return map\n }\n\n async getVerifications(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Verifications> {\n const map: Verifications = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getVerificationRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const uri = uris[i]\n const record = parseRecord(\n app.bsky.graph.verification.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uri, record ?? null)\n }\n\n return map\n }\n\n async getBlocks(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<HydrationMap<AtUriString, Block>> {\n const map = new HydrationMap<AtUriString, Block>()\n if (!uris.length) return map\n\n const res = await this.dataplane.getBlockRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const uri = uris[i]\n const record = parseRecord(\n app.bsky.graph.block.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uri, record ?? null)\n }\n\n return map\n }\n\n async getActorFollows(input: {\n did: DidString\n cursor?: string\n limit?: number\n sort?: string\n }): Promise<{ follows: FollowInfo[]; cursor: string }> {\n const { did, cursor, limit, sort } = input\n const res = await this.dataplane.getFollows({\n actorDid: did,\n cursor,\n limit,\n sort,\n })\n return { follows: res.follows, cursor: res.cursor }\n }\n\n async getActorFollowers(input: {\n did: DidString\n cursor?: string\n limit?: number\n sort?: string\n }): Promise<{ followers: FollowInfo[]; cursor: string }> {\n const { did, cursor, limit, sort } = input\n const res = await this.dataplane.getFollowers({\n actorDid: did,\n cursor,\n limit,\n sort,\n })\n return { followers: res.followers, cursor: res.cursor }\n }\n\n async getStarterPacks(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<StarterPacks> {\n const map: StarterPacks = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getStarterPackRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const uri = uris[i]\n const record = parseRecord(\n app.bsky.graph.starterpack.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uri, record ?? null)\n }\n\n return map\n }\n\n async getStarterPackAggregates(refs: ItemRef[]) {\n const map: StarterPackAggs = new HydrationMap()\n\n if (refs.length) {\n const counts = await this.dataplane.getStarterPackCounts({ refs })\n for (let i = 0; i < refs.length; i++) {\n map.set(refs[i].uri, {\n joinedWeek: counts.joinedWeek[i] ?? 0,\n joinedAllTime: counts.joinedAllTime[i] ?? 0,\n })\n }\n }\n\n return map\n }\n\n async getListAggregates(refs: ItemRef[]): Promise<ListAggs> {\n const map: ListAggs = new HydrationMap()\n\n if (refs.length) {\n const counts = await this.dataplane.getListCounts({ refs })\n for (let i = 0; i < refs.length; i++) {\n map.set(refs[i].uri, {\n listItems: counts.listItems[i] ?? 0,\n })\n }\n }\n return map\n }\n}\n"]}
|
|
@@ -8,6 +8,9 @@ export declare const $params: l.ParamsSchema<{
|
|
|
8
8
|
}>;
|
|
9
9
|
readonly limit: l.OptionalSchema<l.WithDefaultSchema<l.IntegerSchema>>;
|
|
10
10
|
readonly cursor: l.OptionalSchema<l.StringSchema<{}>>;
|
|
11
|
+
readonly sort: l.OptionalSchema<l.StringSchema<{
|
|
12
|
+
knownValues: ["latest", "top"];
|
|
13
|
+
}>>;
|
|
11
14
|
}>;
|
|
12
15
|
export type $Params = l.InferOutput<typeof $params>;
|
|
13
16
|
export declare const $output: l.Payload<"application/json", l.ObjectSchema<{
|
|
@@ -24,6 +27,9 @@ declare const main: l.Query<"app.bsky.graph.getFollowers", l.ParamsSchema<{
|
|
|
24
27
|
}>;
|
|
25
28
|
readonly limit: l.OptionalSchema<l.WithDefaultSchema<l.IntegerSchema>>;
|
|
26
29
|
readonly cursor: l.OptionalSchema<l.StringSchema<{}>>;
|
|
30
|
+
readonly sort: l.OptionalSchema<l.StringSchema<{
|
|
31
|
+
knownValues: ["latest", "top"];
|
|
32
|
+
}>>;
|
|
27
33
|
}>, l.Payload<"application/json", l.ObjectSchema<{
|
|
28
34
|
subject: l.RefSchema<l.Validator<ActorDefs.ProfileView, ActorDefs.ProfileView>>;
|
|
29
35
|
cursor: l.OptionalSchema<l.StringSchema<{}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFollowers.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/graph/getFollowers.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,QAAA,MAAM,KAAK,gCAAgC,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"getFollowers.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/graph/getFollowers.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,QAAA,MAAM,KAAK,gCAAgC,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,eAAO,MAAM,OAAO;;;;;;;;;EAYlB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAA;AAEnD,eAAO,MAAM,OAAO;;;;GAUlB,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,oEAAoE;AACpE,QAAA,MAAM,IAAI;;;;;;;;;;;;;eAAiD,CAAA;AAE3D,OAAO,EAAE,IAAI,EAAE,CAAA;AAEf,eAAO,MAAM,IAAI,gCAAQ,CAAA"}
|
|
@@ -11,6 +11,8 @@ export const $params = /*#__PURE__*/ l.params({
|
|
|
11
11
|
/*#__PURE__*/ l.withDefault(
|
|
12
12
|
/*#__PURE__*/ l.integer({ minimum: 1, maximum: 100 }), 50)),
|
|
13
13
|
cursor: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),
|
|
14
|
+
sort: /*#__PURE__*/ l.optional(
|
|
15
|
+
/*#__PURE__*/ l.string()),
|
|
14
16
|
});
|
|
15
17
|
export const $output = /*#__PURE__*/ l.jsonPayload({
|
|
16
18
|
subject: /*#__PURE__*/ l.ref((() => ActorDefs.profileView)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFollowers.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/graph/getFollowers.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,MAAM,KAAK,GAAG,6BAA6B,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1D,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;
|
|
1
|
+
{"version":3,"file":"getFollowers.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/graph/getFollowers.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,MAAM,KAAK,GAAG,6BAA6B,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1D,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;IAC1D,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ;IAC5B,aAAa,CAAC,CAAC,CAAC,MAAM,EAAsC,CAC7D;CACF,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IACjD,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAC1B,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAQ,CACrC;IACD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1D,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK;IAC9B,aAAa,CAAC,CAAC,CAAC,GAAG,CACjB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAQ,CACrC,CACF;CACF,CAAC,CAAA;AAQF,oEAAoE;AACpE,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 ActorDefs from '../actor/defs.defs.js'\n\nconst $nsid = 'app.bsky.graph.getFollowers'\n\nexport { $nsid }\n\nexport const $params = /*#__PURE__*/ l.params({\n actor: /*#__PURE__*/ l.string({ format: 'at-identifier' }),\n limit: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.withDefault(\n /*#__PURE__*/ l.integer({ minimum: 1, maximum: 100 }),\n 50,\n ),\n ),\n cursor: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n sort: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.string<{ knownValues: ['latest', 'top'] }>(),\n ),\n})\n\nexport type $Params = l.InferOutput<typeof $params>\n\nexport const $output = /*#__PURE__*/ l.jsonPayload({\n subject: /*#__PURE__*/ l.ref<ActorDefs.ProfileView>(\n (() => ActorDefs.profileView) as any,\n ),\n cursor: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n followers: /*#__PURE__*/ l.array(\n /*#__PURE__*/ l.ref<ActorDefs.ProfileView>(\n (() => ActorDefs.profileView) 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/** Enumerates accounts which follow a specified account (actor). */\nconst main = /*#__PURE__*/ l.query($nsid, $params, $output)\n\nexport { main }\n\nexport const $lxm = $nsid\n"]}
|
|
@@ -8,6 +8,9 @@ export declare const $params: l.ParamsSchema<{
|
|
|
8
8
|
}>;
|
|
9
9
|
readonly limit: l.OptionalSchema<l.WithDefaultSchema<l.IntegerSchema>>;
|
|
10
10
|
readonly cursor: l.OptionalSchema<l.StringSchema<{}>>;
|
|
11
|
+
readonly sort: l.OptionalSchema<l.StringSchema<{
|
|
12
|
+
knownValues: ["latest", "top"];
|
|
13
|
+
}>>;
|
|
11
14
|
}>;
|
|
12
15
|
export type $Params = l.InferOutput<typeof $params>;
|
|
13
16
|
export declare const $output: l.Payload<"application/json", l.ObjectSchema<{
|
|
@@ -24,6 +27,9 @@ declare const main: l.Query<"app.bsky.graph.getFollows", l.ParamsSchema<{
|
|
|
24
27
|
}>;
|
|
25
28
|
readonly limit: l.OptionalSchema<l.WithDefaultSchema<l.IntegerSchema>>;
|
|
26
29
|
readonly cursor: l.OptionalSchema<l.StringSchema<{}>>;
|
|
30
|
+
readonly sort: l.OptionalSchema<l.StringSchema<{
|
|
31
|
+
knownValues: ["latest", "top"];
|
|
32
|
+
}>>;
|
|
27
33
|
}>, l.Payload<"application/json", l.ObjectSchema<{
|
|
28
34
|
subject: l.RefSchema<l.Validator<ActorDefs.ProfileView, ActorDefs.ProfileView>>;
|
|
29
35
|
cursor: l.OptionalSchema<l.StringSchema<{}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFollows.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/graph/getFollows.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,QAAA,MAAM,KAAK,8BAA8B,CAAA;AAEzC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"getFollows.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/graph/getFollows.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,QAAA,MAAM,KAAK,8BAA8B,CAAA;AAEzC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,eAAO,MAAM,OAAO;;;;;;;;;EAYlB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAA;AAEnD,eAAO,MAAM,OAAO;;;;GAUlB,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,qEAAqE;AACrE,QAAA,MAAM,IAAI;;;;;;;;;;;;;eAAiD,CAAA;AAE3D,OAAO,EAAE,IAAI,EAAE,CAAA;AAEf,eAAO,MAAM,IAAI,8BAAQ,CAAA"}
|
|
@@ -11,6 +11,8 @@ export const $params = /*#__PURE__*/ l.params({
|
|
|
11
11
|
/*#__PURE__*/ l.withDefault(
|
|
12
12
|
/*#__PURE__*/ l.integer({ minimum: 1, maximum: 100 }), 50)),
|
|
13
13
|
cursor: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),
|
|
14
|
+
sort: /*#__PURE__*/ l.optional(
|
|
15
|
+
/*#__PURE__*/ l.string()),
|
|
14
16
|
});
|
|
15
17
|
export const $output = /*#__PURE__*/ l.jsonPayload({
|
|
16
18
|
subject: /*#__PURE__*/ l.ref((() => ActorDefs.profileView)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFollows.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/graph/getFollows.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,MAAM,KAAK,GAAG,2BAA2B,CAAA;AAEzC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1D,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;
|
|
1
|
+
{"version":3,"file":"getFollows.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/graph/getFollows.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,MAAM,KAAK,GAAG,2BAA2B,CAAA;AAEzC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1D,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;IAC1D,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ;IAC5B,aAAa,CAAC,CAAC,CAAC,MAAM,EAAsC,CAC7D;CACF,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IACjD,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAC1B,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAQ,CACrC;IACD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1D,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK;IAC5B,aAAa,CAAC,CAAC,CAAC,GAAG,CACjB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAQ,CACrC,CACF;CACF,CAAC,CAAA;AAQF,qEAAqE;AACrE,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 ActorDefs from '../actor/defs.defs.js'\n\nconst $nsid = 'app.bsky.graph.getFollows'\n\nexport { $nsid }\n\nexport const $params = /*#__PURE__*/ l.params({\n actor: /*#__PURE__*/ l.string({ format: 'at-identifier' }),\n limit: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.withDefault(\n /*#__PURE__*/ l.integer({ minimum: 1, maximum: 100 }),\n 50,\n ),\n ),\n cursor: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n sort: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.string<{ knownValues: ['latest', 'top'] }>(),\n ),\n})\n\nexport type $Params = l.InferOutput<typeof $params>\n\nexport const $output = /*#__PURE__*/ l.jsonPayload({\n subject: /*#__PURE__*/ l.ref<ActorDefs.ProfileView>(\n (() => ActorDefs.profileView) as any,\n ),\n cursor: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n follows: /*#__PURE__*/ l.array(\n /*#__PURE__*/ l.ref<ActorDefs.ProfileView>(\n (() => ActorDefs.profileView) 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/** Enumerates accounts which a specified account (actor) follows. */\nconst main = /*#__PURE__*/ l.query($nsid, $params, $output)\n\nexport { main }\n\nexport const $lxm = $nsid\n"]}
|
|
@@ -38,6 +38,7 @@ type SkeletonTrend = {
|
|
|
38
38
|
$type?: 'app.bsky.unspecced.defs#skeletonTrend';
|
|
39
39
|
topic: string;
|
|
40
40
|
displayName: string;
|
|
41
|
+
description?: string;
|
|
41
42
|
link: string;
|
|
42
43
|
startedAt: l.DatetimeString;
|
|
43
44
|
postCount: number;
|
|
@@ -52,6 +53,7 @@ type TrendView = {
|
|
|
52
53
|
$type?: 'app.bsky.unspecced.defs#trendView';
|
|
53
54
|
topic: string;
|
|
54
55
|
displayName: string;
|
|
56
|
+
description?: string;
|
|
55
57
|
link: string;
|
|
56
58
|
startedAt: l.DatetimeString;
|
|
57
59
|
postCount: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/unspecced/defs.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAEhD,QAAA,MAAM,KAAK,4BAA4B,CAAA;AAEvC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,KAAK,kBAAkB,GAAG;IACxB,KAAK,CAAC,EAAE,4CAA4C,CAAA;IACpD,GAAG,EAAE,CAAC,CAAC,WAAW,CAAA;CACnB,CAAA;AAED,YAAY,EAAE,kBAAkB,EAAE,CAAA;AAElC,QAAA,MAAM,kBAAkB,wHAIvB,CAAA;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAE7B,KAAK,mBAAmB,GAAG;IACzB,KAAK,CAAC,EAAE,6CAA6C,CAAA;IACrD,GAAG,EAAE,CAAC,CAAC,SAAS,CAAA;CACjB,CAAA;AAED,YAAY,EAAE,mBAAmB,EAAE,CAAA;AAEnC,QAAA,MAAM,mBAAmB,2HAIxB,CAAA;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAE9B,KAAK,yBAAyB,GAAG;IAC/B,KAAK,CAAC,EAAE,mDAAmD,CAAA;IAC3D,GAAG,EAAE,CAAC,CAAC,WAAW,CAAA;CACnB,CAAA;AAED,YAAY,EAAE,yBAAyB,EAAE,CAAA;AAEzC,QAAA,MAAM,yBAAyB,6IAO5B,CAAA;AAEH,OAAO,EAAE,yBAAyB,EAAE,CAAA;AAEpC,KAAK,aAAa,GAAG;IACnB,KAAK,CAAC,EAAE,uCAAuC,CAAA;IAC/C,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,YAAY,EAAE,aAAa,EAAE,CAAA;AAE7B,QAAA,MAAM,aAAa,yGASlB,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA;AAExB,KAAK,aAAa,GAAG;IACnB,KAAK,CAAC,EAAE,uCAAuC,CAAA;IAC/C,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,CAAC,CAAC,cAAc,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,aAAa,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,CAAA;CACpB,CAAA;AAED,YAAY,EAAE,aAAa,EAAE,CAAA;AAE7B,QAAA,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"defs.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/unspecced/defs.defs.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@ const skeletonTrend = /*#__PURE__*/ l.typedObject($nsid, 'skeletonTrend',
|
|
|
30
30
|
/*#__PURE__*/ l.object({
|
|
31
31
|
topic: /*#__PURE__*/ l.string(),
|
|
32
32
|
displayName: /*#__PURE__*/ l.string(),
|
|
33
|
+
description: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),
|
|
33
34
|
link: /*#__PURE__*/ l.string(),
|
|
34
35
|
startedAt: /*#__PURE__*/ l.string({ format: 'datetime' }),
|
|
35
36
|
postCount: /*#__PURE__*/ l.integer(),
|
|
@@ -43,6 +44,7 @@ const trendView = /*#__PURE__*/ l.typedObject($nsid, 'trendView',
|
|
|
43
44
|
/*#__PURE__*/ l.object({
|
|
44
45
|
topic: /*#__PURE__*/ l.string(),
|
|
45
46
|
displayName: /*#__PURE__*/ l.string(),
|
|
47
|
+
description: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),
|
|
46
48
|
link: /*#__PURE__*/ l.string(),
|
|
47
49
|
startedAt: /*#__PURE__*/ l.string({ format: 'datetime' }),
|
|
48
50
|
postCount: /*#__PURE__*/ l.integer(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/unspecced/defs.defs.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\nimport * as ActorDefs from '../actor/defs.defs.js'\nimport * as FeedDefs from '../feed/defs.defs.js'\n\nconst $nsid = 'app.bsky.unspecced.defs'\n\nexport { $nsid }\n\ntype SkeletonSearchPost = {\n $type?: 'app.bsky.unspecced.defs#skeletonSearchPost'\n uri: l.AtUriString\n}\n\nexport type { SkeletonSearchPost }\n\nconst skeletonSearchPost = /*#__PURE__*/ l.typedObject<SkeletonSearchPost>(\n $nsid,\n 'skeletonSearchPost',\n /*#__PURE__*/ l.object({ uri: /*#__PURE__*/ l.string({ format: 'at-uri' }) }),\n)\n\nexport { skeletonSearchPost }\n\ntype SkeletonSearchActor = {\n $type?: 'app.bsky.unspecced.defs#skeletonSearchActor'\n did: l.DidString\n}\n\nexport type { SkeletonSearchActor }\n\nconst skeletonSearchActor = /*#__PURE__*/ l.typedObject<SkeletonSearchActor>(\n $nsid,\n 'skeletonSearchActor',\n /*#__PURE__*/ l.object({ did: /*#__PURE__*/ l.string({ format: 'did' }) }),\n)\n\nexport { skeletonSearchActor }\n\ntype SkeletonSearchStarterPack = {\n $type?: 'app.bsky.unspecced.defs#skeletonSearchStarterPack'\n uri: l.AtUriString\n}\n\nexport type { SkeletonSearchStarterPack }\n\nconst skeletonSearchStarterPack =\n /*#__PURE__*/ l.typedObject<SkeletonSearchStarterPack>(\n $nsid,\n 'skeletonSearchStarterPack',\n /*#__PURE__*/ l.object({\n uri: /*#__PURE__*/ l.string({ format: 'at-uri' }),\n }),\n )\n\nexport { skeletonSearchStarterPack }\n\ntype TrendingTopic = {\n $type?: 'app.bsky.unspecced.defs#trendingTopic'\n topic: string\n displayName?: string\n description?: string\n link: string\n}\n\nexport type { TrendingTopic }\n\nconst trendingTopic = /*#__PURE__*/ l.typedObject<TrendingTopic>(\n $nsid,\n 'trendingTopic',\n /*#__PURE__*/ l.object({\n topic: /*#__PURE__*/ l.string(),\n displayName: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n description: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n link: /*#__PURE__*/ l.string(),\n }),\n)\n\nexport { trendingTopic }\n\ntype SkeletonTrend = {\n $type?: 'app.bsky.unspecced.defs#skeletonTrend'\n topic: string\n displayName: string\n link: string\n startedAt: l.DatetimeString\n postCount: number\n status?: 'hot' | l.UnknownString\n category?: string\n dids: l.DidString[]\n}\n\nexport type { SkeletonTrend }\n\nconst skeletonTrend = /*#__PURE__*/ l.typedObject<SkeletonTrend>(\n $nsid,\n 'skeletonTrend',\n /*#__PURE__*/ l.object({\n topic: /*#__PURE__*/ l.string(),\n displayName: /*#__PURE__*/ l.string(),\n link: /*#__PURE__*/ l.string(),\n startedAt: /*#__PURE__*/ l.string({ format: 'datetime' }),\n postCount: /*#__PURE__*/ l.integer(),\n status: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.string<{ knownValues: ['hot'] }>(),\n ),\n category: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n dids: /*#__PURE__*/ l.array(/*#__PURE__*/ l.string({ format: 'did' })),\n }),\n)\n\nexport { skeletonTrend }\n\ntype TrendView = {\n $type?: 'app.bsky.unspecced.defs#trendView'\n topic: string\n displayName: string\n link: string\n startedAt: l.DatetimeString\n postCount: number\n status?: 'hot' | l.UnknownString\n category?: string\n actors: ActorDefs.ProfileViewBasic[]\n}\n\nexport type { TrendView }\n\nconst trendView = /*#__PURE__*/ l.typedObject<TrendView>(\n $nsid,\n 'trendView',\n /*#__PURE__*/ l.object({\n topic: /*#__PURE__*/ l.string(),\n displayName: /*#__PURE__*/ l.string(),\n link: /*#__PURE__*/ l.string(),\n startedAt: /*#__PURE__*/ l.string({ format: 'datetime' }),\n postCount: /*#__PURE__*/ l.integer(),\n status: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.string<{ knownValues: ['hot'] }>(),\n ),\n category: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n actors: /*#__PURE__*/ l.array(\n /*#__PURE__*/ l.ref<ActorDefs.ProfileViewBasic>(\n (() => ActorDefs.profileViewBasic) as any,\n ),\n ),\n }),\n)\n\nexport { trendView }\n\ntype ThreadItemPost = {\n $type?: 'app.bsky.unspecced.defs#threadItemPost'\n post: FeedDefs.PostView\n\n /**\n * This post has more parents that were not present in the response. This is just a boolean, without the number of parents.\n */\n moreParents: boolean\n\n /**\n * This post has more replies that were not present in the response. This is a numeric value, which is best-effort and might not be accurate.\n */\n moreReplies: number\n\n /**\n * This post is part of a contiguous thread by the OP from the thread root. Many different OP threads can happen in the same thread.\n */\n opThread: boolean\n\n /**\n * The threadgate created by the author indicates this post as a reply to be hidden for everyone consuming the thread.\n */\n hiddenByThreadgate: boolean\n\n /**\n * This is by an account muted by the viewer requesting it.\n */\n mutedByViewer: boolean\n}\n\nexport type { ThreadItemPost }\n\nconst threadItemPost = /*#__PURE__*/ l.typedObject<ThreadItemPost>(\n $nsid,\n 'threadItemPost',\n /*#__PURE__*/ l.object({\n post: /*#__PURE__*/ l.ref<FeedDefs.PostView>(\n (() => FeedDefs.postView) as any,\n ),\n moreParents: /*#__PURE__*/ l.boolean(),\n moreReplies: /*#__PURE__*/ l.integer(),\n opThread: /*#__PURE__*/ l.boolean(),\n hiddenByThreadgate: /*#__PURE__*/ l.boolean(),\n mutedByViewer: /*#__PURE__*/ l.boolean(),\n }),\n)\n\nexport { threadItemPost }\n\ntype ThreadItemNoUnauthenticated = {\n $type?: 'app.bsky.unspecced.defs#threadItemNoUnauthenticated'\n}\n\nexport type { ThreadItemNoUnauthenticated }\n\nconst threadItemNoUnauthenticated =\n /*#__PURE__*/ l.typedObject<ThreadItemNoUnauthenticated>(\n $nsid,\n 'threadItemNoUnauthenticated',\n /*#__PURE__*/ l.object({}),\n )\n\nexport { threadItemNoUnauthenticated }\n\ntype ThreadItemNotFound = {\n $type?: 'app.bsky.unspecced.defs#threadItemNotFound'\n}\n\nexport type { ThreadItemNotFound }\n\nconst threadItemNotFound = /*#__PURE__*/ l.typedObject<ThreadItemNotFound>(\n $nsid,\n 'threadItemNotFound',\n /*#__PURE__*/ l.object({}),\n)\n\nexport { threadItemNotFound }\n\ntype ThreadItemBlocked = {\n $type?: 'app.bsky.unspecced.defs#threadItemBlocked'\n author: FeedDefs.BlockedAuthor\n}\n\nexport type { ThreadItemBlocked }\n\nconst threadItemBlocked = /*#__PURE__*/ l.typedObject<ThreadItemBlocked>(\n $nsid,\n 'threadItemBlocked',\n /*#__PURE__*/ l.object({\n author: /*#__PURE__*/ l.ref<FeedDefs.BlockedAuthor>(\n (() => FeedDefs.blockedAuthor) as any,\n ),\n }),\n)\n\nexport { threadItemBlocked }\n\n/** The computed state of the age assurance process, returned to the user in question on certain authenticated requests. */\ntype AgeAssuranceState = {\n $type?: 'app.bsky.unspecced.defs#ageAssuranceState'\n\n /**\n * The timestamp when this state was last updated.\n */\n lastInitiatedAt?: l.DatetimeString\n\n /**\n * The status of the age assurance process.\n */\n status: 'unknown' | 'pending' | 'assured' | 'blocked' | l.UnknownString\n}\n\nexport type { AgeAssuranceState }\n\n/** The computed state of the age assurance process, returned to the user in question on certain authenticated requests. */\nconst ageAssuranceState = /*#__PURE__*/ l.typedObject<AgeAssuranceState>(\n $nsid,\n 'ageAssuranceState',\n /*#__PURE__*/ l.object({\n lastInitiatedAt: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.string({ format: 'datetime' }),\n ),\n status: /*#__PURE__*/ l.string<{\n knownValues: ['unknown', 'pending', 'assured', 'blocked']\n }>(),\n }),\n)\n\nexport { ageAssuranceState }\n\n/** Object used to store age assurance data in stash. */\ntype AgeAssuranceEvent = {\n $type?: 'app.bsky.unspecced.defs#ageAssuranceEvent'\n\n /**\n * The date and time of this write operation.\n */\n createdAt: l.DatetimeString\n\n /**\n * The status of the age assurance process.\n */\n status: 'unknown' | 'pending' | 'assured' | l.UnknownString\n\n /**\n * The unique identifier for this instance of the age assurance flow, in UUID format.\n */\n attemptId: string\n\n /**\n * The email used for AA.\n */\n email?: string\n\n /**\n * The IP address used when initiating the AA flow.\n */\n initIp?: string\n\n /**\n * The user agent used when initiating the AA flow.\n */\n initUa?: string\n\n /**\n * The IP address used when completing the AA flow.\n */\n completeIp?: string\n\n /**\n * The user agent used when completing the AA flow.\n */\n completeUa?: string\n}\n\nexport type { AgeAssuranceEvent }\n\n/** Object used to store age assurance data in stash. */\nconst ageAssuranceEvent = /*#__PURE__*/ l.typedObject<AgeAssuranceEvent>(\n $nsid,\n 'ageAssuranceEvent',\n /*#__PURE__*/ l.object({\n createdAt: /*#__PURE__*/ l.string({ format: 'datetime' }),\n status: /*#__PURE__*/ l.string<{\n knownValues: ['unknown', 'pending', 'assured']\n }>(),\n attemptId: /*#__PURE__*/ l.string(),\n email: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n initIp: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n initUa: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n completeIp: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n completeUa: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n }),\n)\n\nexport { ageAssuranceEvent }\n"]}
|
|
1
|
+
{"version":3,"file":"defs.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/unspecced/defs.defs.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\nimport * as ActorDefs from '../actor/defs.defs.js'\nimport * as FeedDefs from '../feed/defs.defs.js'\n\nconst $nsid = 'app.bsky.unspecced.defs'\n\nexport { $nsid }\n\ntype SkeletonSearchPost = {\n $type?: 'app.bsky.unspecced.defs#skeletonSearchPost'\n uri: l.AtUriString\n}\n\nexport type { SkeletonSearchPost }\n\nconst skeletonSearchPost = /*#__PURE__*/ l.typedObject<SkeletonSearchPost>(\n $nsid,\n 'skeletonSearchPost',\n /*#__PURE__*/ l.object({ uri: /*#__PURE__*/ l.string({ format: 'at-uri' }) }),\n)\n\nexport { skeletonSearchPost }\n\ntype SkeletonSearchActor = {\n $type?: 'app.bsky.unspecced.defs#skeletonSearchActor'\n did: l.DidString\n}\n\nexport type { SkeletonSearchActor }\n\nconst skeletonSearchActor = /*#__PURE__*/ l.typedObject<SkeletonSearchActor>(\n $nsid,\n 'skeletonSearchActor',\n /*#__PURE__*/ l.object({ did: /*#__PURE__*/ l.string({ format: 'did' }) }),\n)\n\nexport { skeletonSearchActor }\n\ntype SkeletonSearchStarterPack = {\n $type?: 'app.bsky.unspecced.defs#skeletonSearchStarterPack'\n uri: l.AtUriString\n}\n\nexport type { SkeletonSearchStarterPack }\n\nconst skeletonSearchStarterPack =\n /*#__PURE__*/ l.typedObject<SkeletonSearchStarterPack>(\n $nsid,\n 'skeletonSearchStarterPack',\n /*#__PURE__*/ l.object({\n uri: /*#__PURE__*/ l.string({ format: 'at-uri' }),\n }),\n )\n\nexport { skeletonSearchStarterPack }\n\ntype TrendingTopic = {\n $type?: 'app.bsky.unspecced.defs#trendingTopic'\n topic: string\n displayName?: string\n description?: string\n link: string\n}\n\nexport type { TrendingTopic }\n\nconst trendingTopic = /*#__PURE__*/ l.typedObject<TrendingTopic>(\n $nsid,\n 'trendingTopic',\n /*#__PURE__*/ l.object({\n topic: /*#__PURE__*/ l.string(),\n displayName: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n description: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n link: /*#__PURE__*/ l.string(),\n }),\n)\n\nexport { trendingTopic }\n\ntype SkeletonTrend = {\n $type?: 'app.bsky.unspecced.defs#skeletonTrend'\n topic: string\n displayName: string\n description?: string\n link: string\n startedAt: l.DatetimeString\n postCount: number\n status?: 'hot' | l.UnknownString\n category?: string\n dids: l.DidString[]\n}\n\nexport type { SkeletonTrend }\n\nconst skeletonTrend = /*#__PURE__*/ l.typedObject<SkeletonTrend>(\n $nsid,\n 'skeletonTrend',\n /*#__PURE__*/ l.object({\n topic: /*#__PURE__*/ l.string(),\n displayName: /*#__PURE__*/ l.string(),\n description: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n link: /*#__PURE__*/ l.string(),\n startedAt: /*#__PURE__*/ l.string({ format: 'datetime' }),\n postCount: /*#__PURE__*/ l.integer(),\n status: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.string<{ knownValues: ['hot'] }>(),\n ),\n category: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n dids: /*#__PURE__*/ l.array(/*#__PURE__*/ l.string({ format: 'did' })),\n }),\n)\n\nexport { skeletonTrend }\n\ntype TrendView = {\n $type?: 'app.bsky.unspecced.defs#trendView'\n topic: string\n displayName: string\n description?: string\n link: string\n startedAt: l.DatetimeString\n postCount: number\n status?: 'hot' | l.UnknownString\n category?: string\n actors: ActorDefs.ProfileViewBasic[]\n}\n\nexport type { TrendView }\n\nconst trendView = /*#__PURE__*/ l.typedObject<TrendView>(\n $nsid,\n 'trendView',\n /*#__PURE__*/ l.object({\n topic: /*#__PURE__*/ l.string(),\n displayName: /*#__PURE__*/ l.string(),\n description: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n link: /*#__PURE__*/ l.string(),\n startedAt: /*#__PURE__*/ l.string({ format: 'datetime' }),\n postCount: /*#__PURE__*/ l.integer(),\n status: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.string<{ knownValues: ['hot'] }>(),\n ),\n category: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n actors: /*#__PURE__*/ l.array(\n /*#__PURE__*/ l.ref<ActorDefs.ProfileViewBasic>(\n (() => ActorDefs.profileViewBasic) as any,\n ),\n ),\n }),\n)\n\nexport { trendView }\n\ntype ThreadItemPost = {\n $type?: 'app.bsky.unspecced.defs#threadItemPost'\n post: FeedDefs.PostView\n\n /**\n * This post has more parents that were not present in the response. This is just a boolean, without the number of parents.\n */\n moreParents: boolean\n\n /**\n * This post has more replies that were not present in the response. This is a numeric value, which is best-effort and might not be accurate.\n */\n moreReplies: number\n\n /**\n * This post is part of a contiguous thread by the OP from the thread root. Many different OP threads can happen in the same thread.\n */\n opThread: boolean\n\n /**\n * The threadgate created by the author indicates this post as a reply to be hidden for everyone consuming the thread.\n */\n hiddenByThreadgate: boolean\n\n /**\n * This is by an account muted by the viewer requesting it.\n */\n mutedByViewer: boolean\n}\n\nexport type { ThreadItemPost }\n\nconst threadItemPost = /*#__PURE__*/ l.typedObject<ThreadItemPost>(\n $nsid,\n 'threadItemPost',\n /*#__PURE__*/ l.object({\n post: /*#__PURE__*/ l.ref<FeedDefs.PostView>(\n (() => FeedDefs.postView) as any,\n ),\n moreParents: /*#__PURE__*/ l.boolean(),\n moreReplies: /*#__PURE__*/ l.integer(),\n opThread: /*#__PURE__*/ l.boolean(),\n hiddenByThreadgate: /*#__PURE__*/ l.boolean(),\n mutedByViewer: /*#__PURE__*/ l.boolean(),\n }),\n)\n\nexport { threadItemPost }\n\ntype ThreadItemNoUnauthenticated = {\n $type?: 'app.bsky.unspecced.defs#threadItemNoUnauthenticated'\n}\n\nexport type { ThreadItemNoUnauthenticated }\n\nconst threadItemNoUnauthenticated =\n /*#__PURE__*/ l.typedObject<ThreadItemNoUnauthenticated>(\n $nsid,\n 'threadItemNoUnauthenticated',\n /*#__PURE__*/ l.object({}),\n )\n\nexport { threadItemNoUnauthenticated }\n\ntype ThreadItemNotFound = {\n $type?: 'app.bsky.unspecced.defs#threadItemNotFound'\n}\n\nexport type { ThreadItemNotFound }\n\nconst threadItemNotFound = /*#__PURE__*/ l.typedObject<ThreadItemNotFound>(\n $nsid,\n 'threadItemNotFound',\n /*#__PURE__*/ l.object({}),\n)\n\nexport { threadItemNotFound }\n\ntype ThreadItemBlocked = {\n $type?: 'app.bsky.unspecced.defs#threadItemBlocked'\n author: FeedDefs.BlockedAuthor\n}\n\nexport type { ThreadItemBlocked }\n\nconst threadItemBlocked = /*#__PURE__*/ l.typedObject<ThreadItemBlocked>(\n $nsid,\n 'threadItemBlocked',\n /*#__PURE__*/ l.object({\n author: /*#__PURE__*/ l.ref<FeedDefs.BlockedAuthor>(\n (() => FeedDefs.blockedAuthor) as any,\n ),\n }),\n)\n\nexport { threadItemBlocked }\n\n/** The computed state of the age assurance process, returned to the user in question on certain authenticated requests. */\ntype AgeAssuranceState = {\n $type?: 'app.bsky.unspecced.defs#ageAssuranceState'\n\n /**\n * The timestamp when this state was last updated.\n */\n lastInitiatedAt?: l.DatetimeString\n\n /**\n * The status of the age assurance process.\n */\n status: 'unknown' | 'pending' | 'assured' | 'blocked' | l.UnknownString\n}\n\nexport type { AgeAssuranceState }\n\n/** The computed state of the age assurance process, returned to the user in question on certain authenticated requests. */\nconst ageAssuranceState = /*#__PURE__*/ l.typedObject<AgeAssuranceState>(\n $nsid,\n 'ageAssuranceState',\n /*#__PURE__*/ l.object({\n lastInitiatedAt: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.string({ format: 'datetime' }),\n ),\n status: /*#__PURE__*/ l.string<{\n knownValues: ['unknown', 'pending', 'assured', 'blocked']\n }>(),\n }),\n)\n\nexport { ageAssuranceState }\n\n/** Object used to store age assurance data in stash. */\ntype AgeAssuranceEvent = {\n $type?: 'app.bsky.unspecced.defs#ageAssuranceEvent'\n\n /**\n * The date and time of this write operation.\n */\n createdAt: l.DatetimeString\n\n /**\n * The status of the age assurance process.\n */\n status: 'unknown' | 'pending' | 'assured' | l.UnknownString\n\n /**\n * The unique identifier for this instance of the age assurance flow, in UUID format.\n */\n attemptId: string\n\n /**\n * The email used for AA.\n */\n email?: string\n\n /**\n * The IP address used when initiating the AA flow.\n */\n initIp?: string\n\n /**\n * The user agent used when initiating the AA flow.\n */\n initUa?: string\n\n /**\n * The IP address used when completing the AA flow.\n */\n completeIp?: string\n\n /**\n * The user agent used when completing the AA flow.\n */\n completeUa?: string\n}\n\nexport type { AgeAssuranceEvent }\n\n/** Object used to store age assurance data in stash. */\nconst ageAssuranceEvent = /*#__PURE__*/ l.typedObject<AgeAssuranceEvent>(\n $nsid,\n 'ageAssuranceEvent',\n /*#__PURE__*/ l.object({\n createdAt: /*#__PURE__*/ l.string({ format: 'datetime' }),\n status: /*#__PURE__*/ l.string<{\n knownValues: ['unknown', 'pending', 'assured']\n }>(),\n attemptId: /*#__PURE__*/ l.string(),\n email: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n initIp: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n initUa: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n completeIp: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n completeUa: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n }),\n)\n\nexport { ageAssuranceEvent }\n"]}
|