@atproto/dev-env 0.5.13 → 0.5.15

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 (50) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/bin.js +2 -1
  3. package/dist/bin.js.map +1 -1
  4. package/dist/bsky.d.ts +1 -0
  5. package/dist/bsky.d.ts.map +1 -1
  6. package/dist/bsky.js +26 -6
  7. package/dist/bsky.js.map +1 -1
  8. package/dist/feed-gen.d.ts +4 -1
  9. package/dist/feed-gen.d.ts.map +1 -1
  10. package/dist/feed-gen.js +10 -11
  11. package/dist/feed-gen.js.map +1 -1
  12. package/dist/introspect.d.ts +1 -0
  13. package/dist/introspect.d.ts.map +1 -1
  14. package/dist/introspect.js +4 -2
  15. package/dist/introspect.js.map +1 -1
  16. package/dist/network.d.ts +1 -0
  17. package/dist/network.d.ts.map +1 -1
  18. package/dist/network.js +22 -8
  19. package/dist/network.js.map +1 -1
  20. package/dist/ozone.d.ts +1 -0
  21. package/dist/ozone.d.ts.map +1 -1
  22. package/dist/ozone.js +9 -2
  23. package/dist/ozone.js.map +1 -1
  24. package/dist/pds.d.ts +1 -0
  25. package/dist/pds.d.ts.map +1 -1
  26. package/dist/pds.js +3 -0
  27. package/dist/pds.js.map +1 -1
  28. package/dist/seed/basic.d.ts +1 -2
  29. package/dist/seed/basic.d.ts.map +1 -1
  30. package/dist/seed/basic.js +2 -2
  31. package/dist/seed/basic.js.map +1 -1
  32. package/dist/seed/users-bulk.d.ts +1 -2
  33. package/dist/seed/users-bulk.d.ts.map +1 -1
  34. package/dist/seed/users-bulk.js +2 -2
  35. package/dist/seed/users-bulk.js.map +1 -1
  36. package/dist/seed/users.d.ts +1 -2
  37. package/dist/seed/users.d.ts.map +1 -1
  38. package/dist/seed/users.js +2 -2
  39. package/dist/seed/users.js.map +1 -1
  40. package/package.json +12 -11
  41. package/src/bin.ts +2 -2
  42. package/src/bsky.ts +23 -6
  43. package/src/feed-gen.ts +16 -10
  44. package/src/introspect.ts +7 -3
  45. package/src/network.ts +21 -8
  46. package/src/ozone.ts +9 -2
  47. package/src/pds.ts +4 -0
  48. package/src/seed/basic.ts +2 -2
  49. package/src/seed/users-bulk.ts +1 -1
  50. package/src/seed/users.ts +1 -1
package/dist/pds.js CHANGED
@@ -95,5 +95,8 @@ export class TestPds {
95
95
  async close() {
96
96
  await this.server.destroy();
97
97
  }
98
+ async [Symbol.asyncDispose]() {
99
+ await this.close();
100
+ }
98
101
  }
99
102
  //# sourceMappingURL=pds.js.map
