@atproto/dev-env 0.0.0-spaces-alpha-20260818163953

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 (187) hide show
  1. package/CHANGELOG.md +3424 -0
  2. package/LICENSE.txt +7 -0
  3. package/README.md +39 -0
  4. package/bin.js +7 -0
  5. package/dist/bin-multi-pds.d.ts +2 -0
  6. package/dist/bin-multi-pds.d.ts.map +1 -0
  7. package/dist/bin-multi-pds.js +130 -0
  8. package/dist/bin-multi-pds.js.map +1 -0
  9. package/dist/bin.d.ts +2 -0
  10. package/dist/bin.d.ts.map +1 -0
  11. package/dist/bin.js +56 -0
  12. package/dist/bin.js.map +1 -0
  13. package/dist/bsky.d.ts +27 -0
  14. package/dist/bsky.d.ts.map +1 -0
  15. package/dist/bsky.js +165 -0
  16. package/dist/bsky.js.map +1 -0
  17. package/dist/bsync.d.ts +22 -0
  18. package/dist/bsync.d.ts.map +1 -0
  19. package/dist/bsync.js +54 -0
  20. package/dist/bsync.js.map +1 -0
  21. package/dist/const.d.ts +4 -0
  22. package/dist/const.d.ts.map +1 -0
  23. package/dist/const.js +4 -0
  24. package/dist/const.js.map +1 -0
  25. package/dist/env.d.ts +2 -0
  26. package/dist/env.d.ts.map +1 -0
  27. package/dist/env.js +10 -0
  28. package/dist/env.js.map +1 -0
  29. package/dist/feed-gen.d.ts +15 -0
  30. package/dist/feed-gen.d.ts.map +1 -0
  31. package/dist/feed-gen.js +73 -0
  32. package/dist/feed-gen.js.map +1 -0
  33. package/dist/index.d.ts +17 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +17 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/introspect.d.ts +22 -0
  38. package/dist/introspect.d.ts.map +1 -0
  39. package/dist/introspect.js +65 -0
  40. package/dist/introspect.js.map +1 -0
  41. package/dist/mock/data.d.ts +3 -0
  42. package/dist/mock/data.d.ts.map +1 -0
  43. package/dist/mock/data.js +46 -0
  44. package/dist/mock/data.js.map +1 -0
  45. package/dist/mock/img/blur-hash-avatar-b64.d.ts +3 -0
  46. package/dist/mock/img/blur-hash-avatar-b64.d.ts.map +1 -0
  47. package/dist/mock/img/blur-hash-avatar-b64.js +2 -0
  48. package/dist/mock/img/blur-hash-avatar-b64.js.map +1 -0
  49. package/dist/mock/img/labeled-img-b64.d.ts +3 -0
  50. package/dist/mock/img/labeled-img-b64.d.ts.map +1 -0
  51. package/dist/mock/img/labeled-img-b64.js +2 -0
  52. package/dist/mock/img/labeled-img-b64.js.map +1 -0
  53. package/dist/mock/index.d.ts +3 -0
  54. package/dist/mock/index.d.ts.map +1 -0
  55. package/dist/mock/index.js +574 -0
  56. package/dist/mock/index.js.map +1 -0
  57. package/dist/moderator-client.d.ts +58 -0
  58. package/dist/moderator-client.d.ts.map +1 -0
  59. package/dist/moderator-client.js +110 -0
  60. package/dist/moderator-client.js.map +1 -0
  61. package/dist/network-no-appview.d.ts +21 -0
  62. package/dist/network-no-appview.d.ts.map +1 -0
  63. package/dist/network-no-appview.js +74 -0
  64. package/dist/network-no-appview.js.map +1 -0
  65. package/dist/network.d.ts +32 -0
  66. package/dist/network.d.ts.map +1 -0
  67. package/dist/network.js +190 -0
  68. package/dist/network.js.map +1 -0
  69. package/dist/ozone.d.ts +31 -0
  70. package/dist/ozone.d.ts.map +1 -0
  71. package/dist/ozone.js +254 -0
  72. package/dist/ozone.js.map +1 -0
  73. package/dist/pds.d.ts +23 -0
  74. package/dist/pds.d.ts.map +1 -0
  75. package/dist/pds.js +97 -0
  76. package/dist/pds.js.map +1 -0
  77. package/dist/plc.d.ts +14 -0
  78. package/dist/plc.d.ts.map +1 -0
  79. package/dist/plc.js +28 -0
  80. package/dist/plc.js.map +1 -0
  81. package/dist/seed/author-feed.d.ts +4 -0
  82. package/dist/seed/author-feed.d.ts.map +1 -0
  83. package/dist/seed/author-feed.js +50 -0
  84. package/dist/seed/author-feed.js.map +1 -0
  85. package/dist/seed/basic.d.ts +16 -0
  86. package/dist/seed/basic.d.ts.map +1 -0
  87. package/dist/seed/basic.js +113 -0
  88. package/dist/seed/basic.js.map +1 -0
  89. package/dist/seed/client.d.ts +151 -0
  90. package/dist/seed/client.d.ts.map +1 -0
  91. package/dist/seed/client.js +365 -0
  92. package/dist/seed/client.js.map +1 -0
  93. package/dist/seed/follows.d.ts +4 -0
  94. package/dist/seed/follows.d.ts.map +1 -0
  95. package/dist/seed/follows.js +55 -0
  96. package/dist/seed/follows.js.map +1 -0
  97. package/dist/seed/index.d.ts +11 -0
  98. package/dist/seed/index.d.ts.map +1 -0
  99. package/dist/seed/index.js +11 -0
  100. package/dist/seed/index.js.map +1 -0
  101. package/dist/seed/likes.d.ts +4 -0
  102. package/dist/seed/likes.d.ts.map +1 -0
  103. package/dist/seed/likes.js +37 -0
  104. package/dist/seed/likes.js.map +1 -0
  105. package/dist/seed/quotes.d.ts +4 -0
  106. package/dist/seed/quotes.d.ts.map +1 -0
  107. package/dist/seed/quotes.js +21 -0
  108. package/dist/seed/quotes.js.map +1 -0
  109. package/dist/seed/reposts.d.ts +4 -0
  110. package/dist/seed/reposts.d.ts.map +1 -0
  111. package/dist/seed/reposts.js +17 -0
  112. package/dist/seed/reposts.js.map +1 -0
  113. package/dist/seed/thread-v2.d.ts +227 -0
  114. package/dist/seed/thread-v2.d.ts.map +1 -0
  115. package/dist/seed/thread-v2.js +755 -0
  116. package/dist/seed/thread-v2.js.map +1 -0
  117. package/dist/seed/users-bulk.d.ts +3 -0
  118. package/dist/seed/users-bulk.d.ts.map +1 -0
  119. package/dist/seed/users-bulk.js +224 -0
  120. package/dist/seed/users-bulk.js.map +1 -0
  121. package/dist/seed/users.d.ts +3 -0
  122. package/dist/seed/users.d.ts.map +1 -0
  123. package/dist/seed/users.js +45 -0
  124. package/dist/seed/users.js.map +1 -0
  125. package/dist/seed/verifications.d.ts +5 -0
  126. package/dist/seed/verifications.d.ts.map +1 -0
  127. package/dist/seed/verifications.js +164 -0
  128. package/dist/seed/verifications.js.map +1 -0
  129. package/dist/service-profile-lexicon.d.ts +11 -0
  130. package/dist/service-profile-lexicon.d.ts.map +1 -0
  131. package/dist/service-profile-lexicon.js +115 -0
  132. package/dist/service-profile-lexicon.js.map +1 -0
  133. package/dist/service-profile-ozone.d.ts +18 -0
  134. package/dist/service-profile-ozone.d.ts.map +1 -0
  135. package/dist/service-profile-ozone.js +333 -0
  136. package/dist/service-profile-ozone.js.map +1 -0
  137. package/dist/service-profile.d.ts +24 -0
  138. package/dist/service-profile.d.ts.map +1 -0
  139. package/dist/service-profile.js +61 -0
  140. package/dist/service-profile.js.map +1 -0
  141. package/dist/types.d.ts +61 -0
  142. package/dist/types.d.ts.map +1 -0
  143. package/dist/types.js +2 -0
  144. package/dist/types.js.map +1 -0
  145. package/dist/util.d.ts +14 -0
  146. package/dist/util.d.ts.map +1 -0
  147. package/dist/util.js +86 -0
  148. package/dist/util.js.map +1 -0
  149. package/package.json +69 -0
  150. package/src/bin-multi-pds.ts +166 -0
  151. package/src/bin.ts +64 -0
  152. package/src/bsky.ts +198 -0
  153. package/src/bsync.ts +66 -0
  154. package/src/const.ts +3 -0
  155. package/src/env.ts +9 -0
  156. package/src/feed-gen.ts +96 -0
  157. package/src/index.ts +17 -0
  158. package/src/introspect.ts +91 -0
  159. package/src/mock/data.ts +46 -0
  160. package/src/mock/img/blur-hash-avatar-b64.ts +1 -0
  161. package/src/mock/img/labeled-img-b64.ts +1 -0
  162. package/src/mock/index.ts +702 -0
  163. package/src/moderator-client.ts +267 -0
  164. package/src/network-no-appview.ts +89 -0
  165. package/src/network.ts +243 -0
  166. package/src/ozone.ts +287 -0
  167. package/src/pds.ts +118 -0
  168. package/src/plc.ts +33 -0
  169. package/src/seed/author-feed.ts +98 -0
  170. package/src/seed/basic.ts +189 -0
  171. package/src/seed/client.ts +676 -0
  172. package/src/seed/follows.ts +57 -0
  173. package/src/seed/index.ts +11 -0
  174. package/src/seed/likes.ts +43 -0
  175. package/src/seed/quotes.ts +53 -0
  176. package/src/seed/reposts.ts +18 -0
  177. package/src/seed/thread-v2.ts +925 -0
  178. package/src/seed/users-bulk.ts +229 -0
  179. package/src/seed/users.ts +64 -0
  180. package/src/seed/verifications.ts +254 -0
  181. package/src/service-profile-lexicon.ts +127 -0
  182. package/src/service-profile-ozone.ts +375 -0
  183. package/src/service-profile.ts +95 -0
  184. package/src/types.ts +68 -0
  185. package/src/util.ts +118 -0
  186. package/tsconfig.build.json +25 -0
  187. package/tsconfig.json +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/seed/client.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from 'node:fs/promises'\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { CID } from 'multiformats/cid'\nimport type {\n $Typed,\n AppBskyActorProfile,\n AppBskyFeedLike,\n AppBskyFeedPost,\n AppBskyFeedRepost,\n AppBskyGraphBlock,\n AppBskyGraphFollow,\n AppBskyGraphList,\n AppBskyGraphVerification,\n AppBskyRichtextFacet,\n AtpAgent,\n ChatBskyConvoDefs,\n ComAtprotoAdminDefs,\n ComAtprotoModerationCreateReport,\n ComAtprotoRepoStrongRef,\n} from '@atproto/api'\nimport type { CidString, Client } from '@atproto/lex'\nimport type { BlobRef } from '@atproto/lexicon'\nimport {\n AtUri,\n type AtUriString,\n type DidString,\n type HandleString,\n} from '@atproto/syntax'\nimport type { TestNetworkNoAppView } from '../network-no-appview.js'\n\n// Makes it simple to create data via the XRPC client,\n// and keeps track of all created data in memory for convenience.\n\nlet AVATAR_IMG: Uint8Array | undefined\n\n// AVATAR_PATH is defined in a non-CWD-dependant way, so this works\n// for any consumer of this package, even outside the atproto repo.\nconst __dirname = path.dirname(fileURLToPath(import.meta.url))\nconst AVATAR_PATH = path.resolve(\n __dirname,\n '../../assets/key-portrait-small.jpg',\n)\n\nexport type ImageRef = {\n image: BlobRef\n alt: string\n}\n\nexport class RecordRef {\n uri: AtUri\n cid: CID\n\n constructor(uri: AtUri | string, cid: CID | string) {\n this.uri = new AtUri(uri.toString())\n this.cid = CID.parse(cid.toString())\n }\n\n get raw(): { uri: AtUriString; cid: CidString } {\n return {\n uri: this.uri.toString(),\n cid: this.cid.toString(),\n }\n }\n\n get uriStr(): AtUriString {\n return this.uri.toString()\n }\n\n get cidStr(): CidString {\n return this.cid.toString()\n }\n}\n\nexport type Account = {\n did: DidString\n accessJwt: string\n refreshJwt: string\n handle: HandleString\n email: string\n password: string\n}\n\nexport class SeedClient<\n Network extends TestNetworkNoAppView = TestNetworkNoAppView,\n> {\n accounts: Record<DidString, Account>\n profiles: Record<\n DidString,\n {\n displayName: string\n description: string\n avatar: { cid: string; mimeType: string }\n joinedViaStarterPack: RecordRef | undefined\n ref: RecordRef\n }\n >\n follows: Record<DidString, Record<DidString, RecordRef>>\n blocks: Record<DidString, Record<DidString, RecordRef>>\n mutes: Record<DidString, Set<DidString>>\n posts: Record<\n DidString,\n { text: string; ref: RecordRef; images: ImageRef[]; quote?: RecordRef }[]\n >\n likes: Record<DidString, Record<string, AtUri>>\n replies: Record<\n string,\n { text: string; ref: RecordRef; images: ImageRef[] }[]\n >\n reposts: Record<DidString, RecordRef[]>\n lists: Record<\n DidString,\n Record<\n AtUriString,\n {\n ref: RecordRef\n items: Record<DidString, RecordRef>\n }\n >\n >\n feedgens: Record<\n DidString,\n Record<\n AtUriString,\n {\n ref: RecordRef\n items: Record<string, RecordRef>\n }\n >\n >\n starterpacks: Record<\n DidString,\n Record<\n AtUriString,\n {\n ref: RecordRef\n name: string\n list: RecordRef\n feeds: readonly AtUriString[]\n }\n >\n >\n\n verifications: Record<DidString, Record<DidString, AtUri>>\n\n dids: Record<string, DidString>\n\n constructor(\n public network: Network,\n public agent: AtpAgent,\n public client: Client,\n ) {\n this.accounts = {}\n this.profiles = {}\n this.follows = {}\n this.blocks = {}\n this.mutes = {}\n this.posts = {}\n this.likes = {}\n this.replies = {}\n this.reposts = {}\n this.lists = {}\n this.feedgens = {}\n this.starterpacks = {}\n this.verifications = {}\n this.dids = {}\n }\n\n async createAccount(\n shortName: string,\n params: {\n handle: HandleString\n email: string\n password: string\n inviteCode?: string\n },\n ): Promise<Account> {\n const { data: account } =\n await this.agent.com.atproto.server.createAccount(params)\n const did = account.did as DidString\n this.dids[shortName] = did\n this.accounts[account.did] = {\n // @NOTE type case needed until we move test to lex-sdk\n ...(account as typeof account & { handle: HandleString }),\n did,\n email: params.email,\n password: params.password,\n }\n return this.accounts[account.did]\n }\n\n async updateHandle(by: DidString, handle: HandleString) {\n await this.agent.com.atproto.identity.updateHandle(\n { handle },\n { encoding: 'application/json', headers: this.getHeaders(by) },\n )\n }\n\n async createProfile(\n by: DidString,\n displayName: string,\n description: string,\n selfLabels?: readonly string[],\n joinedViaStarterPack?: RecordRef,\n overrides?: Partial<AppBskyActorProfile.Record>,\n ): Promise<{\n displayName: string\n description: string\n avatar: { cid: string; mimeType: string }\n ref: RecordRef\n joinedViaStarterPack?: RecordRef\n }> {\n AVATAR_IMG ??= await fs.readFile(AVATAR_PATH)\n\n let avatarBlob\n {\n const res = await this.agent.com.atproto.repo.uploadBlob(AVATAR_IMG, {\n encoding: 'image/jpeg',\n headers: this.getHeaders(by),\n } as any)\n avatarBlob = res.data.blob\n }\n\n {\n const res = await this.agent.app.bsky.actor.profile.create(\n { repo: by },\n {\n displayName,\n description,\n avatar: avatarBlob,\n labels: selfLabels\n ? {\n $type: 'com.atproto.label.defs#selfLabels',\n values: selfLabels.map((val) => ({ val })),\n }\n : undefined,\n joinedViaStarterPack: joinedViaStarterPack?.raw,\n createdAt: new Date().toISOString(),\n ...overrides,\n },\n this.getHeaders(by),\n )\n this.profiles[by] = {\n displayName,\n description,\n avatar: avatarBlob,\n joinedViaStarterPack,\n ref: new RecordRef(res.uri, res.cid),\n }\n }\n return this.profiles[by]\n }\n\n async updateProfile(by: DidString, record: Record<string, unknown>) {\n const res = await this.agent.com.atproto.repo.putRecord(\n {\n repo: by,\n collection: 'app.bsky.actor.profile',\n rkey: 'self',\n record,\n },\n { headers: this.getHeaders(by), encoding: 'application/json' },\n )\n this.profiles[by] = {\n ...(this.profiles[by] ?? {}),\n ...record,\n ref: new RecordRef(res.data.uri, res.data.cid),\n }\n return this.profiles[by]\n }\n\n async follow(\n from: DidString,\n to: DidString,\n overrides?: Partial<AppBskyGraphFollow.Record>,\n ) {\n const res = await this.agent.app.bsky.graph.follow.create(\n { repo: from },\n {\n subject: to,\n createdAt: new Date().toISOString(),\n ...overrides,\n },\n this.getHeaders(from),\n )\n this.follows[from] ??= {}\n this.follows[from][to] = new RecordRef(res.uri, res.cid)\n return this.follows[from][to]\n }\n\n async unfollow(from: DidString, to: DidString) {\n const follow = this.follows[from][to]\n if (!follow) {\n throw new Error('follow does not exist')\n }\n await this.agent.app.bsky.graph.follow.delete(\n { repo: from, rkey: follow.uri.rkey },\n this.getHeaders(from),\n )\n delete this.follows[from][to]\n }\n\n async block(\n from: DidString,\n to: DidString,\n overrides?: Partial<AppBskyGraphBlock.Record>,\n ) {\n const res = await this.agent.app.bsky.graph.block.create(\n { repo: from },\n {\n subject: to,\n createdAt: new Date().toISOString(),\n ...overrides,\n },\n this.getHeaders(from),\n )\n this.blocks[from] ??= {}\n this.blocks[from][to] = new RecordRef(res.uri, res.cid)\n return this.blocks[from][to]\n }\n\n async unblock(from: DidString, to: DidString) {\n const block = this.blocks[from][to]\n if (!block) {\n throw new Error('block does not exist')\n }\n await this.agent.app.bsky.graph.block.delete(\n { repo: from, rkey: block.uri.rkey },\n this.getHeaders(from),\n )\n delete this.blocks[from][to]\n }\n\n async mute(from: DidString, to: DidString) {\n await this.agent.app.bsky.graph.muteActor(\n {\n actor: to,\n },\n { headers: this.getHeaders(from) },\n )\n this.mutes[from] ??= new Set()\n this.mutes[from].add(to)\n return this.mutes[from][to]\n }\n\n async post(\n by: DidString,\n text: string,\n facets?: AppBskyRichtextFacet.Main[],\n images?: ImageRef[],\n quote?: RecordRef,\n overrides?: Partial<AppBskyFeedPost.Record>,\n ) {\n const imageEmbed = images && {\n $type: 'app.bsky.embed.images',\n images,\n }\n const recordEmbed = quote && {\n record: { uri: quote.uriStr, cid: quote.cidStr },\n }\n const embed =\n imageEmbed && recordEmbed\n ? {\n $type: 'app.bsky.embed.recordWithMedia',\n record: recordEmbed,\n media: imageEmbed,\n }\n : recordEmbed\n ? { $type: 'app.bsky.embed.record', ...recordEmbed }\n : imageEmbed\n const res = await this.agent.app.bsky.feed.post.create(\n { repo: by },\n {\n text: text,\n facets,\n embed,\n createdAt: new Date().toISOString(),\n ...overrides,\n },\n this.getHeaders(by),\n )\n this.posts[by] ??= []\n const post = {\n text,\n ref: new RecordRef(res.uri, res.cid),\n images: images ?? [],\n quote,\n }\n this.posts[by].push(post)\n return post\n }\n\n async deletePost(by: DidString, uri: AtUri) {\n await this.agent.app.bsky.feed.post.delete(\n {\n repo: by,\n rkey: uri.rkey,\n },\n this.getHeaders(by),\n )\n }\n\n async uploadFile(\n by: DidString,\n filePath: string,\n encoding: string,\n ): Promise<ImageRef> {\n const file = await fs.readFile(filePath)\n const res = await this.agent.com.atproto.repo.uploadBlob(file, {\n headers: this.getHeaders(by),\n encoding,\n } as any)\n return { image: res.data.blob, alt: filePath }\n }\n\n async like(\n by: DidString,\n subject: RecordRef,\n overrides?: Partial<AppBskyFeedLike.Record>,\n ) {\n const res = await this.agent.app.bsky.feed.like.create(\n { repo: by },\n {\n subject: subject.raw,\n createdAt: new Date().toISOString(),\n ...overrides,\n },\n this.getHeaders(by),\n )\n this.likes[by] ??= {}\n this.likes[by][subject.uriStr] = new AtUri(res.uri)\n return this.likes[by][subject.uriStr]\n }\n\n async reply(\n by: DidString,\n root: RecordRef,\n parent: RecordRef,\n text: string,\n facets?: AppBskyRichtextFacet.Main[],\n images?: ImageRef[],\n overrides?: Partial<AppBskyFeedPost.Record>,\n ) {\n const embed = images\n ? {\n $type: 'app.bsky.embed.images',\n images,\n }\n : undefined\n const res = await this.agent.app.bsky.feed.post.create(\n { repo: by },\n {\n text: text,\n reply: {\n root: root.raw,\n parent: parent.raw,\n },\n facets,\n embed,\n createdAt: new Date().toISOString(),\n ...overrides,\n },\n this.getHeaders(by),\n )\n this.replies[by] ??= []\n const reply = {\n text,\n ref: new RecordRef(res.uri, res.cid),\n images: images ?? [],\n }\n this.replies[by].push(reply)\n return reply\n }\n\n async repost(\n by: DidString,\n subject: RecordRef,\n overrides?: Partial<AppBskyFeedRepost.Record>,\n ) {\n const res = await this.agent.app.bsky.feed.repost.create(\n { repo: by },\n {\n subject: subject.raw,\n createdAt: new Date().toISOString(),\n ...overrides,\n },\n this.getHeaders(by),\n )\n this.reposts[by] ??= []\n const repost = new RecordRef(res.uri, res.cid)\n this.reposts[by].push(repost)\n return repost\n }\n\n async createList(\n by: DidString,\n name: string,\n purpose: 'mod' | 'curate' | 'reference',\n overrides?: Partial<AppBskyGraphList.Record>,\n ) {\n const res = await this.agent.app.bsky.graph.list.create(\n { repo: by },\n {\n name,\n purpose:\n purpose === 'mod'\n ? 'app.bsky.graph.defs#modlist'\n : purpose === 'curate'\n ? 'app.bsky.graph.defs#curatelist'\n : 'app.bsky.graph.defs#referencelist',\n createdAt: new Date().toISOString(),\n ...(overrides || {}),\n },\n this.getHeaders(by),\n )\n this.lists[by] ??= {}\n const ref = new RecordRef(res.uri, res.cid)\n this.lists[by][ref.uriStr] = {\n ref: ref,\n items: {},\n }\n return ref\n }\n\n async createFeedGen(by: DidString, feedDid: string, name: string) {\n const res = await this.agent.app.bsky.feed.generator.create(\n { repo: by },\n {\n did: feedDid,\n displayName: name,\n createdAt: new Date().toISOString(),\n },\n this.getHeaders(by),\n )\n this.feedgens[by] ??= {}\n const ref = new RecordRef(res.uri, res.cid)\n this.feedgens[by][ref.uriStr] = {\n ref: ref,\n items: {},\n }\n return ref\n }\n\n async createStarterPack(\n by: DidString,\n name: string,\n actors: readonly DidString[],\n feeds?: readonly AtUriString[],\n ) {\n const list = await this.createList(by, 'n/a', 'reference')\n for (const did of actors) {\n await this.addToList(by, did, list)\n }\n const res = await this.agent.app.bsky.graph.starterpack.create(\n { repo: by },\n {\n name,\n list: list.uriStr,\n feeds: feeds?.map((uri) => ({ uri })),\n createdAt: new Date().toISOString(),\n },\n this.getHeaders(by),\n )\n this.starterpacks[by] ??= {}\n const ref = new RecordRef(res.uri, res.cid)\n this.starterpacks[by][ref.uriStr] = {\n ref: ref,\n list,\n feeds: feeds ?? [],\n name,\n }\n return ref\n }\n\n async addToList(by: DidString, subject: DidString, list: RecordRef) {\n const res = await this.agent.app.bsky.graph.listitem.create(\n { repo: by },\n { subject, list: list.uriStr, createdAt: new Date().toISOString() },\n this.getHeaders(by),\n )\n const ref = new RecordRef(res.uri, res.cid)\n const found = (this.lists[by] ?? {})[list.uriStr]\n if (found) {\n found.items[subject] = ref\n }\n return ref\n }\n\n async rmFromList(by: DidString, subject: DidString, list: RecordRef) {\n const foundList = (this.lists[by] ?? {})[list.uriStr] ?? {}\n if (!foundList) return\n const foundItem = foundList.items[subject]\n if (!foundItem) return\n await this.agent.app.bsky.graph.listitem.delete(\n { repo: by, rkey: foundItem.uri.rkey },\n this.getHeaders(by),\n )\n delete foundList.items[subject]\n }\n\n // override public signature to add support for convos and messages\n async createReport(opts: {\n reasonType: ComAtprotoModerationCreateReport.InputSchema['reasonType']\n subject:\n | $Typed<ComAtprotoAdminDefs.RepoRef>\n | $Typed<ComAtprotoRepoStrongRef.Main>\n | $Typed<ChatBskyConvoDefs.MessageRef>\n | $Typed<ChatBskyConvoDefs.ConvoRef>\n | { $type: string }\n reason?: string\n reportedBy: DidString\n }): Promise<\n ComAtprotoModerationCreateReport.OutputSchema & {\n subject:\n | $Typed<ComAtprotoAdminDefs.RepoRef>\n | $Typed<ComAtprotoRepoStrongRef.Main>\n | $Typed<ChatBskyConvoDefs.MessageRef>\n | $Typed<ChatBskyConvoDefs.ConvoRef>\n | { $type: string }\n }\n > {\n const { reasonType, subject, reason, reportedBy } = opts\n const result = await this.agent.com.atproto.moderation.createReport(\n { reasonType, subject, reason },\n {\n encoding: 'application/json',\n headers: this.getHeaders(reportedBy),\n },\n )\n return result.data\n }\n\n async verify(\n by: DidString,\n subject: DidString,\n handle: HandleString,\n displayName: string,\n overrides?: Partial<AppBskyGraphVerification.Record>,\n ) {\n const res = await this.agent.app.bsky.graph.verification.create(\n { repo: by },\n {\n subject,\n createdAt: new Date().toISOString(),\n handle,\n displayName,\n ...overrides,\n },\n this.getHeaders(by),\n )\n this.verifications[by] ??= {}\n this.verifications[by][subject] = new AtUri(res.uri)\n return this.verifications[by][subject]\n }\n\n async unverify(by: DidString, subject: DidString) {\n const verification = this.verifications[by]?.[subject]\n if (!verification) {\n throw new Error('verification does not exist')\n }\n\n await this.agent.app.bsky.graph.verification.delete(\n { repo: by, rkey: verification.rkey },\n this.getHeaders(by),\n )\n delete this.verifications[by][subject]\n }\n\n getHeaders(did: DidString) {\n return SeedClient.getHeaders(this.accounts[did].accessJwt)\n }\n\n static getHeaders(jwt: string) {\n return { authorization: `Bearer ${jwt}` }\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { SeedClient } from './client.js';
