@atproto/bsky 0.0.249 → 0.0.251

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.
Files changed (84) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/api/age-assurance/const.d.ts.map +1 -1
  3. package/dist/api/age-assurance/const.js +19 -0
  4. package/dist/api/age-assurance/const.js.map +1 -1
  5. package/dist/api/age-assurance/kws/age-verified.d.ts +20 -0
  6. package/dist/api/age-assurance/kws/age-verified.d.ts.map +1 -1
  7. package/dist/api/age-assurance/kws/age-verified.js +6 -0
  8. package/dist/api/age-assurance/kws/age-verified.js.map +1 -1
  9. package/dist/api/app/bsky/feed/getFeed.d.ts.map +1 -1
  10. package/dist/api/app/bsky/feed/getFeed.js +4 -0
  11. package/dist/api/app/bsky/feed/getFeed.js.map +1 -1
  12. package/dist/api/app/bsky/feed/searchPosts.js +5 -0
  13. package/dist/api/app/bsky/feed/searchPosts.js.map +1 -1
  14. package/dist/api/app/bsky/feed/searchPostsV2.js +5 -0
  15. package/dist/api/app/bsky/feed/searchPostsV2.js.map +1 -1
  16. package/dist/api/app/bsky/graph/muteActor.d.ts.map +1 -1
  17. package/dist/api/app/bsky/graph/muteActor.js +3 -0
  18. package/dist/api/app/bsky/graph/muteActor.js.map +1 -1
  19. package/dist/api/kws/types.d.ts +33 -0
  20. package/dist/api/kws/types.d.ts.map +1 -1
  21. package/dist/api/kws/types.js +3 -0
  22. package/dist/api/kws/types.js.map +1 -1
  23. package/dist/config.d.ts +2 -0
  24. package/dist/config.d.ts.map +1 -1
  25. package/dist/config.js +5 -0
  26. package/dist/config.js.map +1 -1
  27. package/dist/data-plane/index.d.ts +0 -1
  28. package/dist/data-plane/index.d.ts.map +1 -1
  29. package/dist/data-plane/index.js +0 -1
  30. package/dist/data-plane/index.js.map +1 -1
  31. package/dist/data-plane/server/bsync-subscription.d.ts +47 -0
  32. package/dist/data-plane/server/bsync-subscription.d.ts.map +1 -0
  33. package/dist/data-plane/server/bsync-subscription.js +461 -0
  34. package/dist/data-plane/server/bsync-subscription.js.map +1 -0
  35. package/dist/data-plane/server/index.d.ts +1 -0
  36. package/dist/data-plane/server/index.d.ts.map +1 -1
  37. package/dist/data-plane/server/index.js +1 -0
  38. package/dist/data-plane/server/index.js.map +1 -1
  39. package/dist/hydration/feed.d.ts +1 -2
  40. package/dist/hydration/feed.d.ts.map +1 -1
  41. package/dist/hydration/feed.js.map +1 -1
  42. package/dist/lexicons/app/bsky/ageassurance/defs.defs.d.ts +4 -0
  43. package/dist/lexicons/app/bsky/ageassurance/defs.defs.d.ts.map +1 -1
  44. package/dist/lexicons/app/bsky/ageassurance/defs.defs.js +3 -0
  45. package/dist/lexicons/app/bsky/ageassurance/defs.defs.js.map +1 -1
  46. package/dist/lexicons/chat/bsky/convo/defs.defs.js +1 -1
  47. package/dist/lexicons/chat/bsky/convo/defs.defs.js.map +1 -1
  48. package/dist/lexicons/chat/bsky/group/editGroup.defs.d.ts +4 -4
  49. package/dist/lexicons/chat/bsky/group/editGroup.defs.js +2 -2
  50. package/dist/lexicons/chat/bsky/group/editGroup.defs.js.map +1 -1
  51. package/dist/lexicons/chat/bsky/moderation/defs.defs.js +1 -1
  52. package/dist/lexicons/chat/bsky/moderation/defs.defs.js.map +1 -1
  53. package/package.json +10 -10
  54. package/src/api/age-assurance/const.ts +19 -0
  55. package/src/api/age-assurance/kws/age-verified.test.ts +98 -0
  56. package/src/api/age-assurance/kws/age-verified.ts +6 -0
  57. package/src/api/app/bsky/feed/getFeed.ts +5 -0
  58. package/src/api/app/bsky/feed/searchPosts.ts +7 -0
  59. package/src/api/app/bsky/feed/searchPostsV2.ts +7 -0
  60. package/src/api/app/bsky/graph/muteActor.ts +3 -0
  61. package/src/api/kws/types.ts +11 -0
  62. package/src/api/kws/util.test.ts +50 -0
  63. package/src/config.ts +9 -0
  64. package/src/data-plane/index.ts +0 -1
  65. package/src/data-plane/{bsync/index.ts → server/bsync-subscription.ts} +245 -121
  66. package/src/data-plane/server/index.ts +1 -0
  67. package/src/hydration/feed.ts +1 -2
  68. package/tests/__snapshots__/feed-generation.test.ts.snap +62 -15
  69. package/tests/data-plane/thread-mutes.test.ts +2 -0
  70. package/tests/feed-generation.test.ts +55 -9
  71. package/tests/stash.test.ts +6 -1
  72. package/tests/views/age-assurance-v2.test.ts +3 -0
  73. package/tests/views/age-assurance.test.ts +8 -0
  74. package/tests/views/bookmarks.test.ts +19 -0
  75. package/tests/views/drafts.test.ts +25 -2
  76. package/tests/views/mute-lists.test.ts +2 -0
  77. package/tests/views/mutes.test.ts +1 -0
  78. package/tests/views/notifications.test.ts +16 -0
  79. package/tests/views/post-search.test.ts +81 -0
  80. package/tsconfig.build.tsbuildinfo +1 -1
  81. package/dist/data-plane/bsync/index.d.ts +0 -11
  82. package/dist/data-plane/bsync/index.d.ts.map +0 -1
  83. package/dist/data-plane/bsync/index.js +0 -376
  84. package/dist/data-plane/bsync/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"feed.js","sourceRoot":"","sources":["../../src/hydration/feed.ts"],"names":[],"mappings":"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","sourcesContent":["import { dedupeStrs } from '@atproto/common'\nimport { AtUriString, DidString } from '@atproto/syntax'\nimport { DataPlaneClient } from '../data-plane/client/index.js'\nimport { app } from '../lexicons/index.js'\nimport {\n postUriToPostgateUri,\n postUriToThreadgateUri,\n uriToDid as didFromUri,\n} from '../util/uris.js'\nimport {\n FeedGenRecord,\n GateRecord,\n LikeRecord,\n PostRecord,\n PostgateRecord,\n RepostRecord,\n} from '../views/types.js'\nimport {\n HydrationMap,\n ItemRef,\n RecordInfo,\n parseRecord,\n parseString,\n split,\n} from './util.js'\n\nexport type Post = RecordInfo<PostRecord> & {\n violatesThreadGate: boolean\n violatesEmbeddingRules: boolean\n hasThreadGate: boolean\n hasPostGate: boolean\n tags: Set<string>\n /**\n * Debug information for internal development\n */\n debug?: {\n tags?: string[]\n }\n}\n\nexport type Posts = HydrationMap<AtUriString, Post>\n\nexport type PostViewerState = {\n like?: AtUriString\n repost?: AtUriString\n bookmarked?: boolean\n threadMuted?: boolean\n}\n\nexport type PostViewerStates = HydrationMap<AtUriString, PostViewerState>\n\nexport type ThreadContext = {\n // Whether the root author has liked the post.\n like?: AtUriString\n}\n\nexport type ThreadContexts = HydrationMap<AtUriString, ThreadContext>\n\nexport type PostAgg = {\n likes: number\n replies: number\n reposts: number\n quotes: number\n bookmarks: number\n}\n\nexport type PostAggs = HydrationMap<AtUriString, PostAgg>\n\nexport type Like = RecordInfo<LikeRecord>\nexport type Likes = HydrationMap<AtUriString, Like>\n\nexport type Repost = RecordInfo<RepostRecord>\nexport type Reposts = HydrationMap<AtUriString, Repost>\n\nexport type FeedGenAgg = {\n likes: number\n}\n\nexport type FeedGenAggs = HydrationMap<AtUriString, FeedGenAgg>\n\nexport type FeedGen = RecordInfo<FeedGenRecord>\nexport type FeedGens = HydrationMap<AtUriString, FeedGen>\n\nexport type FeedGenViewerState = {\n like?: AtUriString\n}\n\nexport type FeedGenViewerStates = HydrationMap<AtUriString, FeedGenViewerState>\n\nexport type Threadgate = RecordInfo<GateRecord>\nexport type Threadgates = HydrationMap<AtUriString, Threadgate>\nexport type Postgate = RecordInfo<PostgateRecord>\nexport type Postgates = HydrationMap<AtUriString, Postgate>\n\nexport type ThreadRef = ItemRef & { threadRoot: AtUriString }\n\n// @NOTE the feed item types in the protos for author feeds and timelines\n// technically have additional fields, not supported by the mock dataplane.\nexport type FeedItem = {\n post: ItemRef\n repost?: ItemRef\n /**\n * If true, overrides the `reason` with `app.bsky.feed.defs#reasonPin`. Used\n * only in author feeds.\n */\n authorPinned?: boolean\n}\n\nexport type GetPostsHydrationOptions = {\n processDynamicTagsForView?: 'thread' | 'search'\n}\n\nexport class FeedHydrator {\n constructor(public dataplane: DataPlaneClient) {}\n\n async getPosts(\n uris: AtUriString[],\n includeTakedowns = false,\n given: Posts = new HydrationMap(),\n viewer?: string | null,\n options: GetPostsHydrationOptions = {},\n ): Promise<Posts> {\n const [have, need] = split(uris, (uri) => given.has(uri))\n const base: Posts = new HydrationMap()\n\n for (const uri of have) {\n base.set(uri, given.get(uri) ?? null)\n }\n\n if (need.length) {\n const res = await this.dataplane.getPostRecords(\n options.processDynamicTagsForView\n ? {\n uris: need,\n viewerDid: viewer ?? undefined,\n processDynamicTagsForView: options.processDynamicTagsForView,\n }\n : {\n uris: need,\n },\n )\n\n for (let i = 0; i < need.length; i++) {\n const record = parseRecord(\n app.bsky.feed.post.main,\n res.records[i],\n includeTakedowns,\n )\n const violatesThreadGate = res.meta[i].violatesThreadGate\n const violatesEmbeddingRules = res.meta[i].violatesEmbeddingRules\n const hasThreadGate = res.meta[i].hasThreadGate\n const hasPostGate = res.meta[i].hasPostGate\n const tags = new Set<string>(res.records[i].tags ?? [])\n const debug = { tags: Array.from(tags) }\n\n base.set(\n need[i],\n record\n ? {\n ...record,\n violatesThreadGate,\n violatesEmbeddingRules,\n hasThreadGate,\n hasPostGate,\n tags,\n debug,\n }\n : null,\n )\n }\n }\n\n return base\n }\n\n async getPostViewerStates(\n refs: ThreadRef[],\n viewer: string,\n ): Promise<PostViewerStates> {\n const map: PostViewerStates = new HydrationMap()\n if (!refs.length) return map\n\n const [likes, reposts, bookmarks, threadMutesMap] = await Promise.all([\n this.dataplane.getLikesByActorAndSubjects({\n actorDid: viewer,\n refs,\n }),\n this.dataplane.getRepostsByActorAndSubjects({\n actorDid: viewer,\n refs,\n }),\n this.dataplane.getBookmarksByActorAndSubjects({\n actorDid: viewer,\n uris: refs.map((r) => r.uri),\n }),\n this.getThreadMutes(\n refs.map((r) => r.threadRoot),\n viewer,\n ),\n ])\n\n for (let i = 0; i < refs.length; i++) {\n const { uri, threadRoot } = refs[i]\n map.set(uri, {\n like: parseString(likes.uris[i]),\n repost: parseString(reposts.uris[i]),\n // @NOTE: The dataplane contract is that the array position will be present,\n // but the optional chaining is to ensure it works regardless of the dataplane being update to provide the data.\n bookmarked: !!bookmarks.bookmarks.at(i)?.ref?.key,\n threadMuted: threadMutesMap.get(threadRoot) ?? false,\n })\n }\n\n return map\n }\n\n private async getThreadMutes(\n threadRoots: AtUriString[],\n viewer: string,\n ): Promise<Map<string, boolean>> {\n const deduped = dedupeStrs(threadRoots)\n const threadMutes = await this.dataplane.getThreadMutesOnSubjects({\n actorDid: viewer,\n threadRoots: deduped,\n })\n const map: Map<AtUriString, boolean> = new Map()\n for (let i = 0; i < deduped.length; i++) {\n map.set(deduped[i], threadMutes.muted[i] ?? false)\n }\n\n return map\n }\n\n async getThreadContexts(refs: ThreadRef[]): Promise<ThreadContexts> {\n const map: ThreadContexts = new HydrationMap()\n if (!refs.length) return map\n\n const refsByRootAuthor = new Map<DidString, ThreadRef[]>()\n\n for (const ref of refs) {\n const { threadRoot } = ref\n const rootAuthor = didFromUri(threadRoot)\n const existingValue = refsByRootAuthor.get(rootAuthor) ?? []\n refsByRootAuthor.set(rootAuthor, [...existingValue, ref])\n }\n\n const refsByRootAuthorEntries = Array.from(refsByRootAuthor.entries())\n\n const rootAuthorsLikes = await Promise.all(\n refsByRootAuthorEntries.map(([rootAuthor, refsForAuthor]) =>\n this.dataplane.getLikesByActorAndSubjects({\n actorDid: rootAuthor,\n refs: refsForAuthor.map(({ uri, cid }) => ({ uri, cid })),\n }),\n ),\n )\n\n const likesByUri = new Map<AtUriString, AtUriString>()\n\n for (let i = 0; i < refsByRootAuthorEntries.length; i++) {\n const [_rootAuthor, refsForAuthor] = refsByRootAuthorEntries[i]\n const likesForRootAuthor = rootAuthorsLikes[i]\n for (let j = 0; j < refsForAuthor.length; j++) {\n const { uri } = refsForAuthor[j]\n likesByUri.set(uri, likesForRootAuthor.uris[j] as AtUriString)\n }\n }\n\n for (const { uri } of refs) {\n map.set(uri, {\n like: parseString(likesByUri.get(uri)),\n })\n }\n\n return map\n }\n\n async getPostAggregates(\n refs: ItemRef[],\n viewer: DidString | null,\n ): Promise<PostAggs> {\n const map: PostAggs = new HydrationMap()\n if (!refs.length) return map\n\n const counts = await this.dataplane.getInteractionCounts({\n refs,\n skipCacheForDids: viewer ? [viewer] : undefined,\n })\n\n for (let i = 0; i < refs.length; i++) {\n map.set(refs[i].uri, {\n likes: counts.likes[i] ?? 0,\n replies: counts.replies[i] ?? 0,\n reposts: counts.reposts[i] ?? 0,\n quotes: counts.quotes[i] ?? 0,\n bookmarks: counts.bookmarks[i] ?? 0,\n })\n }\n\n return map\n }\n\n async getFeedGens(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<FeedGens> {\n const map: FeedGens = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getFeedGeneratorRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const record = parseRecord(\n app.bsky.feed.generator.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uris[i], record ?? null)\n }\n\n return map\n }\n\n async getFeedGenViewerStates(\n uris: AtUriString[],\n viewer: DidString,\n ): Promise<FeedGenViewerStates> {\n const map: FeedGenViewerStates = new HydrationMap()\n if (!uris.length) return map\n\n const likes = await this.dataplane.getLikesByActorAndSubjects({\n actorDid: viewer,\n refs: uris.map((uri) => ({ uri })),\n })\n for (let i = 0; i < uris.length; i++) {\n map.set(uris[i], {\n like: parseString(likes.uris[i]),\n })\n }\n\n return map\n }\n\n async getFeedGenAggregates(\n refs: ItemRef[],\n viewer: DidString | null,\n ): Promise<FeedGenAggs> {\n const map: FeedGenAggs = new HydrationMap()\n if (!refs.length) return map\n\n const counts = await this.dataplane.getInteractionCounts({\n refs,\n skipCacheForDids: viewer ? [viewer] : undefined,\n })\n for (let i = 0; i < refs.length; i++) {\n map.set(refs[i].uri, { likes: counts.likes[i] ?? 0 })\n }\n\n return map\n }\n\n async getThreadgatesForPosts(\n postUris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Threadgates> {\n const uris = postUris.map(postUriToThreadgateUri)\n return this.getThreadgateRecords(uris, includeTakedowns)\n }\n\n async getThreadgateRecords(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Threadgates> {\n const map: Threadgates = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getThreadGateRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const record = parseRecord(\n app.bsky.feed.threadgate.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uris[i], record ?? null)\n }\n\n return map\n }\n\n async getPostgatesForPosts(\n postUris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Postgates> {\n const uris = postUris.map(postUriToPostgateUri)\n return this.getPostgateRecords(uris, includeTakedowns)\n }\n\n async getPostgateRecords(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Postgates> {\n const map: Postgates = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getPostgateRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const record = parseRecord(\n app.bsky.feed.postgate.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uris[i], record ?? null)\n }\n\n return map\n }\n\n async getLikes(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Likes> {\n const map: Likes = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getLikeRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const record = parseRecord(\n app.bsky.feed.like.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uris[i], record ?? null)\n }\n\n return map\n }\n\n async getReposts(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Reposts> {\n const map: Reposts = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getRepostRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const record = parseRecord(\n app.bsky.feed.repost.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uris[i], record ?? null)\n }\n\n return map\n }\n}\n"]}