package/dist/pds.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pds.js","sourceRoot":"","sources":["../src/pds.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from 'node:fs/promises'\nimport os from 'node:os'\nimport path from 'node:path'\nimport getPort from 'get-port'\nimport * as ui8 from 'uint8arrays'\nimport { AtpAgent } from '@atproto/api'\nimport { Secp256k1Keypair, randomStr } from '@atproto/crypto'\nimport { Client } from '@atproto/lex'\nimport * as pds from '@atproto/pds'\nimport { createSecretKeyObject } from '@atproto/pds'\nimport { ADMIN_PASSWORD, EXAMPLE_LABELER, JWT_SECRET } from './const.js'\nimport { PdsConfig } from './types.js'\n\nexport class TestPds {\n constructor(\n public url: string,\n public port: number,\n public server: pds.PDS,\n ) {}\n\n static async create(config: PdsConfig): Promise<TestPds> {\n const plcRotationKey = await Secp256k1Keypair.create({ exportable: true })\n const plcRotationPriv = ui8.toString(await plcRotationKey.export(), 'hex')\n const recoveryKey = (await Secp256k1Keypair.create()).did()\n\n const port = config.port || (await getPort())\n const url = `http://localhost:${port}`\n\n const blobstoreLoc = path.join(os.tmpdir(), randomStr(8, 'base32'))\n const dataDirectory = path.join(os.tmpdir(), randomStr(8, 'base32'))\n await fs.mkdir(dataDirectory, { recursive: true })\n\n const env: pds.ServerEnvironment = {\n devMode: true,\n port,\n dataDirectory: dataDirectory,\n blobstoreDiskLocation: blobstoreLoc,\n recoveryDidKey: recoveryKey,\n adminPassword: ADMIN_PASSWORD,\n jwtSecret: JWT_SECRET,\n // @NOTE \".example\" will not actually work and is only used to display\n // multiple domains in the sing-up UI\n serviceHandleDomains: ['.test', '.example'],\n bskyAppViewUrl: 'https://appview.invalid',\n bskyAppViewDid: 'did:example:invalid',\n bskyAppViewCdnUrlPattern: 'http://cdn.appview.com/%s/%s/%s',\n modServiceUrl: 'https://moderator.invalid',\n modServiceDid: 'did:example:invalid',\n plcRotationKeyK256PrivateKeyHex: plcRotationPriv,\n inviteRequired: false,\n disableSsrfProtection: true,\n serviceName: 'Development PDS',\n primaryColor: '#f0828d',\n primaryColorContrast: '#fff', // Bad contrast for a11y (WCAG AA)\n errorColor: 'rgb(238, 0, 78)', // rgb() notation should work too\n logoUrl:\n // Using a \"data:\" instead of a real URL to avoid making CORS requests in dev.\n // License: https://uxwing.com/license/\n // Source: https://uxwing.com/bee-icon/\n `data:image/svg+xml;base64,${Buffer.from('<svg xmlns=\"http://www.w3.org/2000/svg\" shape-rendering=\"geometricPrecision\" text-rendering=\"geometricPrecision\" image-rendering=\"optimizeQuality\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" viewBox=\"0 0 503 511.623\"><path fill=\"#FFB9B9\" d=\"M379.75 85.311l90.022 89.879C503.264 128.804 502.534 31.13 476.188 0c-27.441 31.966-59.103 60.767-96.438 85.311z\"/><path fill=\"#E2828D\" d=\"M399.445 104.976l70.327 70.214c26.443-36.622 31.549-105.205 19.563-147.778-26.692 28.309-56.413 54.344-89.89 77.564z\"/><path fill=\"#FFB9B9\" d=\"M119.595 85.311L29.573 175.19C-3.919 128.804-3.189 31.13 23.156 0c27.441 31.966 59.103 60.767 96.439 85.311z\"/><path fill=\"#E2828D\" d=\"M99.899 104.976L29.573 175.19C3.13 138.568-1.976 69.985 10.01 27.412c26.692 28.309 56.413 54.344 89.889 77.564z\"/><path fill=\"#FFB9B9\" d=\"M251.5 51.303c138.898 0 251.5 103.046 251.5 230.16 0 127.114-112.602 230.16-251.5 230.16C112.6 511.623 0 408.577 0 281.463c0-127.114 112.6-230.16 251.5-230.16z\"/><path fill=\"#331400\" d=\"M138.142 188.245c16.387 0 29.672 13.283 29.672 29.672 0 16.389-13.285 29.673-29.672 29.673-16.389 0-29.675-13.284-29.675-29.673 0-16.389 13.286-29.672 29.675-29.672zM360.695 188.245c16.389 0 29.674 13.283 29.674 29.672 0 16.389-13.285 29.673-29.674 29.673-16.387 0-29.673-13.284-29.673-29.673 0-16.389 13.286-29.672 29.673-29.672z\"/><path fill=\"#F0828D\" fill-rule=\"nonzero\" d=\"M251.5 255.548c37.407 0 71.438 11.136 96.213 29.138 25.886 18.808 41.905 45.125 41.905 74.487 0 29.36-16.017 55.679-41.908 74.49-24.772 18.001-58.805 29.138-96.21 29.138-37.405 0-71.438-11.137-96.21-29.138-25.891-18.811-41.908-45.13-41.908-74.49 0-29.362 16.019-55.679 41.905-74.487 24.775-18.002 58.808-29.138 96.213-29.138z\"/><circle fill=\"#A5414B\" cx=\"203.259\" cy=\"358.515\" r=\"29.673\"/><circle fill=\"#A5414B\" cx=\"298.744\" cy=\"358.515\" r=\"29.673\"/></svg>', 'utf8').toString('base64')}`,\n homeUrl: 'https://bsky.social/',\n termsOfServiceUrl: 'https://bsky.social/about/support/tos',\n privacyPolicyUrl: 'https://bsky.social/about/support/privacy-policy',\n supportUrl: 'https://blueskyweb.zendesk.com/hc/en-us',\n ...config,\n }\n const cfg = pds.envToCfg(env)\n const secrets = pds.envToSecrets(env)\n\n const server = await pds.PDS.create(cfg, secrets)\n\n await server.start()\n\n return new TestPds(url, port, server)\n }\n\n get ctx(): pds.AppContext {\n return this.server.ctx\n }\n\n getAgent(): AtpAgent {\n const agent = new AtpAgent({ service: this.url })\n agent.configureLabelers([EXAMPLE_LABELER])\n return agent\n }\n\n getClient(): Client {\n const client = new Client({ service: this.url })\n client.setLabelers([EXAMPLE_LABELER])\n return client\n }\n\n adminAuth(): string {\n return (\n 'Basic ' +\n ui8.toString(\n ui8.fromString(`admin:${ADMIN_PASSWORD}`, 'utf8'),\n 'base64pad',\n )\n )\n }\n\n adminAuthHeaders() {\n return {\n authorization: this.adminAuth(),\n }\n }\n\n jwtSecretKey() {\n return createSecretKeyObject(JWT_SECRET)\n }\n\n async processAll() {\n await this.ctx.backgroundQueue.processAll()\n }\n\n async close() {\n await this.server.destroy()\n }\n}\n"]}
1
+ {"version":3,"file":"pds.js","sourceRoot":"","sources":["../src/pds.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from 'node:fs/promises'\nimport os from 'node:os'\nimport path from 'node:path'\nimport getPort from 'get-port'\nimport * as ui8 from 'uint8arrays'\nimport { AtpAgent } from '@atproto/api'\nimport { Secp256k1Keypair, randomStr } from '@atproto/crypto'\nimport { Client } from '@atproto/lex'\nimport * as pds from '@atproto/pds'\nimport { createSecretKeyObject } from '@atproto/pds'\nimport { ADMIN_PASSWORD, EXAMPLE_LABELER, JWT_SECRET } from './const.js'\nimport { PdsConfig } from './types.js'\n\nexport class TestPds {\n constructor(\n public url: string,\n public port: number,\n public server: pds.PDS,\n ) {}\n\n static async create(config: PdsConfig): Promise<TestPds> {\n const plcRotationKey = await Secp256k1Keypair.create({ exportable: true })\n const plcRotationPriv = ui8.toString(await plcRotationKey.export(), 'hex')\n const recoveryKey = (await Secp256k1Keypair.create()).did()\n\n const port = config.port || (await getPort())\n const url = `http://localhost:${port}`\n\n const blobstoreLoc = path.join(os.tmpdir(), randomStr(8, 'base32'))\n const dataDirectory = path.join(os.tmpdir(), randomStr(8, 'base32'))\n await fs.mkdir(dataDirectory, { recursive: true })\n\n const env: pds.ServerEnvironment = {\n devMode: true,\n port,\n dataDirectory: dataDirectory,\n blobstoreDiskLocation: blobstoreLoc,\n recoveryDidKey: recoveryKey,\n adminPassword: ADMIN_PASSWORD,\n jwtSecret: JWT_SECRET,\n // @NOTE \".example\" will not actually work and is only used to display\n // multiple domains in the sing-up UI\n serviceHandleDomains: ['.test', '.example'],\n bskyAppViewUrl: 'https://appview.invalid',\n bskyAppViewDid: 'did:example:invalid',\n bskyAppViewCdnUrlPattern: 'http://cdn.appview.com/%s/%s/%s',\n modServiceUrl: 'https://moderator.invalid',\n modServiceDid: 'did:example:invalid',\n plcRotationKeyK256PrivateKeyHex: plcRotationPriv,\n inviteRequired: false,\n disableSsrfProtection: true,\n serviceName: 'Development PDS',\n primaryColor: '#f0828d',\n primaryColorContrast: '#fff', // Bad contrast for a11y (WCAG AA)\n errorColor: 'rgb(238, 0, 78)', // rgb() notation should work too\n logoUrl:\n // Using a \"data:\" instead of a real URL to avoid making CORS requests in dev.\n // License: https://uxwing.com/license/\n // Source: https://uxwing.com/bee-icon/\n `data:image/svg+xml;base64,${Buffer.from('<svg xmlns=\"http://www.w3.org/2000/svg\" shape-rendering=\"geometricPrecision\" text-rendering=\"geometricPrecision\" image-rendering=\"optimizeQuality\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" viewBox=\"0 0 503 511.623\"><path fill=\"#FFB9B9\" d=\"M379.75 85.311l90.022 89.879C503.264 128.804 502.534 31.13 476.188 0c-27.441 31.966-59.103 60.767-96.438 85.311z\"/><path fill=\"#E2828D\" d=\"M399.445 104.976l70.327 70.214c26.443-36.622 31.549-105.205 19.563-147.778-26.692 28.309-56.413 54.344-89.89 77.564z\"/><path fill=\"#FFB9B9\" d=\"M119.595 85.311L29.573 175.19C-3.919 128.804-3.189 31.13 23.156 0c27.441 31.966 59.103 60.767 96.439 85.311z\"/><path fill=\"#E2828D\" d=\"M99.899 104.976L29.573 175.19C3.13 138.568-1.976 69.985 10.01 27.412c26.692 28.309 56.413 54.344 89.889 77.564z\"/><path fill=\"#FFB9B9\" d=\"M251.5 51.303c138.898 0 251.5 103.046 251.5 230.16 0 127.114-112.602 230.16-251.5 230.16C112.6 511.623 0 408.577 0 281.463c0-127.114 112.6-230.16 251.5-230.16z\"/><path fill=\"#331400\" d=\"M138.142 188.245c16.387 0 29.672 13.283 29.672 29.672 0 16.389-13.285 29.673-29.672 29.673-16.389 0-29.675-13.284-29.675-29.673 0-16.389 13.286-29.672 29.675-29.672zM360.695 188.245c16.389 0 29.674 13.283 29.674 29.672 0 16.389-13.285 29.673-29.674 29.673-16.387 0-29.673-13.284-29.673-29.673 0-16.389 13.286-29.672 29.673-29.672z\"/><path fill=\"#F0828D\" fill-rule=\"nonzero\" d=\"M251.5 255.548c37.407 0 71.438 11.136 96.213 29.138 25.886 18.808 41.905 45.125 41.905 74.487 0 29.36-16.017 55.679-41.908 74.49-24.772 18.001-58.805 29.138-96.21 29.138-37.405 0-71.438-11.137-96.21-29.138-25.891-18.811-41.908-45.13-41.908-74.49 0-29.362 16.019-55.679 41.905-74.487 24.775-18.002 58.808-29.138 96.213-29.138z\"/><circle fill=\"#A5414B\" cx=\"203.259\" cy=\"358.515\" r=\"29.673\"/><circle fill=\"#A5414B\" cx=\"298.744\" cy=\"358.515\" r=\"29.673\"/></svg>', 'utf8').toString('base64')}`,\n homeUrl: 'https://bsky.social/',\n termsOfServiceUrl: 'https://bsky.social/about/support/tos',\n privacyPolicyUrl: 'https://bsky.social/about/support/privacy-policy',\n supportUrl: 'https://blueskyweb.zendesk.com/hc/en-us',\n ...config,\n }\n const cfg = pds.envToCfg(env)\n const secrets = pds.envToSecrets(env)\n\n const server = await pds.PDS.create(cfg, secrets)\n\n await server.start()\n\n return new TestPds(url, port, server)\n }\n\n get ctx(): pds.AppContext {\n return this.server.ctx\n }\n\n getAgent(): AtpAgent {\n const agent = new AtpAgent({ service: this.url })\n agent.configureLabelers([EXAMPLE_LABELER])\n return agent\n }\n\n getClient(): Client {\n const client = new Client({ service: this.url })\n client.setLabelers([EXAMPLE_LABELER])\n return client\n }\n\n adminAuth(): string {\n return (\n 'Basic ' +\n ui8.toString(\n ui8.fromString(`admin:${ADMIN_PASSWORD}`, 'utf8'),\n 'base64pad',\n )\n )\n }\n\n adminAuthHeaders() {\n return {\n authorization: this.adminAuth(),\n }\n }\n\n jwtSecretKey() {\n return createSecretKeyObject(JWT_SECRET)\n }\n\n async processAll() {\n await this.ctx.backgroundQueue.processAll()\n }\n\n async close() {\n await this.server.destroy()\n }\n\n async [Symbol.asyncDispose]() {\n await this.close()\n }\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  import { TestNetworkNoAppView } from '../network-no-appview.js';
2
2
  import { TestNetwork } from '../network.js';
3
3
  import { SeedClient } from './client.js';
4
- declare const _default: (sc: SeedClient<TestNetwork | TestNetworkNoAppView>, users?: boolean) => Promise<SeedClient<TestNetwork | TestNetworkNoAppView>>;
5
- export default _default;
4
+ export default function basicSeed(sc: SeedClient<TestNetwork | TestNetworkNoAppView>, users?: boolean): Promise<SeedClient<TestNetwork | TestNetworkNoAppView>>;
6
5
  export declare const posts: {
7
6
  alice: string[];
8
7
  bob: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../src/seed/basic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;6BAIlC,UAAU,CAAC,WAAW,GAAG,oBAAoB,CAAC;;AAwJpD,eAAO,MAAM,KAAK;IAChB,KAAK;IACL,GAAG;IACH,KAAK;IACL,GAAG;CACJ,CAAA;AAED,eAAO,MAAM,OAAO;IAClB,KAAK;IACL,GAAG;IACH,KAAK;CACN,CAAA"}
1
+ {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../src/seed/basic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,wBAA8B,SAAS,CACrC,EAAE,EAAE,UAAU,CAAC,WAAW,GAAG,oBAAoB,CAAC,EAClD,KAAK,UAAO,2DAqJb;AAED,eAAO,MAAM,KAAK;IAChB,KAAK;IACL,GAAG;IACH,KAAK;IACL,GAAG;CACJ,CAAA;AAED,eAAO,MAAM,OAAO;IAClB,KAAK;IACL,GAAG;IACH,KAAK;CACN,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { EXAMPLE_LABELER } from '../const.js';
2
2
  import { TestNetwork } from '../network.js';
3
3
  import usersSeed from './users.js';
4
- export default async (sc, users = true) => {
4
+ export default async function basicSeed(sc, users = true) {
5
5
  if (users)
6
6
  await usersSeed(sc);
7
7
  const alice = sc.dids.alice;
@@ -85,7 +85,7 @@ export default async (sc, users = true) => {
85
85
  });
86
86
  }
87
87
  return sc;
88
- };
88
+ }
89
89
  export const posts = {
90
90
  alice: ['hey there', 'again', 'yoohoo label_me'],
91
91
  bob: ['bob back at it again!', 'bobby boy here', 'yoohoo'],
@@ -1 +1 @@
1
- {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../src/seed/basic.ts"],"names":[],"mappings":"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","sourcesContent":["import { TestBsky } from '../bsky.js'\nimport { EXAMPLE_LABELER } from '../const.js'\nimport { TestNetworkNoAppView } from '../network-no-appview.js'\nimport { TestNetwork } from '../network.js'\nimport { SeedClient } from './client.js'\nimport usersSeed from './users.js'\n\nexport default async (\n sc: SeedClient<TestNetwork | TestNetworkNoAppView>,\n users = true,\n) => {\n if (users) await usersSeed(sc)\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 createdAtMicroseconds = () => ({\n createdAt: new Date().toISOString().replace('Z', '000Z'), // microseconds\n })\n const createdAtTimezone = () => ({\n createdAt: new Date().toISOString().replace('Z', '+00:00'), // iso timezone format\n })\n\n await sc.follow(alice, bob)\n await sc.follow(alice, carol)\n await sc.follow(alice, dan)\n await sc.follow(carol, alice)\n await sc.follow(bob, alice)\n await sc.follow(bob, carol, createdAtMicroseconds())\n await sc.follow(dan, bob, createdAtTimezone())\n await sc.post(alice, posts.alice[0], undefined, undefined, undefined, {\n labels: {\n $type: 'com.atproto.label.defs#selfLabels',\n values: [{ val: 'self-label' }],\n },\n })\n await sc.post(bob, posts.bob[0], undefined, undefined, undefined, {\n langs: ['en-US', 'i-klingon'],\n })\n const img1 = await sc.uploadFile(\n carol,\n '../dev-env/assets/key-landscape-small.jpg',\n 'image/jpeg',\n )\n const img2 = await sc.uploadFile(\n carol,\n '../dev-env/assets/key-alt.jpg',\n 'image/jpeg',\n )\n await sc.post(\n carol,\n posts.carol[0],\n undefined,\n [img1, img2], // Contains both images and a quote\n sc.posts[bob][0].ref,\n )\n await sc.post(dan, posts.dan[0])\n await sc.post(\n dan,\n posts.dan[1],\n [\n {\n index: { byteStart: 0, byteEnd: 18 },\n features: [\n {\n $type: `app.bsky.richtext.facet#mention`,\n did: alice,\n },\n ],\n },\n ],\n undefined,\n sc.posts[carol][0].ref, // This post contains an images embed\n )\n await sc.post(\n alice,\n posts.alice[1],\n undefined,\n undefined,\n undefined,\n createdAtMicroseconds(),\n )\n await sc.post(\n bob,\n posts.bob[1],\n undefined,\n undefined,\n undefined,\n createdAtTimezone(),\n )\n await sc.post(\n alice,\n posts.alice[2],\n undefined,\n undefined,\n sc.posts[dan][1].ref, // This post contains a record embed which contains an images embed\n )\n await sc.like(bob, sc.posts[alice][1].ref)\n await sc.like(bob, sc.posts[alice][2].ref)\n await sc.like(carol, sc.posts[alice][1].ref)\n await sc.like(carol, sc.posts[alice][2].ref)\n await sc.like(dan, sc.posts[alice][1].ref)\n await sc.like(alice, sc.posts[carol][0].ref, createdAtMicroseconds())\n await sc.like(bob, sc.posts[carol][0].ref, createdAtTimezone())\n\n const replyImg = await sc.uploadFile(\n bob,\n '../dev-env/assets/key-landscape-small.jpg',\n 'image/jpeg',\n )\n // must ensure ordering of replies in indexing\n await sc.network.processAll()\n await sc.reply(\n bob,\n sc.posts[alice][1].ref,\n sc.posts[alice][1].ref,\n replies.bob[0],\n undefined,\n [replyImg],\n )\n await sc.reply(\n carol,\n sc.posts[alice][1].ref,\n sc.posts[alice][1].ref,\n replies.carol[0],\n )\n await sc.network.processAll()\n const alicesReplyToBob = await sc.reply(\n alice,\n sc.posts[alice][1].ref,\n sc.replies[bob][0].ref,\n replies.alice[0],\n )\n await sc.repost(carol, sc.posts[dan][1].ref)\n await sc.repost(dan, sc.posts[alice][1].ref)\n await sc.repost(dan, alicesReplyToBob.ref)\n\n if (sc.network instanceof TestNetwork) {\n const bsky = sc.network.bsky\n await createLabel(bsky, {\n val: 'test-label',\n uri: sc.posts[alice][2].ref.uriStr,\n cid: sc.posts[alice][2].ref.cidStr,\n })\n await createLabel(bsky, {\n val: 'test-label',\n uri: sc.replies[bob][0].ref.uriStr,\n cid: sc.replies[bob][0].ref.cidStr,\n })\n await createLabel(bsky, {\n val: 'test-label-2',\n uri: sc.replies[bob][0].ref.uriStr,\n cid: sc.replies[bob][0].ref.cidStr,\n })\n }\n\n return sc\n}\n\nexport const posts = {\n alice: ['hey there', 'again', 'yoohoo label_me'],\n bob: ['bob back at it again!', 'bobby boy here', 'yoohoo'],\n carol: ['hi im carol'],\n dan: ['dan here!', '@alice.bluesky.xyz is the best'],\n}\n\nexport const replies = {\n alice: ['thanks bob'],\n bob: ['hear that label_me label_me_2'],\n carol: ['of course'],\n}\n\nconst createLabel = async (\n bsky: TestBsky,\n opts: { uri: string; cid: string; val: string },\n) => {\n await bsky.db.db\n .insertInto('label')\n .values({\n uri: opts.uri,\n cid: opts.cid,\n val: opts.val,\n cts: new Date().toISOString(),\n neg: false,\n src: EXAMPLE_LABELER, // this did is also configured on labelsFromIssuerDids\n })\n .execute()\n}\n"]}
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../src/seed/basic.ts"],"names":[],"mappings":"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","sourcesContent":["import { TestBsky } from '../bsky.js'\nimport { EXAMPLE_LABELER } from '../const.js'\nimport { TestNetworkNoAppView } from '../network-no-appview.js'\nimport { TestNetwork } from '../network.js'\nimport { SeedClient } from './client.js'\nimport usersSeed from './users.js'\n\nexport default async function basicSeed(\n sc: SeedClient<TestNetwork | TestNetworkNoAppView>,\n users = true,\n) {\n if (users) await usersSeed(sc)\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 createdAtMicroseconds = () => ({\n createdAt: new Date().toISOString().replace('Z', '000Z'), // microseconds\n })\n const createdAtTimezone = () => ({\n createdAt: new Date().toISOString().replace('Z', '+00:00'), // iso timezone format\n })\n\n await sc.follow(alice, bob)\n await sc.follow(alice, carol)\n await sc.follow(alice, dan)\n await sc.follow(carol, alice)\n await sc.follow(bob, alice)\n await sc.follow(bob, carol, createdAtMicroseconds())\n await sc.follow(dan, bob, createdAtTimezone())\n await sc.post(alice, posts.alice[0], undefined, undefined, undefined, {\n labels: {\n $type: 'com.atproto.label.defs#selfLabels',\n values: [{ val: 'self-label' }],\n },\n })\n await sc.post(bob, posts.bob[0], undefined, undefined, undefined, {\n langs: ['en-US', 'i-klingon'],\n })\n const img1 = await sc.uploadFile(\n carol,\n '../dev-env/assets/key-landscape-small.jpg',\n 'image/jpeg',\n )\n const img2 = await sc.uploadFile(\n carol,\n '../dev-env/assets/key-alt.jpg',\n 'image/jpeg',\n )\n await sc.post(\n carol,\n posts.carol[0],\n undefined,\n [img1, img2], // Contains both images and a quote\n sc.posts[bob][0].ref,\n )\n await sc.post(dan, posts.dan[0])\n await sc.post(\n dan,\n posts.dan[1],\n [\n {\n index: { byteStart: 0, byteEnd: 18 },\n features: [\n {\n $type: `app.bsky.richtext.facet#mention`,\n did: alice,\n },\n ],\n },\n ],\n undefined,\n sc.posts[carol][0].ref, // This post contains an images embed\n )\n await sc.post(\n alice,\n posts.alice[1],\n undefined,\n undefined,\n undefined,\n createdAtMicroseconds(),\n )\n await sc.post(\n bob,\n posts.bob[1],\n undefined,\n undefined,\n undefined,\n createdAtTimezone(),\n )\n await sc.post(\n alice,\n posts.alice[2],\n undefined,\n undefined,\n sc.posts[dan][1].ref, // This post contains a record embed which contains an images embed\n )\n await sc.like(bob, sc.posts[alice][1].ref)\n await sc.like(bob, sc.posts[alice][2].ref)\n await sc.like(carol, sc.posts[alice][1].ref)\n await sc.like(carol, sc.posts[alice][2].ref)\n await sc.like(dan, sc.posts[alice][1].ref)\n await sc.like(alice, sc.posts[carol][0].ref, createdAtMicroseconds())\n await sc.like(bob, sc.posts[carol][0].ref, createdAtTimezone())\n\n const replyImg = await sc.uploadFile(\n bob,\n '../dev-env/assets/key-landscape-small.jpg',\n 'image/jpeg',\n )\n // must ensure ordering of replies in indexing\n await sc.network.processAll()\n await sc.reply(\n bob,\n sc.posts[alice][1].ref,\n sc.posts[alice][1].ref,\n replies.bob[0],\n undefined,\n [replyImg],\n )\n await sc.reply(\n carol,\n sc.posts[alice][1].ref,\n sc.posts[alice][1].ref,\n replies.carol[0],\n )\n await sc.network.processAll()\n const alicesReplyToBob = await sc.reply(\n alice,\n sc.posts[alice][1].ref,\n sc.replies[bob][0].ref,\n replies.alice[0],\n )\n await sc.repost(carol, sc.posts[dan][1].ref)\n await sc.repost(dan, sc.posts[alice][1].ref)\n await sc.repost(dan, alicesReplyToBob.ref)\n\n if (sc.network instanceof TestNetwork) {\n const bsky = sc.network.bsky\n await createLabel(bsky, {\n val: 'test-label',\n uri: sc.posts[alice][2].ref.uriStr,\n cid: sc.posts[alice][2].ref.cidStr,\n })\n await createLabel(bsky, {\n val: 'test-label',\n uri: sc.replies[bob][0].ref.uriStr,\n cid: sc.replies[bob][0].ref.cidStr,\n })\n await createLabel(bsky, {\n val: 'test-label-2',\n uri: sc.replies[bob][0].ref.uriStr,\n cid: sc.replies[bob][0].ref.cidStr,\n })\n }\n\n return sc\n}\n\nexport const posts = {\n alice: ['hey there', 'again', 'yoohoo label_me'],\n bob: ['bob back at it again!', 'bobby boy here', 'yoohoo'],\n carol: ['hi im carol'],\n dan: ['dan here!', '@alice.bluesky.xyz is the best'],\n}\n\nexport const replies = {\n alice: ['thanks bob'],\n bob: ['hear that label_me label_me_2'],\n carol: ['of course'],\n}\n\nconst createLabel = async (\n bsky: TestBsky,\n opts: { uri: string; cid: string; val: string },\n) => {\n await bsky.db.db\n .insertInto('label')\n .values({\n uri: opts.uri,\n cid: opts.cid,\n val: opts.val,\n cts: new Date().toISOString(),\n neg: false,\n src: EXAMPLE_LABELER, // this did is also configured on labelsFromIssuerDids\n })\n .execute()\n}\n"]}
@@ -1,4 +1,3 @@
1
1
  import { SeedClient } from './client.js';
2
- declare const _default: (sc: SeedClient, max?: number) => Promise<SeedClient<import("../network-no-appview.js").TestNetworkNoAppView>>;
3
- export default _default;
2
+ export default function usersBulkSeed(sc: SeedClient, max?: number): Promise<SeedClient<import("../network-no-appview.js").TestNetworkNoAppView>>;
4
3
  //# sourceMappingURL=users-bulk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"users-bulk.d.ts","sourceRoot":"","sources":["../../src/seed/users-bulk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;6BAEd,UAAU"}
1
+ {"version":3,"file":"users-bulk.d.ts","sourceRoot":"","sources":["../../src/seed/users-bulk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,wBAA8B,aAAa,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,SAAW,gFAqBzE"}
@@ -1,5 +1,5 @@
1
1
  import { chunkArray } from '@atproto/common-web';
2
- export default async (sc, max = Infinity) => {
2
+ export default async function usersBulkSeed(sc, max = Infinity) {
3
3
  // @TODO when these are run in parallel, seem to get an intermittent
4
4
  // "TypeError: fetch failed" while running the tests.
5
5
  const userSubset = users.slice(0, Math.min(max, users.length));
@@ -18,7 +18,7 @@ export default async (sc, max = Infinity) => {
18
18
  }));
19
19
  }
20
20
  return sc;
21
- };
21
+ }
22
22
  const users = [
23
23
  { handle: 'silas77.test', displayName: 'Tanya Denesik' },
24
24
  { handle: 'nicolas-krajcik10.test', displayName: null },
@@ -1 +1 @@
1
- {"version":3,"file":"users-bulk.js","sourceRoot":"","sources":["../../src/seed/users-bulk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGhD,eAAe,KAAK,EAAE,EAAc,EAAE,GAAG,GAAG,QAAQ,EAAE,EAAE;IACtD,oEAAoE;IACpE,qDAAqD;IACrD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;YACpC,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE;gBAC7B,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,GAAG,MAAM,WAAW;aAC5B,CAAC,CAAA;YACF,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;YAC1D,CAAC;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,KAAK,GAAG;IACZ,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE;IACxD,EAAE,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,IAAI,EAAE;IACvD,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE;IACpD,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,sBAAsB,EAAE;IACxE,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAClE,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE;IAC9C,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE;IACzD,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE;IACtD,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,IAAI,EAAE;IACrD,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,oBAAoB,EAAE;IAC5D,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;IACnD,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,IAAI,EAAE;IACtD,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,iBAAiB,EAAE;IACnE,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,mBAAmB,EAAE;IACpE,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,sBAAsB,EAAE;IAChE,EAAE,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,iBAAiB,EAAE;IACpE,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,aAAa,EAAE;IAC7D,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE;IAClD,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,eAAe,EAAE;IAC9D,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,IAAI,EAAE;IAChD,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE;IAClD,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE;IAC3C,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,IAAI,EAAE;IACtD,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE;IAC3D,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE;IAC5C,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE;IAClD,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,cAAc,EAAE;IAC9D,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;IACnD,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,qBAAqB,EAAE;IAC/D,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,IAAI,EAAE;IACtD,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;IACnD,EAAE,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,IAAI,EAAE;IACvD,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,qBAAqB,EAAE;IAClE,EAAE,MAAM,EAAE,yBAAyB,EAAE,WAAW,EAAE,oBAAoB,EAAE;IACxE,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,YAAY,EAAE;IAC7D,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,IAAI,EAAE;IAChD,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE;IAC/C,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,oBAAoB,EAAE;IAChE,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE;IACxD,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7C,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7C,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,IAAI,EAAE;IACtD,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE;IAC1D,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,IAAI,EAAE;IACtD,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,eAAe,EAAE;IAC9D,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE;IAC9C,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7C,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAC/D,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE;IAC5C,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7C,EAAE,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,iBAAiB,EAAE;IACpE,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,IAAI,EAAE;IACrD,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,cAAc,EAAE;IAC9D,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAC9D,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,IAAI,EAAE;IACtD,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,IAAI,EAAE;IACrD,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE;IAC9C,EAAE,MAAM,EAAE,yBAAyB,EAAE,WAAW,EAAE,mBAAmB,EAAE;IACvE,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE;IAC5D,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;IACnD,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE;IACvD,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB,EAAE;IAChE,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,IAAI,EAAE;IACjD,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE;IACxD,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,eAAe,EAAE;IACjE,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7C,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7C,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,aAAa,EAAE;IAC9D,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE;IACpD,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE;IAClD,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,IAAI,EAAE;IACrD,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,IAAI,EAAE;IACrD,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,IAAI,EAAE;IAChD,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,iBAAiB,EAAE;IACnE,EAAE,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,IAAI,EAAE;IACvD,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;IACnD,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAClE,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7C,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAChE,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE;IAClD,EAAE,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,IAAI,EAAE;IACvD,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAC3D,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7C,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE;IAC7D,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;IACnD,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,YAAY,EAAE;IAC5D,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE;IAC5D,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,oBAAoB,EAAE;IACpE,EAAE,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,YAAY,EAAE;IAC/D,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;IACnD,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE;IACpD,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAC1D,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAClE,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7C,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE;IAC5C,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,qBAAqB,EAAE;IACpE,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE;IAC9C,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE;IACtD,EAAE,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,eAAe,EAAE;IAClE,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAC1D,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE;IAC/C,EAAE,MAAM,EAAE,yBAAyB,EAAE,WAAW,EAAE,eAAe,EAAE;IACnE,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,IAAI,EAAE;IACtD,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,eAAe,EAAE;IAChE,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE;IAC1D,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE;IAC3D,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE;IAC3C,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,qBAAqB,EAAE;IAChE,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE;IACxD,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,IAAI,EAAE;IACrD,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE;IAClD,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,eAAe,EAAE;IAChE,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,cAAc,EAAE;IAC9D,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;IACnD,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,IAAI,EAAE;IACjD,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAAE;IAC3D,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE;IACvD,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE;IACpD,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE;IACzD,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE;IAC3D,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE;IACpD,EAAE,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,eAAe,EAAE;IAClE,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;IACnD,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE;IACpD,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE;IAC3D,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE;IAC7D,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,kBAAkB,EAAE;IACpE,EAAE,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,IAAI,EAAE;IACvD,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC3D,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE;IAC9C,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE;IAC3D,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE;IAClD,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7C,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,kBAAkB,EAAE;IACjE,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;IACnD,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,eAAe,EAAE;IAChE,EAAE,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,kBAAkB,EAAE;IACrE,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE;IACtD,EAAE,MAAM,EAAE,yBAAyB,EAAE,WAAW,EAAE,IAAI,EAAE;IACxD,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;IACnD,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;IACnD,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,IAAI,EAAE;IAChD,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE;IACpD,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE;IAC9C,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;IACnD,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,cAAc,EAAE;IAChE,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,gBAAgB,EAAE;IACjE,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,mBAAmB,EAAE;IACrE,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,oBAAoB,EAAE;IACtE,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE;IAC7D,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE;IACzD,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE;IAC3D,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,IAAI,EAAE;IACrD,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE;IACvD,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE;IACpD,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,qBAAqB,EAAE;IACrE,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,cAAc,EAAE;IAC7D,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;IACnD,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,IAAI,EAAE;IACjD,EAAE,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,eAAe,EAAE;IAClE,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;IACnD,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE;IAC3C,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAC5D,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7C,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,cAAc,EAAE;IAC/D,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE;IAC/C,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE;IAC3D,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE;IACpD,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,eAAe,EAAE;IAC9D,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE;IAC/C,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,eAAe,EAAE;IAChE,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE;IAC/C,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE;IAC9C,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAC1D,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE;IAC9C,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,IAAI,EAAE;IACtD,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,qBAAqB,EAAE;IAClE,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE;IAC3C,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE;IACpD,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAClE,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,qBAAqB,EAAE;IACvE,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE;IAC9C,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,uBAAuB,EAAE;IACtE,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE;IAClD,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAClE,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,IAAI,EAAE;IACrD,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7C,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,IAAI,EAAE;IACjD,EAAE,MAAM,EAAE,yBAAyB,EAAE,WAAW,EAAE,IAAI,EAAE;IACxD,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7C,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAC7D,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,mBAAmB,EAAE;IACnE,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,IAAI,EAAE;IAChD,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,IAAI,EAAE;IACjD,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE;IAC9C,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,aAAa,EAAE;IAC5D,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE;IACpD,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE;IACpD,EAAE,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,gBAAgB,EAAE;IACnE,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE;CACrD,CAAA","sourcesContent":["import { chunkArray } from '@atproto/common-web'\nimport { SeedClient } from './client.js'\n\nexport default async (sc: SeedClient, max = Infinity) => {\n // @TODO when these are run in parallel, seem to get an intermittent\n // \"TypeError: fetch failed\" while running the tests.\n const userSubset = users.slice(0, Math.min(max, users.length))\n const chunks = chunkArray(userSubset, 50)\n for (const chunk of chunks) {\n await Promise.all(\n chunk.map(async (user) => {\n const { handle, displayName } = user\n await sc.createAccount(handle, {\n handle: handle,\n password: 'password',\n email: `${handle}@bsky.app`,\n })\n if (displayName !== null) {\n await sc.createProfile(sc.dids[handle], displayName, '')\n }\n }),\n )\n }\n return sc\n}\n\nconst users = [\n { handle: 'silas77.test', displayName: 'Tanya Denesik' },\n { handle: 'nicolas-krajcik10.test', displayName: null },\n { handle: 'lennie-strosin.test', displayName: null },\n { handle: 'aliya-hodkiewicz.test', displayName: 'Carlton Abernathy IV' },\n { handle: 'jeffrey-sawayn87.test', displayName: 'Patrick Sawayn' },\n { handle: 'kaycee66.test', displayName: null },\n { handle: 'adrienne49.test', displayName: 'Kim Streich' },\n { handle: 'magnus53.test', displayName: 'Sally Funk' },\n { handle: 'charles-spencer.test', displayName: null },\n { handle: 'elta48.test', displayName: 'Dr. Lowell DuBuque' },\n { handle: 'tressa-senger.test', displayName: null },\n { handle: 'marietta-zboncak.test', displayName: null },\n { handle: 'alexander-hickle.test', displayName: 'Winifred Harber' },\n { handle: 'rodger-maggio24.test', displayName: 'Yolanda VonRueden' },\n { handle: 'janiya48.test', displayName: 'Miss Terrell Ziemann' },\n { handle: 'cayla-marquardt39.test', displayName: 'Rachel Kshlerin' },\n { handle: 'jonathan-green.test', displayName: 'Erica Mertz' },\n { handle: 'brycen-smith.test', displayName: null },\n { handle: 'leonel-koch43.test', displayName: 'Karl Bosco IV' },\n { handle: 'fidel-rath.test', displayName: null },\n { handle: 'raleigh-metz.test', displayName: null },\n { handle: 'kim41.test', displayName: null },\n { handle: 'roderick-dibbert.test', displayName: null },\n { handle: 'alec-bergnaum.test', displayName: 'Cody Berge' },\n { handle: 'sven70.test', displayName: null },\n { handle: 'ola-oconnell.test', displayName: null },\n { handle: 'chauncey-klein.test', displayName: 'Kelvin Klein' },\n { handle: 'ariel-krajcik.test', displayName: null },\n { handle: 'murphy35.test', displayName: 'Mrs. Clifford Mertz' },\n { handle: 'joshuah-parker11.test', displayName: null },\n { handle: 'dewitt-wunsch.test', displayName: null },\n { handle: 'kelton-nitzsche43.test', displayName: null },\n { handle: 'dock-mann91.test', displayName: 'Miss Danielle Weber' },\n { handle: 'herman-gleichner95.test', displayName: 'Kelli Schinner III' },\n { handle: 'gerda-marquardt.test', displayName: 'Myron Wolf' },\n { handle: 'jamil-batz.test', displayName: null },\n { handle: 'hilario84.test', displayName: null },\n { handle: 'kayli-bode.test', displayName: 'Miss Floyd McClure' },\n { handle: 'elouise28.test', displayName: 'Alberta Fay' },\n { handle: 'leann49.test', displayName: null },\n { handle: 'javon24.test', displayName: null },\n { handle: 'polly-shanahan45.test', displayName: null },\n { handle: 'rosamond38.test', displayName: 'Karl Goyette' },\n { handle: 'fredrick-mueller.test', displayName: null },\n { handle: 'reina-runte33.test', displayName: 'Pablo Schmidt' },\n { handle: 'bianka33.test', displayName: null },\n { handle: 'carlos6.test', displayName: null },\n { handle: 'jermain-smith.test', displayName: 'Eileen Stroman' },\n { handle: 'gina97.test', displayName: null },\n { handle: 'kiera97.test', displayName: null },\n { handle: 'savannah-botsford.test', displayName: 'Darnell Kuvalis' },\n { handle: 'lilliana-waters.test', displayName: null },\n { handle: 'hailey-stroman.test', displayName: 'Elsa Schaden' },\n { handle: 'dortha-terry.test', displayName: 'Nicole Bradtke' },\n { handle: 'hank-powlowski32.test', displayName: null },\n { handle: 'ervin-daugherty.test', displayName: null },\n { handle: 'nannie18.test', displayName: null },\n { handle: 'gilberto-watsica65.test', displayName: 'Ms. Ida Wilderman' },\n { handle: 'kara-zieme58.test', displayName: 'Andres Towne' },\n { handle: 'crystal-boyle.test', displayName: null },\n { handle: 'tobin63.test', displayName: 'Alex Johnson' },\n { handle: 'isai-kunze72.test', displayName: 'Marion Dickinson' },\n { handle: 'paris-swift.test', displayName: null },\n { handle: 'nestor90.test', displayName: 'Travis Hoppe' },\n { handle: 'aliyah-flatley12.test', displayName: 'Loren Krajcik' },\n { handle: 'maiya42.test', displayName: null },\n { handle: 'dovie33.test', displayName: null },\n { handle: 'kendra-ledner80.test', displayName: 'Sergio Hane' },\n { handle: 'greyson-tromp3.test', displayName: null },\n { handle: 'precious-fay.test', displayName: null },\n { handle: 'kiana-schmitt39.test', displayName: null },\n { handle: 'rhianna-stamm29.test', displayName: null },\n { handle: 'tiara-mohr.test', displayName: null },\n { handle: 'eleazar-balist70.test', displayName: 'Gordon Weissnat' },\n { handle: 'bettie-bogisich96.test', displayName: null },\n { handle: 'lura-jacobi55.test', displayName: null },\n { handle: 'santa-hermann78.test', displayName: 'Melissa Johnson' },\n { handle: 'dylan61.test', displayName: null },\n { handle: 'ryley-kerluke.test', displayName: 'Alexander Purdy' },\n { handle: 'moises-bins8.test', displayName: null },\n { handle: 'angelita-schaef27.test', displayName: null },\n { handle: 'natasha83.test', displayName: 'Dean Romaguera' },\n { handle: 'sydni48.test', displayName: null },\n { handle: 'darrion91.test', displayName: 'Jeanette Weimann' },\n { handle: 'reynold-ortiz.test', displayName: null },\n { handle: 'hassie-schuppe.test', displayName: 'Rita Zieme' },\n { handle: 'clark-stehr8.test', displayName: 'Sammy Larkin' },\n { handle: 'preston-harris.test', displayName: 'Ms. Bradford Thiel' },\n { handle: 'benedict-schulist.test', displayName: 'Todd Stark' },\n { handle: 'alden-wolff22.test', displayName: null },\n { handle: 'joel-gulgowski.test', displayName: null },\n { handle: 'joanie56.test', displayName: 'Ms. Darin Cole' },\n { handle: 'israel-hermann0.test', displayName: 'Wilbur Schuster' },\n { handle: 'tracy56.test', displayName: null },\n { handle: 'kyle72.test', displayName: null },\n { handle: 'gunnar-dare70.test', displayName: 'Mrs. Angelo Keeling' },\n { handle: 'justus58.test', displayName: null },\n { handle: 'brooke24.test', displayName: 'Clint Ward' },\n { handle: 'angela-morissette.test', displayName: 'Jim Kertzmann' },\n { handle: 'amy-bins.test', displayName: 'Angelina Hills' },\n { handle: 'susanna81.test', displayName: null },\n { handle: 'jailyn-hettinger50.test', displayName: 'Sheldon Ratke' },\n { handle: 'wendell-hansen54.test', displayName: null },\n { handle: 'jennyfer-spinka.test', displayName: 'Leticia Blick' },\n { handle: 'alexandrea31.test', displayName: 'Leslie Von' },\n { handle: 'hazle-davis.test', displayName: 'Ella Farrell' },\n { handle: 'alta6.test', displayName: null },\n { handle: 'sherwood4.test', displayName: 'Dr. Hattie Nienow I' },\n { handle: 'marilie24.test', displayName: 'Gene Howell' },\n { handle: 'jimmie-feeney82.test', displayName: null },\n { handle: 'trisha-ohara.test', displayName: null },\n { handle: 'jake-schuster33.test', displayName: 'Raymond Price' },\n { handle: 'shane-torphy52.test', displayName: 'Sadie Carter' },\n { handle: 'nakia-kuphal8.test', displayName: null },\n { handle: 'lea-trantow.test', displayName: null },\n { handle: 'joel62.test', displayName: 'Veronica Nitzsche' },\n { handle: 'roosevelt33.test', displayName: 'Jay Moen' },\n { handle: 'talon-okeefe85.test', displayName: null },\n { handle: 'herman-dare.test', displayName: 'Eric White' },\n { handle: 'flavio-fay.test', displayName: 'John Lindgren' },\n { handle: 'elyse-prosacco.test', displayName: null },\n { handle: 'jessyca-wiegand23.test', displayName: 'Debra Lockman' },\n { handle: 'ara-spencer41.test', displayName: null },\n { handle: 'frederic-fadel.test', displayName: null },\n { handle: 'zora-gerlach.test', displayName: 'Noel Hansen' },\n { handle: 'spencer4.test', displayName: 'Marjorie Gorczany' },\n { handle: 'gage-wilkinson33.test', displayName: 'Preston Schoen V' },\n { handle: 'kiley-runolfsson1.test', displayName: null },\n { handle: 'ramona80.test', displayName: 'Sylvia Dietrich' },\n { handle: 'rashad97.test', displayName: null },\n { handle: 'kylie76.test', displayName: 'Josefina Pfeffer' },\n { handle: 'alisha-zieme.test', displayName: null },\n { handle: 'claud79.test', displayName: null },\n { handle: 'jairo-kuvalis.test', displayName: 'Derrick Jacobson' },\n { handle: 'delfina-emard.test', displayName: null },\n { handle: 'waino-gutmann20.test', displayName: 'Wesley Kemmer' },\n { handle: 'arvid-hermiston49.test', displayName: 'Vernon Towne PhD' },\n { handle: 'hans79.test', displayName: 'Rex Hartmann' },\n { handle: 'karlee-greenholt40.test', displayName: null },\n { handle: 'nels-cummings.test', displayName: null },\n { handle: 'andrew-maggio.test', displayName: null },\n { handle: 'stephany75.test', displayName: null },\n { handle: 'alba-lueilwitz.test', displayName: null },\n { handle: 'fermin47.test', displayName: null },\n { handle: 'milo-quitzon3.test', displayName: null },\n { handle: 'eudora-dietrich4.test', displayName: 'Carol Littel' },\n { handle: 'uriel-witting12.test', displayName: 'Sophia Schmidt' },\n { handle: 'reuben-stracke48.test', displayName: 'Darrell Walker MD' },\n { handle: 'letitia-sawayn11.test', displayName: 'Mrs. Sophie Reilly' },\n { handle: 'macy-schaden.test', displayName: 'Lindsey Klein' },\n { handle: 'imelda61.test', displayName: 'Shannon Beier' },\n { handle: 'oswald-bailey.test', displayName: 'Angel Mann' },\n { handle: 'pattie-fisher34.test', displayName: null },\n { handle: 'loyce95.test', displayName: 'Claude Tromp' },\n { handle: 'melyna-zboncak.test', displayName: null },\n { handle: 'rowan-parisian.test', displayName: 'Mr. Veronica Feeney' },\n { handle: 'lois-blanda20.test', displayName: 'Todd Rolfson' },\n { handle: 'turner-bali76.test', displayName: null },\n { handle: 'dee-hoppe65.test', displayName: null },\n { handle: 'nikko-rosenbaum60.test', displayName: 'Joann Gutmann' },\n { handle: 'cornell-rom53.test', displayName: null },\n { handle: 'zack3.test', displayName: null },\n { handle: 'fredrick41.test', displayName: 'Julius Kreiger' },\n { handle: 'elwyn62.test', displayName: null },\n { handle: 'isaias-hirthe37.test', displayName: 'Louis Cremin' },\n { handle: 'ronaldo36.test', displayName: null },\n { handle: 'jesse34.test', displayName: 'Bridget Schulist' },\n { handle: 'darrel-mills17.test', displayName: null },\n { handle: 'euna-mayert92.test', displayName: 'Grant Lang II' },\n { handle: 'terrell92.test', displayName: null },\n { handle: 'alyson-bogisich.test', displayName: 'Dana MacGyver' },\n { handle: 'nicolas65.test', displayName: null },\n { handle: 'bernita8.test', displayName: null },\n { handle: 'gunner23.test', displayName: 'Maggie DuBuque' },\n { handle: 'phoebe80.test', displayName: null },\n { handle: 'cory-cruickshank.test', displayName: null },\n { handle: 'conor-price.test', displayName: 'Ralph Daugherty III' },\n { handle: 'rae91.test', displayName: null },\n { handle: 'abigale-cronin.test', displayName: null },\n { handle: 'aileen-reilly90.test', displayName: 'Charles Stanton' },\n { handle: 'adrianna-hansen6.test', displayName: 'Elbert Langworth IV' },\n { handle: 'pierre54.test', displayName: null },\n { handle: 'jaida-stark62.test', displayName: 'Justin Stoltenberg MD' },\n { handle: 'wade-witting.test', displayName: null },\n { handle: 'yvonne-predovic5.test', displayName: 'Gregory Hamill' },\n { handle: 'spencer-dubuque.test', displayName: null },\n { handle: 'randi44.test', displayName: null },\n { handle: 'maye-grimes.test', displayName: null },\n { handle: 'margarette-effertz.test', displayName: null },\n { handle: 'aimee98.test', displayName: null },\n { handle: 'jaren-veum0.test', displayName: 'Dr. Omar Wolff' },\n { handle: 'ariel-abbott54.test', displayName: 'Emanuel Powlowski' },\n { handle: 'mercedes23.test', displayName: null },\n { handle: 'jarrett-orn.test', displayName: null },\n { handle: 'damion88.test', displayName: null },\n { handle: 'nayeli-koss73.test', displayName: 'Johnny Lang' },\n { handle: 'cara-wiegand69.test', displayName: null },\n { handle: 'gideon-ohara51.test', displayName: null },\n { handle: 'carolina-mcderm77.test', displayName: 'Latoya Windler' },\n { handle: 'danyka90.test', displayName: 'Hope Kub' },\n]\n"]}
1
+ {"version":3,"file":"users-bulk.js","sourceRoot":"","sources":["../../src/seed/users-bulk.ts"],"names":[],"mappings":"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","sourcesContent":["import { chunkArray } from '@atproto/common-web'\nimport { SeedClient } from './client.js'\n\nexport default async function usersBulkSeed(sc: SeedClient, max = Infinity) {\n // @TODO when these are run in parallel, seem to get an intermittent\n // \"TypeError: fetch failed\" while running the tests.\n const userSubset = users.slice(0, Math.min(max, users.length))\n const chunks = chunkArray(userSubset, 50)\n for (const chunk of chunks) {\n await Promise.all(\n chunk.map(async (user) => {\n const { handle, displayName } = user\n await sc.createAccount(handle, {\n handle: handle,\n password: 'password',\n email: `${handle}@bsky.app`,\n })\n if (displayName !== null) {\n await sc.createProfile(sc.dids[handle], displayName, '')\n }\n }),\n )\n }\n return sc\n}\n\nconst users = [\n { handle: 'silas77.test', displayName: 'Tanya Denesik' },\n { handle: 'nicolas-krajcik10.test', displayName: null },\n { handle: 'lennie-strosin.test', displayName: null },\n { handle: 'aliya-hodkiewicz.test', displayName: 'Carlton Abernathy IV' },\n { handle: 'jeffrey-sawayn87.test', displayName: 'Patrick Sawayn' },\n { handle: 'kaycee66.test', displayName: null },\n { handle: 'adrienne49.test', displayName: 'Kim Streich' },\n { handle: 'magnus53.test', displayName: 'Sally Funk' },\n { handle: 'charles-spencer.test', displayName: null },\n { handle: 'elta48.test', displayName: 'Dr. Lowell DuBuque' },\n { handle: 'tressa-senger.test', displayName: null },\n { handle: 'marietta-zboncak.test', displayName: null },\n { handle: 'alexander-hickle.test', displayName: 'Winifred Harber' },\n { handle: 'rodger-maggio24.test', displayName: 'Yolanda VonRueden' },\n { handle: 'janiya48.test', displayName: 'Miss Terrell Ziemann' },\n { handle: 'cayla-marquardt39.test', displayName: 'Rachel Kshlerin' },\n { handle: 'jonathan-green.test', displayName: 'Erica Mertz' },\n { handle: 'brycen-smith.test', displayName: null },\n { handle: 'leonel-koch43.test', displayName: 'Karl Bosco IV' },\n { handle: 'fidel-rath.test', displayName: null },\n { handle: 'raleigh-metz.test', displayName: null },\n { handle: 'kim41.test', displayName: null },\n { handle: 'roderick-dibbert.test', displayName: null },\n { handle: 'alec-bergnaum.test', displayName: 'Cody Berge' },\n { handle: 'sven70.test', displayName: null },\n { handle: 'ola-oconnell.test', displayName: null },\n { handle: 'chauncey-klein.test', displayName: 'Kelvin Klein' },\n { handle: 'ariel-krajcik.test', displayName: null },\n { handle: 'murphy35.test', displayName: 'Mrs. Clifford Mertz' },\n { handle: 'joshuah-parker11.test', displayName: null },\n { handle: 'dewitt-wunsch.test', displayName: null },\n { handle: 'kelton-nitzsche43.test', displayName: null },\n { handle: 'dock-mann91.test', displayName: 'Miss Danielle Weber' },\n { handle: 'herman-gleichner95.test', displayName: 'Kelli Schinner III' },\n { handle: 'gerda-marquardt.test', displayName: 'Myron Wolf' },\n { handle: 'jamil-batz.test', displayName: null },\n { handle: 'hilario84.test', displayName: null },\n { handle: 'kayli-bode.test', displayName: 'Miss Floyd McClure' },\n { handle: 'elouise28.test', displayName: 'Alberta Fay' },\n { handle: 'leann49.test', displayName: null },\n { handle: 'javon24.test', displayName: null },\n { handle: 'polly-shanahan45.test', displayName: null },\n { handle: 'rosamond38.test', displayName: 'Karl Goyette' },\n { handle: 'fredrick-mueller.test', displayName: null },\n { handle: 'reina-runte33.test', displayName: 'Pablo Schmidt' },\n { handle: 'bianka33.test', displayName: null },\n { handle: 'carlos6.test', displayName: null },\n { handle: 'jermain-smith.test', displayName: 'Eileen Stroman' },\n { handle: 'gina97.test', displayName: null },\n { handle: 'kiera97.test', displayName: null },\n { handle: 'savannah-botsford.test', displayName: 'Darnell Kuvalis' },\n { handle: 'lilliana-waters.test', displayName: null },\n { handle: 'hailey-stroman.test', displayName: 'Elsa Schaden' },\n { handle: 'dortha-terry.test', displayName: 'Nicole Bradtke' },\n { handle: 'hank-powlowski32.test', displayName: null },\n { handle: 'ervin-daugherty.test', displayName: null },\n { handle: 'nannie18.test', displayName: null },\n { handle: 'gilberto-watsica65.test', displayName: 'Ms. Ida Wilderman' },\n { handle: 'kara-zieme58.test', displayName: 'Andres Towne' },\n { handle: 'crystal-boyle.test', displayName: null },\n { handle: 'tobin63.test', displayName: 'Alex Johnson' },\n { handle: 'isai-kunze72.test', displayName: 'Marion Dickinson' },\n { handle: 'paris-swift.test', displayName: null },\n { handle: 'nestor90.test', displayName: 'Travis Hoppe' },\n { handle: 'aliyah-flatley12.test', displayName: 'Loren Krajcik' },\n { handle: 'maiya42.test', displayName: null },\n { handle: 'dovie33.test', displayName: null },\n { handle: 'kendra-ledner80.test', displayName: 'Sergio Hane' },\n { handle: 'greyson-tromp3.test', displayName: null },\n { handle: 'precious-fay.test', displayName: null },\n { handle: 'kiana-schmitt39.test', displayName: null },\n { handle: 'rhianna-stamm29.test', displayName: null },\n { handle: 'tiara-mohr.test', displayName: null },\n { handle: 'eleazar-balist70.test', displayName: 'Gordon Weissnat' },\n { handle: 'bettie-bogisich96.test', displayName: null },\n { handle: 'lura-jacobi55.test', displayName: null },\n { handle: 'santa-hermann78.test', displayName: 'Melissa Johnson' },\n { handle: 'dylan61.test', displayName: null },\n { handle: 'ryley-kerluke.test', displayName: 'Alexander Purdy' },\n { handle: 'moises-bins8.test', displayName: null },\n { handle: 'angelita-schaef27.test', displayName: null },\n { handle: 'natasha83.test', displayName: 'Dean Romaguera' },\n { handle: 'sydni48.test', displayName: null },\n { handle: 'darrion91.test', displayName: 'Jeanette Weimann' },\n { handle: 'reynold-ortiz.test', displayName: null },\n { handle: 'hassie-schuppe.test', displayName: 'Rita Zieme' },\n { handle: 'clark-stehr8.test', displayName: 'Sammy Larkin' },\n { handle: 'preston-harris.test', displayName: 'Ms. Bradford Thiel' },\n { handle: 'benedict-schulist.test', displayName: 'Todd Stark' },\n { handle: 'alden-wolff22.test', displayName: null },\n { handle: 'joel-gulgowski.test', displayName: null },\n { handle: 'joanie56.test', displayName: 'Ms. Darin Cole' },\n { handle: 'israel-hermann0.test', displayName: 'Wilbur Schuster' },\n { handle: 'tracy56.test', displayName: null },\n { handle: 'kyle72.test', displayName: null },\n { handle: 'gunnar-dare70.test', displayName: 'Mrs. Angelo Keeling' },\n { handle: 'justus58.test', displayName: null },\n { handle: 'brooke24.test', displayName: 'Clint Ward' },\n { handle: 'angela-morissette.test', displayName: 'Jim Kertzmann' },\n { handle: 'amy-bins.test', displayName: 'Angelina Hills' },\n { handle: 'susanna81.test', displayName: null },\n { handle: 'jailyn-hettinger50.test', displayName: 'Sheldon Ratke' },\n { handle: 'wendell-hansen54.test', displayName: null },\n { handle: 'jennyfer-spinka.test', displayName: 'Leticia Blick' },\n { handle: 'alexandrea31.test', displayName: 'Leslie Von' },\n { handle: 'hazle-davis.test', displayName: 'Ella Farrell' },\n { handle: 'alta6.test', displayName: null },\n { handle: 'sherwood4.test', displayName: 'Dr. Hattie Nienow I' },\n { handle: 'marilie24.test', displayName: 'Gene Howell' },\n { handle: 'jimmie-feeney82.test', displayName: null },\n { handle: 'trisha-ohara.test', displayName: null },\n { handle: 'jake-schuster33.test', displayName: 'Raymond Price' },\n { handle: 'shane-torphy52.test', displayName: 'Sadie Carter' },\n { handle: 'nakia-kuphal8.test', displayName: null },\n { handle: 'lea-trantow.test', displayName: null },\n { handle: 'joel62.test', displayName: 'Veronica Nitzsche' },\n { handle: 'roosevelt33.test', displayName: 'Jay Moen' },\n { handle: 'talon-okeefe85.test', displayName: null },\n { handle: 'herman-dare.test', displayName: 'Eric White' },\n { handle: 'flavio-fay.test', displayName: 'John Lindgren' },\n { handle: 'elyse-prosacco.test', displayName: null },\n { handle: 'jessyca-wiegand23.test', displayName: 'Debra Lockman' },\n { handle: 'ara-spencer41.test', displayName: null },\n { handle: 'frederic-fadel.test', displayName: null },\n { handle: 'zora-gerlach.test', displayName: 'Noel Hansen' },\n { handle: 'spencer4.test', displayName: 'Marjorie Gorczany' },\n { handle: 'gage-wilkinson33.test', displayName: 'Preston Schoen V' },\n { handle: 'kiley-runolfsson1.test', displayName: null },\n { handle: 'ramona80.test', displayName: 'Sylvia Dietrich' },\n { handle: 'rashad97.test', displayName: null },\n { handle: 'kylie76.test', displayName: 'Josefina Pfeffer' },\n { handle: 'alisha-zieme.test', displayName: null },\n { handle: 'claud79.test', displayName: null },\n { handle: 'jairo-kuvalis.test', displayName: 'Derrick Jacobson' },\n { handle: 'delfina-emard.test', displayName: null },\n { handle: 'waino-gutmann20.test', displayName: 'Wesley Kemmer' },\n { handle: 'arvid-hermiston49.test', displayName: 'Vernon Towne PhD' },\n { handle: 'hans79.test', displayName: 'Rex Hartmann' },\n { handle: 'karlee-greenholt40.test', displayName: null },\n { handle: 'nels-cummings.test', displayName: null },\n { handle: 'andrew-maggio.test', displayName: null },\n { handle: 'stephany75.test', displayName: null },\n { handle: 'alba-lueilwitz.test', displayName: null },\n { handle: 'fermin47.test', displayName: null },\n { handle: 'milo-quitzon3.test', displayName: null },\n { handle: 'eudora-dietrich4.test', displayName: 'Carol Littel' },\n { handle: 'uriel-witting12.test', displayName: 'Sophia Schmidt' },\n { handle: 'reuben-stracke48.test', displayName: 'Darrell Walker MD' },\n { handle: 'letitia-sawayn11.test', displayName: 'Mrs. Sophie Reilly' },\n { handle: 'macy-schaden.test', displayName: 'Lindsey Klein' },\n { handle: 'imelda61.test', displayName: 'Shannon Beier' },\n { handle: 'oswald-bailey.test', displayName: 'Angel Mann' },\n { handle: 'pattie-fisher34.test', displayName: null },\n { handle: 'loyce95.test', displayName: 'Claude Tromp' },\n { handle: 'melyna-zboncak.test', displayName: null },\n { handle: 'rowan-parisian.test', displayName: 'Mr. Veronica Feeney' },\n { handle: 'lois-blanda20.test', displayName: 'Todd Rolfson' },\n { handle: 'turner-bali76.test', displayName: null },\n { handle: 'dee-hoppe65.test', displayName: null },\n { handle: 'nikko-rosenbaum60.test', displayName: 'Joann Gutmann' },\n { handle: 'cornell-rom53.test', displayName: null },\n { handle: 'zack3.test', displayName: null },\n { handle: 'fredrick41.test', displayName: 'Julius Kreiger' },\n { handle: 'elwyn62.test', displayName: null },\n { handle: 'isaias-hirthe37.test', displayName: 'Louis Cremin' },\n { handle: 'ronaldo36.test', displayName: null },\n { handle: 'jesse34.test', displayName: 'Bridget Schulist' },\n { handle: 'darrel-mills17.test', displayName: null },\n { handle: 'euna-mayert92.test', displayName: 'Grant Lang II' },\n { handle: 'terrell92.test', displayName: null },\n { handle: 'alyson-bogisich.test', displayName: 'Dana MacGyver' },\n { handle: 'nicolas65.test', displayName: null },\n { handle: 'bernita8.test', displayName: null },\n { handle: 'gunner23.test', displayName: 'Maggie DuBuque' },\n { handle: 'phoebe80.test', displayName: null },\n { handle: 'cory-cruickshank.test', displayName: null },\n { handle: 'conor-price.test', displayName: 'Ralph Daugherty III' },\n { handle: 'rae91.test', displayName: null },\n { handle: 'abigale-cronin.test', displayName: null },\n { handle: 'aileen-reilly90.test', displayName: 'Charles Stanton' },\n { handle: 'adrianna-hansen6.test', displayName: 'Elbert Langworth IV' },\n { handle: 'pierre54.test', displayName: null },\n { handle: 'jaida-stark62.test', displayName: 'Justin Stoltenberg MD' },\n { handle: 'wade-witting.test', displayName: null },\n { handle: 'yvonne-predovic5.test', displayName: 'Gregory Hamill' },\n { handle: 'spencer-dubuque.test', displayName: null },\n { handle: 'randi44.test', displayName: null },\n { handle: 'maye-grimes.test', displayName: null },\n { handle: 'margarette-effertz.test', displayName: null },\n { handle: 'aimee98.test', displayName: null },\n { handle: 'jaren-veum0.test', displayName: 'Dr. Omar Wolff' },\n { handle: 'ariel-abbott54.test', displayName: 'Emanuel Powlowski' },\n { handle: 'mercedes23.test', displayName: null },\n { handle: 'jarrett-orn.test', displayName: null },\n { handle: 'damion88.test', displayName: null },\n { handle: 'nayeli-koss73.test', displayName: 'Johnny Lang' },\n { handle: 'cara-wiegand69.test', displayName: null },\n { handle: 'gideon-ohara51.test', displayName: null },\n { handle: 'carolina-mcderm77.test', displayName: 'Latoya Windler' },\n { handle: 'danyka90.test', displayName: 'Hope Kub' },\n]\n"]}
@@ -1,4 +1,3 @@
1
1
  import { SeedClient } from './client.js';
2
- declare const _default: (sc: SeedClient) => Promise<SeedClient<import("../network-no-appview.js").TestNetworkNoAppView>>;
3
- export default _default;
2
+ export default function usersSeed(sc: SeedClient): Promise<SeedClient<import("../network-no-appview.js").TestNetworkNoAppView>>;
4
3
  //# sourceMappingURL=users.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/seed/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;6BAEd,UAAU"}
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/seed/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,wBAA8B,SAAS,CAAC,EAAE,EAAE,UAAU,gFA0BrD"}
@@ -1,4 +1,4 @@
1
- export default async (sc) => {
1
+ export default async function usersSeed(sc) {
2
2
  await sc.createAccount('alice', users.alice);
3
3
  await sc.createAccount('bob', users.bob);
4
4
  await sc.createAccount('carol', users.carol);
@@ -7,7 +7,7 @@ export default async (sc) => {
7
7
  await sc.createProfile(sc.dids.bob, users.bob.displayName, users.bob.description, users.bob.selfLabels);
8
8
  await sc.agent.api.chat.bsky.actor.declaration.create({ repo: sc.dids.dan }, { allowIncoming: 'none' }, sc.getHeaders(sc.dids.dan));
9
9
  return sc;
10
- };
10
+ }
11
11
  const users = {
12
12
  alice: {
13
13
  email: 'alice@test.com',
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/seed/users.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;IAExC,MAAM,EAAE,CAAC,aAAa,CACpB,EAAE,CAAC,IAAI,CAAC,KAAK,EACb,KAAK,CAAC,KAAK,CAAC,WAAW,EACvB,KAAK,CAAC,KAAK,CAAC,WAAW,EACvB,KAAK,CAAC,KAAK,CAAC,UAAU,CACvB,CAAA;IACD,MAAM,EAAE,CAAC,aAAa,CACpB,EAAE,CAAC,IAAI,CAAC,GAAG,EACX,KAAK,CAAC,GAAG,CAAC,WAAW,EACrB,KAAK,CAAC,GAAG,CAAC,WAAW,EACrB,KAAK,CAAC,GAAG,CAAC,UAAU,CACrB,CAAA;IAED,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CACnD,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EACrB,EAAE,aAAa,EAAE,MAAM,EAAE,EACzB,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAC3B,CAAA;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,KAAK,GAAG;IACZ,KAAK,EAAE;QACL,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;KAC7C;IACD,GAAG,EAAE;QACH,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,oBAAoB;QACjC,UAAU,EAAE,SAAS;KACtB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,SAAS;KACtB;IACD,GAAG,EAAE;QACH,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,SAAS;KACtB;CACF,CAAA","sourcesContent":["import { 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\n await sc.createProfile(\n sc.dids.alice,\n users.alice.displayName,\n users.alice.description,\n users.alice.selfLabels,\n )\n await sc.createProfile(\n sc.dids.bob,\n users.bob.displayName,\n users.bob.description,\n users.bob.selfLabels,\n )\n\n await sc.agent.api.chat.bsky.actor.declaration.create(\n { repo: sc.dids.dan },\n { allowIncoming: 'none' },\n sc.getHeaders(sc.dids.dan),\n )\n\n return sc\n}\n\nconst users = {\n alice: {\n email: 'alice@test.com',\n handle: 'alice.test',\n password: 'alice-pass',\n displayName: 'ali',\n description: 'its me!',\n selfLabels: ['self-label-a', 'self-label-b'],\n },\n bob: {\n email: 'bob@test.com',\n handle: 'bob.test',\n password: 'bob-pass',\n displayName: 'bobby',\n description: 'hi im bob label_me',\n selfLabels: undefined,\n },\n carol: {\n email: 'carol@test.com',\n handle: 'carol.test',\n password: 'carol-pass',\n displayName: undefined,\n description: undefined,\n selfLabels: undefined,\n },\n dan: {\n email: 'dan@test.com',\n handle: 'dan.test',\n password: 'dan-pass',\n displayName: undefined,\n description: undefined,\n selfLabels: undefined,\n },\n}\n"]}
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/seed/users.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,SAAS,CAAC,EAAc;IACpD,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;IAExC,MAAM,EAAE,CAAC,aAAa,CACpB,EAAE,CAAC,IAAI,CAAC,KAAK,EACb,KAAK,CAAC,KAAK,CAAC,WAAW,EACvB,KAAK,CAAC,KAAK,CAAC,WAAW,EACvB,KAAK,CAAC,KAAK,CAAC,UAAU,CACvB,CAAA;IACD,MAAM,EAAE,CAAC,aAAa,CACpB,EAAE,CAAC,IAAI,CAAC,GAAG,EACX,KAAK,CAAC,GAAG,CAAC,WAAW,EACrB,KAAK,CAAC,GAAG,CAAC,WAAW,EACrB,KAAK,CAAC,GAAG,CAAC,UAAU,CACrB,CAAA;IAED,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CACnD,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EACrB,EAAE,aAAa,EAAE,MAAM,EAAE,EACzB,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAC3B,CAAA;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAM,KAAK,GAAG;IACZ,KAAK,EAAE;QACL,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;KAC7C;IACD,GAAG,EAAE;QACH,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,oBAAoB;QACjC,UAAU,EAAE,SAAS;KACtB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,SAAS;KACtB;IACD,GAAG,EAAE;QACH,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,SAAS;KACtB;CACF,CAAA","sourcesContent":["import { SeedClient } from './client.js'\n\nexport default async function usersSeed(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\n await sc.createProfile(\n sc.dids.alice,\n users.alice.displayName,\n users.alice.description,\n users.alice.selfLabels,\n )\n await sc.createProfile(\n sc.dids.bob,\n users.bob.displayName,\n users.bob.description,\n users.bob.selfLabels,\n )\n\n await sc.agent.api.chat.bsky.actor.declaration.create(\n { repo: sc.dids.dan },\n { allowIncoming: 'none' },\n sc.getHeaders(sc.dids.dan),\n )\n\n return sc\n}\n\nconst users = {\n alice: {\n email: 'alice@test.com',\n handle: 'alice.test',\n password: 'alice-pass',\n displayName: 'ali',\n description: 'its me!',\n selfLabels: ['self-label-a', 'self-label-b'],\n },\n bob: {\n email: 'bob@test.com',\n handle: 'bob.test',\n password: 'bob-pass',\n displayName: 'bobby',\n description: 'hi im bob label_me',\n selfLabels: undefined,\n },\n carol: {\n email: 'carol@test.com',\n handle: 'carol.test',\n password: 'carol-pass',\n displayName: undefined,\n description: undefined,\n selfLabels: undefined,\n },\n dan: {\n email: 'dan@test.com',\n handle: 'dan.test',\n password: 'dan-pass',\n displayName: undefined,\n description: undefined,\n selfLabels: undefined,\n },\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/dev-env",
3
- "version": "0.5.13",
3
+ "version": "0.5.15",
4
4
  "license": "MIT",
5
5
  "description": "Local development environment helper for atproto development",
6
6
  "keywords": [
@@ -21,22 +21,23 @@
21
21
  "dotenv": "^16.0.3",
22
22
  "express": "^4.18.2",
23
23
  "get-port": "^5.1.1",
24
+ "http-terminator": "^3.2.0",
24
25
  "multiformats": "^13.0.0",
25
26
  "uint8arrays": "^5.0.0",
26
- "undici": "^6.14.1",
27
- "@atproto/api": "^0.20.16",
28
- "@atproto/bsync": "^0.0.29",
29
- "@atproto/bsky": "^0.0.243",
27
+ "undici": "^8.5.0",
28
+ "@atproto/api": "^0.20.18",
29
+ "@atproto/bsky": "^0.0.245",
30
+ "@atproto/bsync": "^0.0.30",
31
+ "@atproto/crypto": "^0.5.1",
30
32
  "@atproto/identity": "^0.5.1",
33
+ "@atproto/lex": "^0.1.4",
31
34
  "@atproto/common-web": "^0.5.1",
32
- "@atproto/ozone": "^0.2.5",
33
35
  "@atproto/lexicon": "^0.7.2",
34
- "@atproto/crypto": "^0.5.1",
35
- "@atproto/pds": "^0.5.6",
36
- "@atproto/sync": "^0.3.2",
37
- "@atproto/xrpc-server": "^0.11.2",
36
+ "@atproto/ozone": "^0.2.6",
37
+ "@atproto/pds": "^0.5.7",
38
38
  "@atproto/syntax": "^0.6.2",
39
- "@atproto/lex": "^0.1.4"
39
+ "@atproto/sync": "^0.3.3",
40
+ "@atproto/xrpc-server": "^0.11.2"
40
41
  },
41
42
  "devDependencies": {
42
43
  "@types/express": "^4.17.13"
package/src/bin.ts CHANGED
@@ -55,9 +55,9 @@ const run = async () => {
55
55
  console.log(`🤖 Feed Generator (${fg.did}) http://localhost:${fg.port}`)
56
56
  }
57
57
 
58
+ console.time('✅ Dev environment is ready')
58
59
  await generateMockSetup(network)
59
-
60
- console.log('✅ Dev environment is ready')
60
+ console.timeEnd('✅ Dev environment is ready')
61
61
  }
62
62
 
63
63
  run()
package/src/bsky.ts CHANGED
@@ -122,7 +122,7 @@ export class TestBsky {
122
122
 
123
123
  await server.start()
124
124
 
125
- sub.start()
125
+ void sub.start()
126
126
 
127
127
  return new TestBsky(url, port, db, server, dataplane, bsync, sub, serverDid)
128
128
  }
@@ -158,10 +158,27 @@ export class TestBsky {
158
158
  }
159
159
 
160
160
  async close() {
161
- await this.server.destroy()
162
- await this.bsync.destroy()
163
- await this.dataplane.destroy()
164
- await this.sub.destroy()
165
- await this.db.close()
161
+ // @TODO Use disposable stack when it becomes available (Node24+)
162
+ try {
163
+ await this.server.destroy()
164
+ } finally {
165
+ try {
166
+ await this.bsync.destroy()
167
+ } finally {
168
+ try {
169
+ await this.dataplane.destroy()
170
+ } finally {
171
+ try {
172
+ await this.sub.destroy()
173
+ } finally {
174
+ await this.db.close()
175
+ }
176
+ }
177
+ }
178
+ }
179
+ }
180
+
181
+ async [Symbol.asyncDispose]() {
182
+ await this.close()
166
183
  }
167
184
  }
package/src/feed-gen.ts CHANGED
@@ -2,19 +2,28 @@ import events from 'node:events'
2
2
  import http from 'node:http'
3
3
  import * as plc from '@did-plc/lib'
4
4
  import getPort from 'get-port'
5
+ // eslint-disable-next-line import/default, import/no-named-as-default-member
6
+ import httpTerminator from 'http-terminator'
5
7
  import { Secp256k1Keypair } from '@atproto/crypto'
6
8
  import { SkeletonHandler, app } from '@atproto/pds'
7
9
  import { AtUriString, DidString } from '@atproto/syntax'
8
10
  import { InvalidRequestError, createServer } from '@atproto/xrpc-server'
9
11
 
10
12
  export class TestFeedGen {
11
- destroyed = false
13
+ private terminator: httpTerminator.HttpTerminator
14
+ private terminatorPromise?: Promise<void>
15
+
16
+ get destroyed() {
17
+ return this.terminatorPromise != null
18
+ }
12
19
 
13
20
  constructor(
14
21
  public port: number,
15
22
  public server: http.Server,
16
23
  public did: string,
17
- ) {}
24
+ ) {
25
+ this.terminator = httpTerminator.createHttpTerminator({ server })
26
+ }
18
27
 
19
28
  static async create(
20
29
  plcUrl: string,
@@ -50,14 +59,11 @@ export class TestFeedGen {
50
59
  }
51
60
 
52
61
  close(): Promise<void> {
53
- return new Promise((resolve, reject) => {
54
- if (this.destroyed) return resolve()
55
- this.server.close((err) => {
56
- if (err) return reject(err)
57
- this.destroyed = true
58
- resolve()
59
- })
60
- })
62
+ return (this.terminatorPromise ??= this.terminator.terminate())
63
+ }
64
+
65
+ async [Symbol.asyncDispose]() {
66
+ await this.close()
61
67
  }
62
68
  }
63
69
 
package/src/introspect.ts CHANGED
@@ -1,16 +1,21 @@
1
1
  import events from 'node:events'
2
2
  import http from 'node:http'
3
3
  import express from 'express'
4
+ // eslint-disable-next-line import/default
5
+ import httpTerminator from 'http-terminator'
4
6
  import { TestBsky } from './bsky.js'
5
7
  import { TestOzone } from './ozone.js'
6
8
  import { TestPds } from './pds.js'
7
9
  import { TestPlc } from './plc.js'
8
10
 
9
11
  export class IntrospectServer {
12
+ private terminator: httpTerminator.HttpTerminator
10
13
  constructor(
11
14
  public port: number,
12
15
  public server: http.Server,
13
- ) {}
16
+ ) {
17
+ this.terminator = httpTerminator.createHttpTerminator({ server })
18
+ }
14
19
 
15
20
  static async start(
16
21
  port: number,
@@ -48,7 +53,6 @@ export class IntrospectServer {
48
53
  }
49
54
 
50
55
  async close() {
51
- this.server.close()
52
- await events.once(this.server, 'close')
56
+ await this.terminator.terminate()
53
57
  }
54
58
  }
package/src/network.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import assert from 'node:assert'
2
2
  import getPort from 'get-port'
3
3
  import * as uint8arrays from 'uint8arrays'
4
- import { wait } from '@atproto/common-web'
4
+ import { allFulfilled, wait } from '@atproto/common-web'
5
5
  import { createServiceJwt } from '@atproto/xrpc-server'
6
6
  import { TestBsky } from './bsky.js'
7
7
  import { EXAMPLE_LABELER } from './const.js'
@@ -151,12 +151,15 @@ export class TestNetwork extends TestNetworkNoAppView {
151
151
 
152
152
  async processFullSubscription(timeout = 5000) {
153
153
  const sub = this.bsky.sub
154
+ // If the subscription is not running, there is no point in
155
+ // waiting for it to process events
156
+ if (!sub.running) return
154
157
  const start = Date.now()
155
158
  const lastSeq = await this.pds.ctx.sequencer.curr()
156
159
  if (!lastSeq) return
157
160
  while (Date.now() - start < timeout) {
158
161
  await sub.processAll()
159
- const runnerCursor = await sub.runner.getCursor()
162
+ const runnerCursor = await sub.getCursor()
160
163
  // if subscription claims to be done, ensure we are at the most recent cursor from PDS, else wait to process again
161
164
  // (the subscription may claim to be finished before the PDS has even emitted it's event)
162
165
  if (runnerCursor && runnerCursor >= lastSeq) {
@@ -202,11 +205,21 @@ export class TestNetwork extends TestNetworkNoAppView {
202
205
  }
203
206
 
204
207
  async close() {
205
- await Promise.all(this.feedGens.map((fg) => fg.close()))
206
- await this.ozone.close()
207
- await this.bsky.close()
208
- await this.pds.close()
209
- await this.plc.close()
210
- await this.introspect?.close()
208
+ try {
209
+ await this.processAll()
210
+ } finally {
211
+ await allFulfilled([
212
+ ...this.feedGens.map(async (fg) => fg.close()),
213
+ this.ozone.close(),
214
+ this.bsky.close(),
215
+ this.pds.close(),
216
+ this.plc.close(),
217
+ this.introspect?.close(),
218
+ ])
219
+ }
220
+ }
221
+
222
+ async [Symbol.asyncDispose]() {
223
+ await this.close()
211
224
  }
212
225
  }
package/src/ozone.ts CHANGED
@@ -246,8 +246,15 @@ export class TestOzone {
246
246
  }
247
247
 
248
248
  async close() {
249
- await this.daemon.destroy()
250
- await this.server.destroy()
249
+ try {
250
+ await this.server.destroy()
251
+ } finally {
252
+ await this.daemon.destroy()
253
+ }
254
+ }
255
+
256
+ async [Symbol.asyncDispose]() {
257
+ await this.close()
251
258
  }
252
259
  }
253
260
 
package/src/pds.ts CHANGED
@@ -117,4 +117,8 @@ export class TestPds {
117
117
  async close() {
118
118
  await this.server.destroy()
119
119
  }
120
+
121
+ async [Symbol.asyncDispose]() {
122
+ await this.close()
123
+ }
120
124
  }