2
+ export default _default;
3
+ declare function _default(sc: SeedClient): Promise<void>;
4
+ //# sourceMappingURL=follows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"follows.d.ts","sourceRoot":"","sources":["../../src/seed/follows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;;0BAEvB,EAAE,EAAE,UAAU"}
@@ -0,0 +1,55 @@
1
+ export default async (sc) => {
2
+ await sc.createAccount('alice', users.alice);
3
+ await sc.createAccount('bob', users.bob);
4
+ await sc.createAccount('carol', users.carol);
5
+ await sc.createAccount('dan', users.dan);
6
+ await sc.createAccount('eve', users.eve);
7
+ for (const name in sc.dids) {
8
+ await sc.createProfile(sc.dids[name], `display-${name}`, `descript-${name}`);
9
+ }
10
+ const alice = sc.dids.alice;
11
+ const bob = sc.dids.bob;
12
+ const carol = sc.dids.carol;
13
+ const dan = sc.dids.dan;
14
+ const eve = sc.dids.eve;
15
+ await sc.follow(alice, bob);
16
+ await sc.follow(alice, carol);
17
+ await sc.follow(alice, dan);
18
+ await sc.follow(alice, eve);
19
+ await sc.follow(carol, alice);
20
+ await sc.follow(bob, alice);
21
+ await sc.follow(bob, carol);
22
+ await sc.follow(dan, alice);
23
+ await sc.follow(dan, bob);
24
+ await sc.follow(dan, eve);
25
+ await sc.follow(eve, alice);
26
+ await sc.follow(eve, carol);
27
+ };
28
+ const users = {
29
+ alice: {
30
+ email: 'alice@test.com',
31
+ handle: 'alice.test',
32
+ password: 'alice-pass',
33
+ },
34
+ bob: {
35
+ email: 'bob@test.com',
36
+ handle: 'bob.test',
37
+ password: 'bob-pass',
38
+ },
39
+ carol: {
40
+ email: 'carol@test.com',
41
+ handle: 'carol.test',
42
+ password: 'carol-pass',
43
+ },
44
+ dan: {
45
+ email: 'dan@test.com',
46
+ handle: 'dan.test',
47
+ password: 'dan-pass',
48
+ },
49
+ eve: {
50
+ email: 'eve@test.com',
51
+ handle: 'eve.test',
52
+ password: 'eve-pass',
53
+ },
54
+ };
55
+ //# sourceMappingURL=follows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"follows.js","sourceRoot":"","sources":["../../src/seed/follows.ts"],"names":[],"mappings":"AAEA,eAAe,KAAK,EAAE,EAAc,EAAE,EAAE;IACtC,MAAM,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IACxC,MAAM,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IACxC,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IACxC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,IAAI,EAAE,EAAE,YAAY,IAAI,EAAE,CAAC,CAAA;IAC9E,CAAC;IACD,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAA;IAC3B,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAA;IACvB,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAA;IAC3B,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAA;IACvB,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAA;IACvB,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC3B,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC7B,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC3B,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC3B,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC7B,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC3B,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC3B,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC3B,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACzB,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACzB,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC3B,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED,MAAM,KAAK,GAAG;IACZ,KAAK,EAAE;QACL,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,YAAY;KACvB;IACD,GAAG,EAAE;QACH,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,UAAU;KACrB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,YAAY;KACvB;IACD,GAAG,EAAE;QACH,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,UAAU;KACrB;IACD,GAAG,EAAE;QACH,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,UAAU;KACrB;CACO,CAAA","sourcesContent":["import type { SeedClient } from './client.js'\n\nexport default async (sc: SeedClient) => {\n await sc.createAccount('alice', users.alice)\n await sc.createAccount('bob', users.bob)\n await sc.createAccount('carol', users.carol)\n await sc.createAccount('dan', users.dan)\n await sc.createAccount('eve', users.eve)\n for (const name in sc.dids) {\n await sc.createProfile(sc.dids[name], `display-${name}`, `descript-${name}`)\n }\n const alice = sc.dids.alice\n const bob = sc.dids.bob\n const carol = sc.dids.carol\n const dan = sc.dids.dan\n const eve = sc.dids.eve\n await sc.follow(alice, bob)\n await sc.follow(alice, carol)\n await sc.follow(alice, dan)\n await sc.follow(alice, eve)\n await sc.follow(carol, alice)\n await sc.follow(bob, alice)\n await sc.follow(bob, carol)\n await sc.follow(dan, alice)\n await sc.follow(dan, bob)\n await sc.follow(dan, eve)\n await sc.follow(eve, alice)\n await sc.follow(eve, carol)\n}\n\nconst users = {\n alice: {\n email: 'alice@test.com',\n handle: 'alice.test',\n password: 'alice-pass',\n },\n bob: {\n email: 'bob@test.com',\n handle: 'bob.test',\n password: 'bob-pass',\n },\n carol: {\n email: 'carol@test.com',\n handle: 'carol.test',\n password: 'carol-pass',\n },\n dan: {\n email: 'dan@test.com',\n handle: 'dan.test',\n password: 'dan-pass',\n },\n eve: {\n email: 'eve@test.com',\n handle: 'eve.test',\n password: 'eve-pass',\n },\n} as const\n"]}
@@ -0,0 +1,11 @@
1
+ export * from './client.js';
2
+ export { default as authorFeedSeed } from './author-feed.js';
3
+ export { default as basicSeed } from './basic.js';
4
+ export { default as followsSeed } from './follows.js';
5
+ export { default as likesSeed } from './likes.js';
6
+ export { default as quotesSeed } from './quotes.js';
7
+ export { default as repostsSeed } from './reposts.js';
8
+ export { default as usersBulkSeed } from './users-bulk.js';
9
+ export { default as usersSeed } from './users.js';
10
+ export { default as verificationsSeed } from './verifications.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/seed/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAE3B,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,11 @@
1
+ export * from './client.js';
2
+ export { default as authorFeedSeed } from './author-feed.js';
3
+ export { default as basicSeed } from './basic.js';
4
+ export { default as followsSeed } from './follows.js';
5
+ export { default as likesSeed } from './likes.js';
6
+ export { default as quotesSeed } from './quotes.js';
7
+ export { default as repostsSeed } from './reposts.js';
8
+ export { default as usersBulkSeed } from './users-bulk.js';
9
+ export { default as usersSeed } from './users.js';
10
+ export { default as verificationsSeed } from './verifications.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/seed/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAE3B,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA","sourcesContent":["export * from './client.js'\n\nexport { default as authorFeedSeed } from './author-feed.js'\nexport { default as basicSeed } from './basic.js'\nexport { default as followsSeed } from './follows.js'\nexport { default as likesSeed } from './likes.js'\nexport { default as quotesSeed } from './quotes.js'\nexport { default as repostsSeed } from './reposts.js'\nexport { default as usersBulkSeed } from './users-bulk.js'\nexport { default as usersSeed } from './users.js'\nexport { default as verificationsSeed } from './verifications.js'\n"]}
@@ -0,0 +1,4 @@
1
+ import type { SeedClient } from './client.js';
2
+ export default _default;
3
+ declare function _default(sc: SeedClient): Promise<SeedClient<import("../network-no-appview.js").TestNetworkNoAppView>>;
4
+ //# sourceMappingURL=likes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"likes.d.ts","sourceRoot":"","sources":["../../src/seed/likes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;;0BAEvB,EAAE,EAAE,UAAU"}
@@ -0,0 +1,37 @@
1
+ import basicSeed from './basic.js';
2
+ export default async (sc) => {
3
+ await basicSeed(sc);
4
+ await sc.createAccount('eve', {
5
+ email: 'eve@test.com',
6
+ handle: 'eve.test',
7
+ password: 'eve-pass',
8
+ });
9
+ await sc.like(sc.dids.eve, sc.posts[sc.dids.alice][1].ref);
10
+ await sc.like(sc.dids.carol, sc.replies[sc.dids.bob][0].ref);
11
+ // give alice > 100 likes
12
+ for (let i = 0; i < 50; i++) {
13
+ const [b, c, d] = await Promise.all([
14
+ sc.post(sc.dids.bob, `bob post ${i}`),
15
+ sc.post(sc.dids.carol, `carol post ${i}`),
16
+ sc.post(sc.dids.dan, `dan post ${i}`),
17
+ ]);
18
+ await Promise.all([
19
+ sc.like(sc.dids.alice, b.ref), // likes 50 of bobs posts
20
+ i < 45 && sc.like(sc.dids.alice, c.ref), // likes 45 of carols posts
21
+ i < 40 && sc.like(sc.dids.alice, d.ref), // likes 40 of dans posts
22
+ ].filter(Boolean));
23
+ }
24
+ // couple more NPCs for suggested follows
25
+ await sc.createAccount('fred', {
26
+ email: 'fred@test.com',
27
+ handle: 'fred.test',
28
+ password: 'fred-pass',
29
+ });
30
+ await sc.createAccount('gina', {
31
+ email: 'gina@test.com',
32
+ handle: 'gina.test',
33
+ password: 'gina-pass',
34
+ });
35
+ return sc;
36
+ };
37
+ //# sourceMappingURL=likes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"likes.js","sourceRoot":"","sources":["../../src/seed/likes.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAA;AAGlC,eAAe,KAAK,EAAE,EAAc,EAAE,EAAE;IACtC,MAAM,SAAS,CAAC,EAAE,CAAC,CAAA;IACnB,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE;QAC5B,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,UAAU;KACrB,CAAC,CAAA;IACF,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC1D,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAE5D,yBAAyB;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAClC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC;YACzC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;SACtC,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,GAAG,CACf;YACE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,yBAAyB;YACxD,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,2BAA2B;YACpE,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,yBAAyB;SACnE,CAAC,MAAM,CAAC,OAAO,CAAC,CAClB,CAAA;IACH,CAAC;IAED,yCAAyC;IACzC,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE;QAC7B,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,WAAW;KACtB,CAAC,CAAA;IACF,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE;QAC7B,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,WAAW;KACtB,CAAC,CAAA;IAEF,OAAO,EAAE,CAAA;AACX,CAAC,CAAA","sourcesContent":["import basicSeed from './basic.js'\nimport type { SeedClient } from './client.js'\n\nexport default async (sc: SeedClient) => {\n await basicSeed(sc)\n await sc.createAccount('eve', {\n email: 'eve@test.com',\n handle: 'eve.test',\n password: 'eve-pass',\n })\n await sc.like(sc.dids.eve, sc.posts[sc.dids.alice][1].ref)\n await sc.like(sc.dids.carol, sc.replies[sc.dids.bob][0].ref)\n\n // give alice > 100 likes\n for (let i = 0; i < 50; i++) {\n const [b, c, d] = await Promise.all([\n sc.post(sc.dids.bob, `bob post ${i}`),\n sc.post(sc.dids.carol, `carol post ${i}`),\n sc.post(sc.dids.dan, `dan post ${i}`),\n ])\n await Promise.all(\n [\n sc.like(sc.dids.alice, b.ref), // likes 50 of bobs posts\n i < 45 && sc.like(sc.dids.alice, c.ref), // likes 45 of carols posts\n i < 40 && sc.like(sc.dids.alice, d.ref), // likes 40 of dans posts\n ].filter(Boolean),\n )\n }\n\n // couple more NPCs for suggested follows\n await sc.createAccount('fred', {\n email: 'fred@test.com',\n handle: 'fred.test',\n password: 'fred-pass',\n })\n await sc.createAccount('gina', {\n email: 'gina@test.com',\n handle: 'gina.test',\n password: 'gina-pass',\n })\n\n return sc\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { SeedClient } from './client.js';
2
+ export default _default;
3
+ declare function _default(sc: SeedClient): Promise<SeedClient<import("../network-no-appview.js").TestNetworkNoAppView>>;
4
+ //# sourceMappingURL=quotes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quotes.d.ts","sourceRoot":"","sources":["../../src/seed/quotes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;;0BAEvB,EAAE,EAAE,UAAU"}
@@ -0,0 +1,21 @@
1
+ import { default as basicSeed } from './basic.js';
2
+ export default async (sc) => {
3
+ await basicSeed(sc);
4
+ await sc.createAccount('eve', {
5
+ email: 'eve@test.com',
6
+ handle: 'eve.test',
7
+ password: 'eve-pass',
8
+ });
9
+ await sc.post(sc.dids.eve, 'qUoTe 1', undefined, undefined, sc.posts[sc.dids.alice][0].ref);
10
+ await sc.post(sc.dids.eve, 'qUoTe 2', undefined, undefined, sc.posts[sc.dids.alice][0].ref);
11
+ await sc.post(sc.dids.eve, 'qUoTe 3', undefined, undefined, sc.replies[sc.dids.bob][0].ref);
12
+ const carolPost = await sc.post(sc.dids.carol, 'post');
13
+ await sc.post(sc.dids.eve, 'qUoTe 4', undefined, undefined, carolPost.ref);
14
+ const spamPosts = [];
15
+ for (let i = 0; i < 5; i++) {
16
+ spamPosts.push(sc.post(sc.dids.eve, `MASSIVE QUOTE SPAM ${i + 1}`, undefined, undefined, sc.posts[sc.dids.alice][1].ref));
17
+ }
18
+ await Promise.all(spamPosts);
19
+ return sc;
20
+ };
21
+ //# sourceMappingURL=quotes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quotes.js","sourceRoot":"","sources":["../../src/seed/quotes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAA;AAGjD,eAAe,KAAK,EAAE,EAAc,EAAE,EAAE;IACtC,MAAM,SAAS,CAAC,EAAE,CAAC,CAAA;IACnB,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE;QAC5B,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,UAAU;KACrB,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,IAAI,CACX,EAAE,CAAC,IAAI,CAAC,GAAG,EACX,SAAS,EACT,SAAS,EACT,SAAS,EACT,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAC/B,CAAA;IACD,MAAM,EAAE,CAAC,IAAI,CACX,EAAE,CAAC,IAAI,CAAC,GAAG,EACX,SAAS,EACT,SAAS,EACT,SAAS,EACT,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAC/B,CAAA;IAED,MAAM,EAAE,CAAC,IAAI,CACX,EAAE,CAAC,IAAI,CAAC,GAAG,EACX,SAAS,EACT,SAAS,EACT,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAC/B,CAAA;IAED,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACtD,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;IAE1E,MAAM,SAAS,GAAmB,EAAE,CAAA;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,SAAS,CAAC,IAAI,CACZ,EAAE,CAAC,IAAI,CACL,EAAE,CAAC,IAAI,CAAC,GAAG,EACX,sBAAsB,CAAC,GAAG,CAAC,EAAE,EAC7B,SAAS,EACT,SAAS,EACT,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAC/B,CACF,CAAA;IACH,CAAC;IACD,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAE5B,OAAO,EAAE,CAAA;AACX,CAAC,CAAA","sourcesContent":["import { default as basicSeed } from './basic.js'\nimport type { SeedClient } from './client.js'\n\nexport default async (sc: SeedClient) => {\n await basicSeed(sc)\n await sc.createAccount('eve', {\n email: 'eve@test.com',\n handle: 'eve.test',\n password: 'eve-pass',\n })\n\n await sc.post(\n sc.dids.eve,\n 'qUoTe 1',\n undefined,\n undefined,\n sc.posts[sc.dids.alice][0].ref,\n )\n await sc.post(\n sc.dids.eve,\n 'qUoTe 2',\n undefined,\n undefined,\n sc.posts[sc.dids.alice][0].ref,\n )\n\n await sc.post(\n sc.dids.eve,\n 'qUoTe 3',\n undefined,\n undefined,\n sc.replies[sc.dids.bob][0].ref,\n )\n\n const carolPost = await sc.post(sc.dids.carol, 'post')\n await sc.post(sc.dids.eve, 'qUoTe 4', undefined, undefined, carolPost.ref)\n\n const spamPosts: Promise<any>[] = []\n for (let i = 0; i < 5; i++) {\n spamPosts.push(\n sc.post(\n sc.dids.eve,\n `MASSIVE QUOTE SPAM ${i + 1}`,\n undefined,\n undefined,\n sc.posts[sc.dids.alice][1].ref,\n ),\n )\n }\n await Promise.all(spamPosts)\n\n return sc\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { SeedClient } from './client.js';
2
+ export default _default;
3
+ declare function _default(sc: SeedClient): Promise<SeedClient<import("../network-no-appview.js").TestNetworkNoAppView>>;
4
+ //# sourceMappingURL=reposts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reposts.d.ts","sourceRoot":"","sources":["../../src/seed/reposts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;;0BAEvB,EAAE,EAAE,UAAU"}
@@ -0,0 +1,17 @@
1
+ import basicSeed from './basic.js';
2
+ export default async (sc) => {
3
+ await basicSeed(sc);
4
+ await sc.createAccount('eve', {
5
+ email: 'eve@test.com',
6
+ handle: 'eve.test',
7
+ password: 'eve-pass',
8
+ });
9
+ await sc.repost(sc.dids.bob, sc.posts[sc.dids.alice][2].ref);
10
+ await sc.repost(sc.dids.carol, sc.posts[sc.dids.alice][2].ref);
11
+ await sc.repost(sc.dids.dan, sc.posts[sc.dids.alice][2].ref);
12
+ await sc.repost(sc.dids.eve, sc.posts[sc.dids.alice][2].ref);
13
+ await sc.repost(sc.dids.dan, sc.replies[sc.dids.bob][0].ref);
14
+ await sc.repost(sc.dids.eve, sc.replies[sc.dids.bob][0].ref);
15
+ return sc;
16
+ };
17
+ //# sourceMappingURL=reposts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reposts.js","sourceRoot":"","sources":["../../src/seed/reposts.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAA;AAGlC,eAAe,KAAK,EAAE,EAAc,EAAE,EAAE;IACtC,MAAM,SAAS,CAAC,EAAE,CAAC,CAAA;IACnB,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE;QAC5B,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,UAAU;KACrB,CAAC,CAAA;IACF,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC5D,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC9D,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC5D,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC5D,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC5D,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC5D,OAAO,EAAE,CAAA;AACX,CAAC,CAAA","sourcesContent":["import basicSeed from './basic.js'\nimport type { SeedClient } from './client.js'\n\nexport default async (sc: SeedClient) => {\n await basicSeed(sc)\n await sc.createAccount('eve', {\n email: 'eve@test.com',\n handle: 'eve.test',\n password: 'eve-pass',\n })\n await sc.repost(sc.dids.bob, sc.posts[sc.dids.alice][2].ref)\n await sc.repost(sc.dids.carol, sc.posts[sc.dids.alice][2].ref)\n await sc.repost(sc.dids.dan, sc.posts[sc.dids.alice][2].ref)\n await sc.repost(sc.dids.eve, sc.posts[sc.dids.alice][2].ref)\n await sc.repost(sc.dids.dan, sc.replies[sc.dids.bob][0].ref)\n await sc.repost(sc.dids.eve, sc.replies[sc.dids.bob][0].ref)\n return sc\n}\n"]}
@@ -0,0 +1,227 @@
1
+ import type { DidString, HandleString } from '@atproto/syntax';
2
+ import type { TestNetwork } from '../network.js';
3
+ import type { RecordRef, SeedClient } from './client.js';
4
+ type User = {
5
+ id: string;
6
+ did: DidString;
7
+ email: string;
8
+ handle: HandleString;
9
+ password: string;
10
+ displayName: string;
11
+ description: string;
12
+ selfLabels: undefined;
13
+ };
14
+ export declare const TAG_BUMP_DOWN = "down";
15
+ export declare const TAG_HIDE = "hide";
16
+ export declare function simple(sc: SeedClient<TestNetwork>, prefix?: string): Promise<{
17
+ seedClient: SeedClient<TestNetwork>;
18
+ users: Record<"alice" | "bob" | "carol" | "op", User>;
19
+ root: {
20
+ text: string;
21
+ ref: RecordRef;
22
+ images: import("./client.js").ImageRef[];
23
+ quote: RecordRef | undefined;
24
+ };
25
+ r: Record<string, {
26
+ text: string;
27
+ ref: RecordRef;
28
+ images: import("./client.js").ImageRef[];
29
+ }>;
30
+ }>;
31
+ export declare function long(sc: SeedClient<TestNetwork>): Promise<{
32
+ seedClient: SeedClient<TestNetwork>;
33
+ users: Record<"alice" | "bob" | "carol" | "dan" | "op", User>;
34
+ root: {
35
+ text: string;
36
+ ref: RecordRef;
37
+ images: import("./client.js").ImageRef[];
38
+ quote: RecordRef | undefined;
39
+ };
40
+ r: Record<string, {
41
+ text: string;
42
+ ref: RecordRef;
43
+ images: import("./client.js").ImageRef[];
44
+ }>;
45
+ }>;
46
+ export declare function deep(sc: SeedClient<TestNetwork>): Promise<{
47
+ seedClient: SeedClient<TestNetwork>;
48
+ users: Record<"op", User>;
49
+ root: {
50
+ text: string;
51
+ ref: RecordRef;
52
+ images: import("./client.js").ImageRef[];
53
+ quote: RecordRef | undefined;
54
+ };
55
+ r: Record<string, {
56
+ text: string;
57
+ ref: RecordRef;
58
+ images: import("./client.js").ImageRef[];
59
+ }>;
60
+ }>;
61
+ export declare function branchingFactor(sc: SeedClient<TestNetwork>): Promise<{
62
+ seedClient: SeedClient<TestNetwork>;
63
+ users: Record<"bob" | "op", User>;
64
+ root: {
65
+ text: string;
66
+ ref: RecordRef;
67
+ images: import("./client.js").ImageRef[];
68
+ quote: RecordRef | undefined;
69
+ };
70
+ r: Record<string, {
71
+ text: string;
72
+ ref: RecordRef;
73
+ images: import("./client.js").ImageRef[];
74
+ }>;
75
+ }>;
76
+ export declare function annotateMoreReplies(sc: SeedClient<TestNetwork>): Promise<{
77
+ seedClient: SeedClient<TestNetwork>;
78
+ users: Record<"alice" | "op", User>;
79
+ root: {
80
+ text: string;
81
+ ref: RecordRef;
82
+ images: import("./client.js").ImageRef[];
83
+ quote: RecordRef | undefined;
84
+ };
85
+ r: Record<string, {
86
+ text: string;
87
+ ref: RecordRef;
88
+ images: import("./client.js").ImageRef[];
89
+ }>;
90
+ }>;
91
+ export declare function annotateOP(sc: SeedClient<TestNetwork>): Promise<{
92
+ seedClient: SeedClient<TestNetwork>;
93
+ users: Record<"alice" | "bob" | "op", User>;
94
+ root: {
95
+ text: string;
96
+ ref: RecordRef;
97
+ images: import("./client.js").ImageRef[];
98
+ quote: RecordRef | undefined;
99
+ };
100
+ r: Record<string, {
101
+ text: string;
102
+ ref: RecordRef;
103
+ images: import("./client.js").ImageRef[];
104
+ }>;
105
+ }>;
106
+ export declare function sort(sc: SeedClient<TestNetwork>): Promise<{
107
+ seedClient: SeedClient<TestNetwork>;
108
+ users: Record<"alice" | "bob" | "carol" | "op", User>;
109
+ root: {
110
+ text: string;
111
+ ref: RecordRef;
112
+ images: import("./client.js").ImageRef[];
113
+ quote: RecordRef | undefined;
114
+ };
115
+ r: Record<string, {
116
+ text: string;
117
+ ref: RecordRef;
118
+ images: import("./client.js").ImageRef[];
119
+ }>;
120
+ }>;
121
+ export declare function bumpOpAndViewer(sc: SeedClient<TestNetwork>): Promise<{
122
+ seedClient: SeedClient<TestNetwork>;
123
+ users: Record<"alice" | "bob" | "carol" | "op" | "viewer", User>;
124
+ root: {
125
+ text: string;
126
+ ref: RecordRef;
127
+ images: import("./client.js").ImageRef[];
128
+ quote: RecordRef | undefined;
129
+ };
130
+ r: Record<string, {
131
+ text: string;
132
+ ref: RecordRef;
133
+ images: import("./client.js").ImageRef[];
134
+ }>;
135
+ }>;
136
+ export declare function bumpGroupSorting(sc: SeedClient<TestNetwork>): Promise<{
137
+ seedClient: SeedClient<TestNetwork>;
138
+ users: Record<"alice" | "op" | "viewer", User>;
139
+ root: {
140
+ text: string;
141
+ ref: RecordRef;
142
+ images: import("./client.js").ImageRef[];
143
+ quote: RecordRef | undefined;
144
+ };
145
+ r: Record<string, {
146
+ text: string;
147
+ ref: RecordRef;
148
+ images: import("./client.js").ImageRef[];
149
+ }>;
150
+ }>;
151
+ export declare function bumpFollows(sc: SeedClient<TestNetwork>): Promise<{
152
+ seedClient: SeedClient<TestNetwork>;
153
+ users: Record<"alice" | "bob" | "carol" | "op" | "viewerF" | "viewerNoF", User>;
154
+ root: {
155
+ text: string;
156
+ ref: RecordRef;
157
+ images: import("./client.js").ImageRef[];
158
+ quote: RecordRef | undefined;
159
+ };
160
+ r: Record<string, {
161
+ text: string;
162
+ ref: RecordRef;
163
+ images: import("./client.js").ImageRef[];
164
+ }>;
165
+ }>;
166
+ export declare function blockDeletionAuth(sc: SeedClient<TestNetwork>, labelerDid: string): Promise<{
167
+ seedClient: SeedClient<TestNetwork>;
168
+ users: Record<"alice" | "auth" | "blocked" | "blocker" | "op" | "opBlocked", User>;
169
+ root: {
170
+ text: string;
171
+ ref: RecordRef;
172
+ images: import("./client.js").ImageRef[];
173
+ quote: RecordRef | undefined;
174
+ };
175
+ r: Record<string, {
176
+ text: string;
177
+ ref: RecordRef;
178
+ images: import("./client.js").ImageRef[];
179
+ }>;
180
+ }>;
181
+ export declare function mutes(sc: SeedClient<TestNetwork>): Promise<{
182
+ seedClient: SeedClient<TestNetwork>;
183
+ users: Record<"alice" | "muted" | "muter" | "op" | "opMuted", User>;
184
+ root: {
185
+ text: string;
186
+ ref: RecordRef;
187
+ images: import("./client.js").ImageRef[];
188
+ quote: RecordRef | undefined;
189
+ };
190
+ r: Record<string, {
191
+ text: string;
192
+ ref: RecordRef;
193
+ images: import("./client.js").ImageRef[];
194
+ }>;
195
+ }>;
196
+ export declare function threadgated(sc: SeedClient<TestNetwork>): Promise<{
197
+ seedClient: SeedClient<TestNetwork>;
198
+ users: Record<"alice" | "bob" | "op" | "opMuted" | "viewer", User>;
199
+ root: {
200
+ text: string;
201
+ ref: RecordRef;
202
+ images: import("./client.js").ImageRef[];
203
+ quote: RecordRef | undefined;
204
+ };
205
+ r: Record<string, {
206
+ text: string;
207
+ ref: RecordRef;
208
+ images: import("./client.js").ImageRef[];
209
+ }>;
210
+ }>;
211
+ export declare function tags(sc: SeedClient<TestNetwork>): Promise<{
212
+ seedClient: SeedClient<TestNetwork>;
213
+ users: Record<"alice" | "down" | "following" | "hide" | "op" | "viewer", User>;
214
+ root: {
215
+ text: string;
216
+ ref: RecordRef;
217
+ images: import("./client.js").ImageRef[];
218
+ quote: RecordRef | undefined;
219
+ };
220
+ r: Record<string, {
221
+ text: string;
222
+ ref: RecordRef;
223
+ images: import("./client.js").ImageRef[];
224
+ }>;
225
+ }>;
226
+ export {};
227
+ //# sourceMappingURL=thread-v2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-v2.d.ts","sourceRoot":"","sources":["../../src/seed/thread-v2.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExD,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,SAAS,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,YAAY,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,SAAS,CAAA;CACtB,CAAA;AAkDD,eAAO,MAAM,aAAa,SAAS,CAAA;AACnC,eAAO,MAAM,QAAQ,SAAS,CAAA;AAsF9B,wBAAsB,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,SAAW;;;;;;;;;;;;;;GA0B1E;AAED,wBAAsB,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC;;;;;;;;;;;;;;GA2DrD;AAED,wBAAsB,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC;;;;;;;;;;;;;;GAqBrD;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC;;;;;;;;;;;;;;GAuHhE;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC;;;;;;;;;;;;;;GAuDpE;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC;;;;;;;;;;;;;;GA0B3D;AAED,wBAAsB,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC;;;;;;;;;;;;;;GAsDrD;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC;;;;;;;;;;;;;;GAoFhE;AAED,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC;;;;;;;;;;;;;;GAyBjE;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC;;;;;;;;;;;;;;GA+B5D;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC,EAC3B,UAAU,EAAE,MAAM;;;;;;;;;;;;;;GA0DnB;AAED,wBAAsB,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC;;;;;;;;;;;;;;GAgCtD;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC;;;;;;;;;;;;;;GAmD5D;AAED,wBAAsB,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC;;;;;;;;;;;;;;GA6DrD"}