1
+ {"version":3,"file":"feed.js","sourceRoot":"","sources":["../../src/hydration/feed.ts"],"names":[],"mappings":"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","sourcesContent":["import { dedupeStrs } from '@atproto/common'\nimport { AtUriString, DidString } from '@atproto/syntax'\nimport { DataPlaneClient } from '../data-plane/client/index.js'\nimport { app } from '../lexicons/index.js'\nimport {\n postUriToPostgateUri,\n postUriToThreadgateUri,\n uriToDid as didFromUri,\n} from '../util/uris.js'\nimport {\n FeedGenRecord,\n GateRecord,\n LikeRecord,\n PostRecord,\n PostgateRecord,\n RepostRecord,\n} from '../views/types.js'\nimport {\n HydrationMap,\n ItemRef,\n RecordInfo,\n parseRecord,\n parseString,\n split,\n} from './util.js'\n\nexport type Post = RecordInfo<PostRecord> & {\n violatesThreadGate: boolean\n violatesEmbeddingRules: boolean\n hasThreadGate: boolean\n hasPostGate: boolean\n tags: Set<string>\n /**\n * Debug information for internal development\n */\n debug?: {\n tags?: string[]\n }\n}\n\nexport type Posts = HydrationMap<AtUriString, Post>\n\nexport type PostViewerState = {\n like?: AtUriString\n repost?: AtUriString\n bookmarked?: boolean\n threadMuted?: boolean\n}\n\nexport type PostViewerStates = HydrationMap<AtUriString, PostViewerState>\n\nexport type ThreadContext = {\n // Whether the root author has liked the post.\n like?: AtUriString\n}\n\nexport type ThreadContexts = HydrationMap<AtUriString, ThreadContext>\n\nexport type PostAgg = {\n likes: number\n replies: number\n reposts: number\n quotes: number\n bookmarks: number\n}\n\nexport type PostAggs = HydrationMap<AtUriString, PostAgg>\n\nexport type Like = RecordInfo<LikeRecord>\nexport type Likes = HydrationMap<AtUriString, Like>\n\nexport type Repost = RecordInfo<RepostRecord>\nexport type Reposts = HydrationMap<AtUriString, Repost>\n\nexport type FeedGenAgg = {\n likes: number\n}\n\nexport type FeedGenAggs = HydrationMap<AtUriString, FeedGenAgg>\n\nexport type FeedGen = RecordInfo<FeedGenRecord>\nexport type FeedGens = HydrationMap<AtUriString, FeedGen>\n\nexport type FeedGenViewerState = {\n like?: AtUriString\n}\n\nexport type FeedGenViewerStates = HydrationMap<AtUriString, FeedGenViewerState>\n\nexport type Threadgate = RecordInfo<GateRecord>\nexport type Threadgates = HydrationMap<AtUriString, Threadgate>\nexport type Postgate = RecordInfo<PostgateRecord>\nexport type Postgates = HydrationMap<AtUriString, Postgate>\n\nexport type ThreadRef = ItemRef & { threadRoot: AtUriString }\n\n// @NOTE the feed item types in the protos for author feeds and timelines\n// technically have additional fields, not supported by the mock dataplane.\nexport type FeedItem = {\n post: ItemRef\n repost?: ItemRef\n /**\n * If true, overrides the `reason` with `app.bsky.feed.defs#reasonPin`.\n */\n authorPinned?: boolean\n}\n\nexport type GetPostsHydrationOptions = {\n processDynamicTagsForView?: 'thread' | 'search'\n}\n\nexport class FeedHydrator {\n constructor(public dataplane: DataPlaneClient) {}\n\n async getPosts(\n uris: AtUriString[],\n includeTakedowns = false,\n given: Posts = new HydrationMap(),\n viewer?: string | null,\n options: GetPostsHydrationOptions = {},\n ): Promise<Posts> {\n const [have, need] = split(uris, (uri) => given.has(uri))\n const base: Posts = new HydrationMap()\n\n for (const uri of have) {\n base.set(uri, given.get(uri) ?? null)\n }\n\n if (need.length) {\n const res = await this.dataplane.getPostRecords(\n options.processDynamicTagsForView\n ? {\n uris: need,\n viewerDid: viewer ?? undefined,\n processDynamicTagsForView: options.processDynamicTagsForView,\n }\n : {\n uris: need,\n },\n )\n\n for (let i = 0; i < need.length; i++) {\n const record = parseRecord(\n app.bsky.feed.post.main,\n res.records[i],\n includeTakedowns,\n )\n const violatesThreadGate = res.meta[i].violatesThreadGate\n const violatesEmbeddingRules = res.meta[i].violatesEmbeddingRules\n const hasThreadGate = res.meta[i].hasThreadGate\n const hasPostGate = res.meta[i].hasPostGate\n const tags = new Set<string>(res.records[i].tags ?? [])\n const debug = { tags: Array.from(tags) }\n\n base.set(\n need[i],\n record\n ? {\n ...record,\n violatesThreadGate,\n violatesEmbeddingRules,\n hasThreadGate,\n hasPostGate,\n tags,\n debug,\n }\n : null,\n )\n }\n }\n\n return base\n }\n\n async getPostViewerStates(\n refs: ThreadRef[],\n viewer: string,\n ): Promise<PostViewerStates> {\n const map: PostViewerStates = new HydrationMap()\n if (!refs.length) return map\n\n const [likes, reposts, bookmarks, threadMutesMap] = await Promise.all([\n this.dataplane.getLikesByActorAndSubjects({\n actorDid: viewer,\n refs,\n }),\n this.dataplane.getRepostsByActorAndSubjects({\n actorDid: viewer,\n refs,\n }),\n this.dataplane.getBookmarksByActorAndSubjects({\n actorDid: viewer,\n uris: refs.map((r) => r.uri),\n }),\n this.getThreadMutes(\n refs.map((r) => r.threadRoot),\n viewer,\n ),\n ])\n\n for (let i = 0; i < refs.length; i++) {\n const { uri, threadRoot } = refs[i]\n map.set(uri, {\n like: parseString(likes.uris[i]),\n repost: parseString(reposts.uris[i]),\n // @NOTE: The dataplane contract is that the array position will be present,\n // but the optional chaining is to ensure it works regardless of the dataplane being update to provide the data.\n bookmarked: !!bookmarks.bookmarks.at(i)?.ref?.key,\n threadMuted: threadMutesMap.get(threadRoot) ?? false,\n })\n }\n\n return map\n }\n\n private async getThreadMutes(\n threadRoots: AtUriString[],\n viewer: string,\n ): Promise<Map<string, boolean>> {\n const deduped = dedupeStrs(threadRoots)\n const threadMutes = await this.dataplane.getThreadMutesOnSubjects({\n actorDid: viewer,\n threadRoots: deduped,\n })\n const map: Map<AtUriString, boolean> = new Map()\n for (let i = 0; i < deduped.length; i++) {\n map.set(deduped[i], threadMutes.muted[i] ?? false)\n }\n\n return map\n }\n\n async getThreadContexts(refs: ThreadRef[]): Promise<ThreadContexts> {\n const map: ThreadContexts = new HydrationMap()\n if (!refs.length) return map\n\n const refsByRootAuthor = new Map<DidString, ThreadRef[]>()\n\n for (const ref of refs) {\n const { threadRoot } = ref\n const rootAuthor = didFromUri(threadRoot)\n const existingValue = refsByRootAuthor.get(rootAuthor) ?? []\n refsByRootAuthor.set(rootAuthor, [...existingValue, ref])\n }\n\n const refsByRootAuthorEntries = Array.from(refsByRootAuthor.entries())\n\n const rootAuthorsLikes = await Promise.all(\n refsByRootAuthorEntries.map(([rootAuthor, refsForAuthor]) =>\n this.dataplane.getLikesByActorAndSubjects({\n actorDid: rootAuthor,\n refs: refsForAuthor.map(({ uri, cid }) => ({ uri, cid })),\n }),\n ),\n )\n\n const likesByUri = new Map<AtUriString, AtUriString>()\n\n for (let i = 0; i < refsByRootAuthorEntries.length; i++) {\n const [_rootAuthor, refsForAuthor] = refsByRootAuthorEntries[i]\n const likesForRootAuthor = rootAuthorsLikes[i]\n for (let j = 0; j < refsForAuthor.length; j++) {\n const { uri } = refsForAuthor[j]\n likesByUri.set(uri, likesForRootAuthor.uris[j] as AtUriString)\n }\n }\n\n for (const { uri } of refs) {\n map.set(uri, {\n like: parseString(likesByUri.get(uri)),\n })\n }\n\n return map\n }\n\n async getPostAggregates(\n refs: ItemRef[],\n viewer: DidString | null,\n ): Promise<PostAggs> {\n const map: PostAggs = new HydrationMap()\n if (!refs.length) return map\n\n const counts = await this.dataplane.getInteractionCounts({\n refs,\n skipCacheForDids: viewer ? [viewer] : undefined,\n })\n\n for (let i = 0; i < refs.length; i++) {\n map.set(refs[i].uri, {\n likes: counts.likes[i] ?? 0,\n replies: counts.replies[i] ?? 0,\n reposts: counts.reposts[i] ?? 0,\n quotes: counts.quotes[i] ?? 0,\n bookmarks: counts.bookmarks[i] ?? 0,\n })\n }\n\n return map\n }\n\n async getFeedGens(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<FeedGens> {\n const map: FeedGens = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getFeedGeneratorRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const record = parseRecord(\n app.bsky.feed.generator.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uris[i], record ?? null)\n }\n\n return map\n }\n\n async getFeedGenViewerStates(\n uris: AtUriString[],\n viewer: DidString,\n ): Promise<FeedGenViewerStates> {\n const map: FeedGenViewerStates = new HydrationMap()\n if (!uris.length) return map\n\n const likes = await this.dataplane.getLikesByActorAndSubjects({\n actorDid: viewer,\n refs: uris.map((uri) => ({ uri })),\n })\n for (let i = 0; i < uris.length; i++) {\n map.set(uris[i], {\n like: parseString(likes.uris[i]),\n })\n }\n\n return map\n }\n\n async getFeedGenAggregates(\n refs: ItemRef[],\n viewer: DidString | null,\n ): Promise<FeedGenAggs> {\n const map: FeedGenAggs = new HydrationMap()\n if (!refs.length) return map\n\n const counts = await this.dataplane.getInteractionCounts({\n refs,\n skipCacheForDids: viewer ? [viewer] : undefined,\n })\n for (let i = 0; i < refs.length; i++) {\n map.set(refs[i].uri, { likes: counts.likes[i] ?? 0 })\n }\n\n return map\n }\n\n async getThreadgatesForPosts(\n postUris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Threadgates> {\n const uris = postUris.map(postUriToThreadgateUri)\n return this.getThreadgateRecords(uris, includeTakedowns)\n }\n\n async getThreadgateRecords(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Threadgates> {\n const map: Threadgates = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getThreadGateRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const record = parseRecord(\n app.bsky.feed.threadgate.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uris[i], record ?? null)\n }\n\n return map\n }\n\n async getPostgatesForPosts(\n postUris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Postgates> {\n const uris = postUris.map(postUriToPostgateUri)\n return this.getPostgateRecords(uris, includeTakedowns)\n }\n\n async getPostgateRecords(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Postgates> {\n const map: Postgates = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getPostgateRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const record = parseRecord(\n app.bsky.feed.postgate.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uris[i], record ?? null)\n }\n\n return map\n }\n\n async getLikes(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Likes> {\n const map: Likes = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getLikeRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const record = parseRecord(\n app.bsky.feed.like.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uris[i], record ?? null)\n }\n\n return map\n }\n\n async getReposts(\n uris: AtUriString[],\n includeTakedowns = false,\n ): Promise<Reposts> {\n const map: Reposts = new HydrationMap()\n if (!uris.length) return map\n\n const res = await this.dataplane.getRepostRecords({ uris })\n for (let i = 0; i < uris.length; i++) {\n const record = parseRecord(\n app.bsky.feed.repost.main,\n res.records[i],\n includeTakedowns,\n )\n map.set(uris[i], record ?? null)\n }\n\n return map\n }\n}\n"]}
@@ -68,6 +68,10 @@ type ConfigRegion = {
68
68
  * The minimum age (as a whole integer) required to use Bluesky in this region.
69
69
  */
70
70
  minAccessAge: number;
71
+ /**
72
+ * Verification methods permitted in this region in addition to the third-party (KWS) flow, which is always supported. `device` permits using the native on-device age APIs (e.g. Apple Declared Age Range, Google Play Age Signals).
73
+ */
74
+ additionalVerificationMethods?: ('device' | l.UnknownString)[];
71
75
  /**
72
76
  * The ordered list of Age Assurance rules that apply to this region. Rules should be applied in order, and the first matching rule determines the access level granted. The rules array should always include a default rule as the last item.
73
77
  */
@@ -1 +1 @@
1
- {"version":3,"file":"defs.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/ageassurance/defs.defs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defs.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/ageassurance/defs.defs.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,9 @@ const configRegion = /*#__PURE__*/ l.typedObject($nsid, 'configRegion',
38
38
  countryCode: /*#__PURE__*/ l.string(),
39
39
  regionCode: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),
40
40
  minAccessAge: /*#__PURE__*/ l.integer(),
41
+ additionalVerificationMethods: /*#__PURE__*/ l.optional(
42
+ /*#__PURE__*/ l.array(
43
+ /*#__PURE__*/ l.string())),
41
44
  rules: /*#__PURE__*/ l.array(
42
45
  /*#__PURE__*/ l.typedUnion([
43
46
  /*#__PURE__*/ l.typedRef((() => configRegionRuleDefault)),
@@ -1 +1 @@
1
- {"version":3,"file":"defs.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/ageassurance/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'\n\nconst $nsid = 'app.bsky.ageassurance.defs'\n\nexport { $nsid }\n\n/** The access level granted based on Age Assurance data we've processed. */\ntype Access = 'unknown' | 'none' | 'safe' | 'full' | l.UnknownString\n\nexport type { Access }\n\n/** The access level granted based on Age Assurance data we've processed. */\nconst access = /*#__PURE__*/ l.string<{\n knownValues: ['unknown', 'none', 'safe', 'full']\n}>()\n\nexport { access }\n\n/** The status of the Age Assurance process. */\ntype Status = 'unknown' | 'pending' | 'assured' | 'blocked' | l.UnknownString\n\nexport type { Status }\n\n/** The status of the Age Assurance process. */\nconst status = /*#__PURE__*/ l.string<{\n knownValues: ['unknown', 'pending', 'assured', 'blocked']\n}>()\n\nexport { status }\n\n/** The user's computed Age Assurance state. */\ntype State = {\n $type?: 'app.bsky.ageassurance.defs#state'\n\n /**\n * The timestamp when this state was last updated.\n */\n lastInitiatedAt?: l.DatetimeString\n status: Status\n access: Access\n}\n\nexport type { State }\n\n/** The user's computed Age Assurance state. */\nconst state = /*#__PURE__*/ l.typedObject<State>(\n $nsid,\n 'state',\n /*#__PURE__*/ l.object({\n lastInitiatedAt: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.string({ format: 'datetime' }),\n ),\n status: /*#__PURE__*/ l.ref<Status>((() => status) as any),\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n)\n\nexport { state }\n\n/** Additional metadata needed to compute Age Assurance state client-side. */\ntype StateMetadata = {\n $type?: 'app.bsky.ageassurance.defs#stateMetadata'\n\n /**\n * The account creation timestamp.\n */\n accountCreatedAt?: l.DatetimeString\n}\n\nexport type { StateMetadata }\n\n/** Additional metadata needed to compute Age Assurance state client-side. */\nconst stateMetadata = /*#__PURE__*/ l.typedObject<StateMetadata>(\n $nsid,\n 'stateMetadata',\n /*#__PURE__*/ l.object({\n accountCreatedAt: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.string({ format: 'datetime' }),\n ),\n }),\n)\n\nexport { stateMetadata }\n\ntype Config = {\n $type?: 'app.bsky.ageassurance.defs#config'\n\n /**\n * The per-region Age Assurance configuration.\n */\n regions: ConfigRegion[]\n}\n\nexport type { Config }\n\nconst config = /*#__PURE__*/ l.typedObject<Config>(\n $nsid,\n 'config',\n /*#__PURE__*/ l.object({\n regions: /*#__PURE__*/ l.array(\n /*#__PURE__*/ l.ref<ConfigRegion>((() => configRegion) as any),\n ),\n }),\n)\n\nexport { config }\n\n/** The Age Assurance configuration for a specific region. */\ntype ConfigRegion = {\n $type?: 'app.bsky.ageassurance.defs#configRegion'\n\n /**\n * The ISO 3166-1 alpha-2 country code this configuration applies to.\n */\n countryCode: string\n\n /**\n * The ISO 3166-2 region code this configuration applies to. If omitted, the configuration applies to the entire country.\n */\n regionCode?: string\n\n /**\n * The minimum age (as a whole integer) required to use Bluesky in this region.\n */\n minAccessAge: number\n\n /**\n * The ordered list of Age Assurance rules that apply to this region. Rules should be applied in order, and the first matching rule determines the access level granted. The rules array should always include a default rule as the last item.\n */\n rules: (\n | l.$Typed<ConfigRegionRuleDefault>\n | l.$Typed<ConfigRegionRuleIfDeclaredOverAge>\n | l.$Typed<ConfigRegionRuleIfDeclaredUnderAge>\n | l.$Typed<ConfigRegionRuleIfAssuredOverAge>\n | l.$Typed<ConfigRegionRuleIfAssuredUnderAge>\n | l.$Typed<ConfigRegionRuleIfAccountNewerThan>\n | l.$Typed<ConfigRegionRuleIfAccountOlderThan>\n | l.Unknown$TypedObject\n )[]\n}\n\nexport type { ConfigRegion }\n\n/** The Age Assurance configuration for a specific region. */\nconst configRegion = /*#__PURE__*/ l.typedObject<ConfigRegion>(\n $nsid,\n 'configRegion',\n /*#__PURE__*/ l.object({\n countryCode: /*#__PURE__*/ l.string(),\n regionCode: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n minAccessAge: /*#__PURE__*/ l.integer(),\n rules: /*#__PURE__*/ l.array(\n /*#__PURE__*/ l.typedUnion(\n [\n /*#__PURE__*/ l.typedRef<ConfigRegionRuleDefault>(\n (() => configRegionRuleDefault) as any,\n ),\n /*#__PURE__*/ l.typedRef<ConfigRegionRuleIfDeclaredOverAge>(\n (() => configRegionRuleIfDeclaredOverAge) as any,\n ),\n /*#__PURE__*/ l.typedRef<ConfigRegionRuleIfDeclaredUnderAge>(\n (() => configRegionRuleIfDeclaredUnderAge) as any,\n ),\n /*#__PURE__*/ l.typedRef<ConfigRegionRuleIfAssuredOverAge>(\n (() => configRegionRuleIfAssuredOverAge) as any,\n ),\n /*#__PURE__*/ l.typedRef<ConfigRegionRuleIfAssuredUnderAge>(\n (() => configRegionRuleIfAssuredUnderAge) as any,\n ),\n /*#__PURE__*/ l.typedRef<ConfigRegionRuleIfAccountNewerThan>(\n (() => configRegionRuleIfAccountNewerThan) as any,\n ),\n /*#__PURE__*/ l.typedRef<ConfigRegionRuleIfAccountOlderThan>(\n (() => configRegionRuleIfAccountOlderThan) as any,\n ),\n ],\n false,\n ),\n ),\n }),\n)\n\nexport { configRegion }\n\n/** Age Assurance rule that applies by default. */\ntype ConfigRegionRuleDefault = {\n $type?: 'app.bsky.ageassurance.defs#configRegionRuleDefault'\n access: Access\n}\n\nexport type { ConfigRegionRuleDefault }\n\n/** Age Assurance rule that applies by default. */\nconst configRegionRuleDefault =\n /*#__PURE__*/ l.typedObject<ConfigRegionRuleDefault>(\n $nsid,\n 'configRegionRuleDefault',\n /*#__PURE__*/ l.object({\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n )\n\nexport { configRegionRuleDefault }\n\n/** Age Assurance rule that applies if the user has declared themselves equal-to or over a certain age. */\ntype ConfigRegionRuleIfDeclaredOverAge = {\n $type?: 'app.bsky.ageassurance.defs#configRegionRuleIfDeclaredOverAge'\n\n /**\n * The age threshold as a whole integer.\n */\n age: number\n access: Access\n}\n\nexport type { ConfigRegionRuleIfDeclaredOverAge }\n\n/** Age Assurance rule that applies if the user has declared themselves equal-to or over a certain age. */\nconst configRegionRuleIfDeclaredOverAge =\n /*#__PURE__*/ l.typedObject<ConfigRegionRuleIfDeclaredOverAge>(\n $nsid,\n 'configRegionRuleIfDeclaredOverAge',\n /*#__PURE__*/ l.object({\n age: /*#__PURE__*/ l.integer(),\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n )\n\nexport { configRegionRuleIfDeclaredOverAge }\n\n/** Age Assurance rule that applies if the user has declared themselves under a certain age. */\ntype ConfigRegionRuleIfDeclaredUnderAge = {\n $type?: 'app.bsky.ageassurance.defs#configRegionRuleIfDeclaredUnderAge'\n\n /**\n * The age threshold as a whole integer.\n */\n age: number\n access: Access\n}\n\nexport type { ConfigRegionRuleIfDeclaredUnderAge }\n\n/** Age Assurance rule that applies if the user has declared themselves under a certain age. */\nconst configRegionRuleIfDeclaredUnderAge =\n /*#__PURE__*/ l.typedObject<ConfigRegionRuleIfDeclaredUnderAge>(\n $nsid,\n 'configRegionRuleIfDeclaredUnderAge',\n /*#__PURE__*/ l.object({\n age: /*#__PURE__*/ l.integer(),\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n )\n\nexport { configRegionRuleIfDeclaredUnderAge }\n\n/** Age Assurance rule that applies if the user has been assured to be equal-to or over a certain age. */\ntype ConfigRegionRuleIfAssuredOverAge = {\n $type?: 'app.bsky.ageassurance.defs#configRegionRuleIfAssuredOverAge'\n\n /**\n * The age threshold as a whole integer.\n */\n age: number\n access: Access\n}\n\nexport type { ConfigRegionRuleIfAssuredOverAge }\n\n/** Age Assurance rule that applies if the user has been assured to be equal-to or over a certain age. */\nconst configRegionRuleIfAssuredOverAge =\n /*#__PURE__*/ l.typedObject<ConfigRegionRuleIfAssuredOverAge>(\n $nsid,\n 'configRegionRuleIfAssuredOverAge',\n /*#__PURE__*/ l.object({\n age: /*#__PURE__*/ l.integer(),\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n )\n\nexport { configRegionRuleIfAssuredOverAge }\n\n/** Age Assurance rule that applies if the user has been assured to be under a certain age. */\ntype ConfigRegionRuleIfAssuredUnderAge = {\n $type?: 'app.bsky.ageassurance.defs#configRegionRuleIfAssuredUnderAge'\n\n /**\n * The age threshold as a whole integer.\n */\n age: number\n access: Access\n}\n\nexport type { ConfigRegionRuleIfAssuredUnderAge }\n\n/** Age Assurance rule that applies if the user has been assured to be under a certain age. */\nconst configRegionRuleIfAssuredUnderAge =\n /*#__PURE__*/ l.typedObject<ConfigRegionRuleIfAssuredUnderAge>(\n $nsid,\n 'configRegionRuleIfAssuredUnderAge',\n /*#__PURE__*/ l.object({\n age: /*#__PURE__*/ l.integer(),\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n )\n\nexport { configRegionRuleIfAssuredUnderAge }\n\n/** Age Assurance rule that applies if the account is equal-to or newer than a certain date. */\ntype ConfigRegionRuleIfAccountNewerThan = {\n $type?: 'app.bsky.ageassurance.defs#configRegionRuleIfAccountNewerThan'\n\n /**\n * The date threshold as a datetime string.\n */\n date: l.DatetimeString\n access: Access\n}\n\nexport type { ConfigRegionRuleIfAccountNewerThan }\n\n/** Age Assurance rule that applies if the account is equal-to or newer than a certain date. */\nconst configRegionRuleIfAccountNewerThan =\n /*#__PURE__*/ l.typedObject<ConfigRegionRuleIfAccountNewerThan>(\n $nsid,\n 'configRegionRuleIfAccountNewerThan',\n /*#__PURE__*/ l.object({\n date: /*#__PURE__*/ l.string({ format: 'datetime' }),\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n )\n\nexport { configRegionRuleIfAccountNewerThan }\n\n/** Age Assurance rule that applies if the account is older than a certain date. */\ntype ConfigRegionRuleIfAccountOlderThan = {\n $type?: 'app.bsky.ageassurance.defs#configRegionRuleIfAccountOlderThan'\n\n /**\n * The date threshold as a datetime string.\n */\n date: l.DatetimeString\n access: Access\n}\n\nexport type { ConfigRegionRuleIfAccountOlderThan }\n\n/** Age Assurance rule that applies if the account is older than a certain date. */\nconst configRegionRuleIfAccountOlderThan =\n /*#__PURE__*/ l.typedObject<ConfigRegionRuleIfAccountOlderThan>(\n $nsid,\n 'configRegionRuleIfAccountOlderThan',\n /*#__PURE__*/ l.object({\n date: /*#__PURE__*/ l.string({ format: 'datetime' }),\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n )\n\nexport { configRegionRuleIfAccountOlderThan }\n\n/** Object used to store Age Assurance data in stash. */\ntype Event = {\n $type?: 'app.bsky.ageassurance.defs#event'\n\n /**\n * The date and time of this write operation.\n */\n createdAt: l.DatetimeString\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 status of the Age Assurance process.\n */\n status: 'unknown' | 'pending' | 'assured' | 'blocked' | l.UnknownString\n\n /**\n * The access level granted based on Age Assurance data we've processed.\n */\n access: 'unknown' | 'none' | 'safe' | 'full' | l.UnknownString\n\n /**\n * The ISO 3166-1 alpha-2 country code provided when beginning the Age Assurance flow.\n */\n countryCode: string\n\n /**\n * The ISO 3166-2 region code provided when beginning the Age Assurance flow.\n */\n regionCode?: string\n\n /**\n * The email used for Age Assurance.\n */\n email?: string\n\n /**\n * The IP address used when initiating the Age Assurance flow.\n */\n initIp?: string\n\n /**\n * The user agent used when initiating the Age Assurance flow.\n */\n initUa?: string\n\n /**\n * The IP address used when completing the Age Assurance flow.\n */\n completeIp?: string\n\n /**\n * The user agent used when completing the Age Assurance flow.\n */\n completeUa?: string\n}\n\nexport type { Event }\n\n/** Object used to store Age Assurance data in stash. */\nconst event = /*#__PURE__*/ l.typedObject<Event>(\n $nsid,\n 'event',\n /*#__PURE__*/ l.object({\n createdAt: /*#__PURE__*/ l.string({ format: 'datetime' }),\n attemptId: /*#__PURE__*/ l.string(),\n status: /*#__PURE__*/ l.string<{\n knownValues: ['unknown', 'pending', 'assured', 'blocked']\n }>(),\n access: /*#__PURE__*/ l.string<{\n knownValues: ['unknown', 'none', 'safe', 'full']\n }>(),\n countryCode: /*#__PURE__*/ l.string(),\n regionCode: /*#__PURE__*/ l.optional(/*#__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 { event }\n"]}
1
+ {"version":3,"file":"defs.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/app/bsky/ageassurance/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'\n\nconst $nsid = 'app.bsky.ageassurance.defs'\n\nexport { $nsid }\n\n/** The access level granted based on Age Assurance data we've processed. */\ntype Access = 'unknown' | 'none' | 'safe' | 'full' | l.UnknownString\n\nexport type { Access }\n\n/** The access level granted based on Age Assurance data we've processed. */\nconst access = /*#__PURE__*/ l.string<{\n knownValues: ['unknown', 'none', 'safe', 'full']\n}>()\n\nexport { access }\n\n/** The status of the Age Assurance process. */\ntype Status = 'unknown' | 'pending' | 'assured' | 'blocked' | l.UnknownString\n\nexport type { Status }\n\n/** The status of the Age Assurance process. */\nconst status = /*#__PURE__*/ l.string<{\n knownValues: ['unknown', 'pending', 'assured', 'blocked']\n}>()\n\nexport { status }\n\n/** The user's computed Age Assurance state. */\ntype State = {\n $type?: 'app.bsky.ageassurance.defs#state'\n\n /**\n * The timestamp when this state was last updated.\n */\n lastInitiatedAt?: l.DatetimeString\n status: Status\n access: Access\n}\n\nexport type { State }\n\n/** The user's computed Age Assurance state. */\nconst state = /*#__PURE__*/ l.typedObject<State>(\n $nsid,\n 'state',\n /*#__PURE__*/ l.object({\n lastInitiatedAt: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.string({ format: 'datetime' }),\n ),\n status: /*#__PURE__*/ l.ref<Status>((() => status) as any),\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n)\n\nexport { state }\n\n/** Additional metadata needed to compute Age Assurance state client-side. */\ntype StateMetadata = {\n $type?: 'app.bsky.ageassurance.defs#stateMetadata'\n\n /**\n * The account creation timestamp.\n */\n accountCreatedAt?: l.DatetimeString\n}\n\nexport type { StateMetadata }\n\n/** Additional metadata needed to compute Age Assurance state client-side. */\nconst stateMetadata = /*#__PURE__*/ l.typedObject<StateMetadata>(\n $nsid,\n 'stateMetadata',\n /*#__PURE__*/ l.object({\n accountCreatedAt: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.string({ format: 'datetime' }),\n ),\n }),\n)\n\nexport { stateMetadata }\n\ntype Config = {\n $type?: 'app.bsky.ageassurance.defs#config'\n\n /**\n * The per-region Age Assurance configuration.\n */\n regions: ConfigRegion[]\n}\n\nexport type { Config }\n\nconst config = /*#__PURE__*/ l.typedObject<Config>(\n $nsid,\n 'config',\n /*#__PURE__*/ l.object({\n regions: /*#__PURE__*/ l.array(\n /*#__PURE__*/ l.ref<ConfigRegion>((() => configRegion) as any),\n ),\n }),\n)\n\nexport { config }\n\n/** The Age Assurance configuration for a specific region. */\ntype ConfigRegion = {\n $type?: 'app.bsky.ageassurance.defs#configRegion'\n\n /**\n * The ISO 3166-1 alpha-2 country code this configuration applies to.\n */\n countryCode: string\n\n /**\n * The ISO 3166-2 region code this configuration applies to. If omitted, the configuration applies to the entire country.\n */\n regionCode?: string\n\n /**\n * The minimum age (as a whole integer) required to use Bluesky in this region.\n */\n minAccessAge: number\n\n /**\n * Verification methods permitted in this region in addition to the third-party (KWS) flow, which is always supported. `device` permits using the native on-device age APIs (e.g. Apple Declared Age Range, Google Play Age Signals).\n */\n additionalVerificationMethods?: ('device' | l.UnknownString)[]\n\n /**\n * The ordered list of Age Assurance rules that apply to this region. Rules should be applied in order, and the first matching rule determines the access level granted. The rules array should always include a default rule as the last item.\n */\n rules: (\n | l.$Typed<ConfigRegionRuleDefault>\n | l.$Typed<ConfigRegionRuleIfDeclaredOverAge>\n | l.$Typed<ConfigRegionRuleIfDeclaredUnderAge>\n | l.$Typed<ConfigRegionRuleIfAssuredOverAge>\n | l.$Typed<ConfigRegionRuleIfAssuredUnderAge>\n | l.$Typed<ConfigRegionRuleIfAccountNewerThan>\n | l.$Typed<ConfigRegionRuleIfAccountOlderThan>\n | l.Unknown$TypedObject\n )[]\n}\n\nexport type { ConfigRegion }\n\n/** The Age Assurance configuration for a specific region. */\nconst configRegion = /*#__PURE__*/ l.typedObject<ConfigRegion>(\n $nsid,\n 'configRegion',\n /*#__PURE__*/ l.object({\n countryCode: /*#__PURE__*/ l.string(),\n regionCode: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\n minAccessAge: /*#__PURE__*/ l.integer(),\n additionalVerificationMethods: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.array(\n /*#__PURE__*/ l.string<{ knownValues: ['device'] }>(),\n ),\n ),\n rules: /*#__PURE__*/ l.array(\n /*#__PURE__*/ l.typedUnion(\n [\n /*#__PURE__*/ l.typedRef<ConfigRegionRuleDefault>(\n (() => configRegionRuleDefault) as any,\n ),\n /*#__PURE__*/ l.typedRef<ConfigRegionRuleIfDeclaredOverAge>(\n (() => configRegionRuleIfDeclaredOverAge) as any,\n ),\n /*#__PURE__*/ l.typedRef<ConfigRegionRuleIfDeclaredUnderAge>(\n (() => configRegionRuleIfDeclaredUnderAge) as any,\n ),\n /*#__PURE__*/ l.typedRef<ConfigRegionRuleIfAssuredOverAge>(\n (() => configRegionRuleIfAssuredOverAge) as any,\n ),\n /*#__PURE__*/ l.typedRef<ConfigRegionRuleIfAssuredUnderAge>(\n (() => configRegionRuleIfAssuredUnderAge) as any,\n ),\n /*#__PURE__*/ l.typedRef<ConfigRegionRuleIfAccountNewerThan>(\n (() => configRegionRuleIfAccountNewerThan) as any,\n ),\n /*#__PURE__*/ l.typedRef<ConfigRegionRuleIfAccountOlderThan>(\n (() => configRegionRuleIfAccountOlderThan) as any,\n ),\n ],\n false,\n ),\n ),\n }),\n)\n\nexport { configRegion }\n\n/** Age Assurance rule that applies by default. */\ntype ConfigRegionRuleDefault = {\n $type?: 'app.bsky.ageassurance.defs#configRegionRuleDefault'\n access: Access\n}\n\nexport type { ConfigRegionRuleDefault }\n\n/** Age Assurance rule that applies by default. */\nconst configRegionRuleDefault =\n /*#__PURE__*/ l.typedObject<ConfigRegionRuleDefault>(\n $nsid,\n 'configRegionRuleDefault',\n /*#__PURE__*/ l.object({\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n )\n\nexport { configRegionRuleDefault }\n\n/** Age Assurance rule that applies if the user has declared themselves equal-to or over a certain age. */\ntype ConfigRegionRuleIfDeclaredOverAge = {\n $type?: 'app.bsky.ageassurance.defs#configRegionRuleIfDeclaredOverAge'\n\n /**\n * The age threshold as a whole integer.\n */\n age: number\n access: Access\n}\n\nexport type { ConfigRegionRuleIfDeclaredOverAge }\n\n/** Age Assurance rule that applies if the user has declared themselves equal-to or over a certain age. */\nconst configRegionRuleIfDeclaredOverAge =\n /*#__PURE__*/ l.typedObject<ConfigRegionRuleIfDeclaredOverAge>(\n $nsid,\n 'configRegionRuleIfDeclaredOverAge',\n /*#__PURE__*/ l.object({\n age: /*#__PURE__*/ l.integer(),\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n )\n\nexport { configRegionRuleIfDeclaredOverAge }\n\n/** Age Assurance rule that applies if the user has declared themselves under a certain age. */\ntype ConfigRegionRuleIfDeclaredUnderAge = {\n $type?: 'app.bsky.ageassurance.defs#configRegionRuleIfDeclaredUnderAge'\n\n /**\n * The age threshold as a whole integer.\n */\n age: number\n access: Access\n}\n\nexport type { ConfigRegionRuleIfDeclaredUnderAge }\n\n/** Age Assurance rule that applies if the user has declared themselves under a certain age. */\nconst configRegionRuleIfDeclaredUnderAge =\n /*#__PURE__*/ l.typedObject<ConfigRegionRuleIfDeclaredUnderAge>(\n $nsid,\n 'configRegionRuleIfDeclaredUnderAge',\n /*#__PURE__*/ l.object({\n age: /*#__PURE__*/ l.integer(),\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n )\n\nexport { configRegionRuleIfDeclaredUnderAge }\n\n/** Age Assurance rule that applies if the user has been assured to be equal-to or over a certain age. */\ntype ConfigRegionRuleIfAssuredOverAge = {\n $type?: 'app.bsky.ageassurance.defs#configRegionRuleIfAssuredOverAge'\n\n /**\n * The age threshold as a whole integer.\n */\n age: number\n access: Access\n}\n\nexport type { ConfigRegionRuleIfAssuredOverAge }\n\n/** Age Assurance rule that applies if the user has been assured to be equal-to or over a certain age. */\nconst configRegionRuleIfAssuredOverAge =\n /*#__PURE__*/ l.typedObject<ConfigRegionRuleIfAssuredOverAge>(\n $nsid,\n 'configRegionRuleIfAssuredOverAge',\n /*#__PURE__*/ l.object({\n age: /*#__PURE__*/ l.integer(),\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n )\n\nexport { configRegionRuleIfAssuredOverAge }\n\n/** Age Assurance rule that applies if the user has been assured to be under a certain age. */\ntype ConfigRegionRuleIfAssuredUnderAge = {\n $type?: 'app.bsky.ageassurance.defs#configRegionRuleIfAssuredUnderAge'\n\n /**\n * The age threshold as a whole integer.\n */\n age: number\n access: Access\n}\n\nexport type { ConfigRegionRuleIfAssuredUnderAge }\n\n/** Age Assurance rule that applies if the user has been assured to be under a certain age. */\nconst configRegionRuleIfAssuredUnderAge =\n /*#__PURE__*/ l.typedObject<ConfigRegionRuleIfAssuredUnderAge>(\n $nsid,\n 'configRegionRuleIfAssuredUnderAge',\n /*#__PURE__*/ l.object({\n age: /*#__PURE__*/ l.integer(),\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n )\n\nexport { configRegionRuleIfAssuredUnderAge }\n\n/** Age Assurance rule that applies if the account is equal-to or newer than a certain date. */\ntype ConfigRegionRuleIfAccountNewerThan = {\n $type?: 'app.bsky.ageassurance.defs#configRegionRuleIfAccountNewerThan'\n\n /**\n * The date threshold as a datetime string.\n */\n date: l.DatetimeString\n access: Access\n}\n\nexport type { ConfigRegionRuleIfAccountNewerThan }\n\n/** Age Assurance rule that applies if the account is equal-to or newer than a certain date. */\nconst configRegionRuleIfAccountNewerThan =\n /*#__PURE__*/ l.typedObject<ConfigRegionRuleIfAccountNewerThan>(\n $nsid,\n 'configRegionRuleIfAccountNewerThan',\n /*#__PURE__*/ l.object({\n date: /*#__PURE__*/ l.string({ format: 'datetime' }),\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n )\n\nexport { configRegionRuleIfAccountNewerThan }\n\n/** Age Assurance rule that applies if the account is older than a certain date. */\ntype ConfigRegionRuleIfAccountOlderThan = {\n $type?: 'app.bsky.ageassurance.defs#configRegionRuleIfAccountOlderThan'\n\n /**\n * The date threshold as a datetime string.\n */\n date: l.DatetimeString\n access: Access\n}\n\nexport type { ConfigRegionRuleIfAccountOlderThan }\n\n/** Age Assurance rule that applies if the account is older than a certain date. */\nconst configRegionRuleIfAccountOlderThan =\n /*#__PURE__*/ l.typedObject<ConfigRegionRuleIfAccountOlderThan>(\n $nsid,\n 'configRegionRuleIfAccountOlderThan',\n /*#__PURE__*/ l.object({\n date: /*#__PURE__*/ l.string({ format: 'datetime' }),\n access: /*#__PURE__*/ l.ref<Access>((() => access) as any),\n }),\n )\n\nexport { configRegionRuleIfAccountOlderThan }\n\n/** Object used to store Age Assurance data in stash. */\ntype Event = {\n $type?: 'app.bsky.ageassurance.defs#event'\n\n /**\n * The date and time of this write operation.\n */\n createdAt: l.DatetimeString\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 status of the Age Assurance process.\n */\n status: 'unknown' | 'pending' | 'assured' | 'blocked' | l.UnknownString\n\n /**\n * The access level granted based on Age Assurance data we've processed.\n */\n access: 'unknown' | 'none' | 'safe' | 'full' | l.UnknownString\n\n /**\n * The ISO 3166-1 alpha-2 country code provided when beginning the Age Assurance flow.\n */\n countryCode: string\n\n /**\n * The ISO 3166-2 region code provided when beginning the Age Assurance flow.\n */\n regionCode?: string\n\n /**\n * The email used for Age Assurance.\n */\n email?: string\n\n /**\n * The IP address used when initiating the Age Assurance flow.\n */\n initIp?: string\n\n /**\n * The user agent used when initiating the Age Assurance flow.\n */\n initUa?: string\n\n /**\n * The IP address used when completing the Age Assurance flow.\n */\n completeIp?: string\n\n /**\n * The user agent used when completing the Age Assurance flow.\n */\n completeUa?: string\n}\n\nexport type { Event }\n\n/** Object used to store Age Assurance data in stash. */\nconst event = /*#__PURE__*/ l.typedObject<Event>(\n $nsid,\n 'event',\n /*#__PURE__*/ l.object({\n createdAt: /*#__PURE__*/ l.string({ format: 'datetime' }),\n attemptId: /*#__PURE__*/ l.string(),\n status: /*#__PURE__*/ l.string<{\n knownValues: ['unknown', 'pending', 'assured', 'blocked']\n }>(),\n access: /*#__PURE__*/ l.string<{\n knownValues: ['unknown', 'none', 'safe', 'full']\n }>(),\n countryCode: /*#__PURE__*/ l.string(),\n regionCode: /*#__PURE__*/ l.optional(/*#__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 { event }\n"]}
@@ -254,7 +254,7 @@ const groupConvo = /*#__PURE__*/ l.typedObject($nsid, 'groupConvo',
254
254
  lockStatusModerationOverride: /*#__PURE__*/ l.boolean(),
255
255
  memberCount: /*#__PURE__*/ l.integer(),
256
256
  memberLimit: /*#__PURE__*/ l.integer(),
257
- name: /*#__PURE__*/ l.string({ maxGraphemes: 128, maxLength: 1280 }),
257
+ name: /*#__PURE__*/ l.string({ maxGraphemes: 50, maxLength: 500 }),
258
258
  unreadJoinRequestCount: /*#__PURE__*/ l.optional(/*#__PURE__*/ l.integer()),
259
259
  }));
260
260
  export { groupConvo };