@atproto/dev-env 0.5.13 → 0.5.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/bin.js +2 -1
- package/dist/bin.js.map +1 -1
- package/dist/bsky.d.ts +1 -0
- package/dist/bsky.d.ts.map +1 -1
- package/dist/bsky.js +26 -6
- package/dist/bsky.js.map +1 -1
- package/dist/feed-gen.d.ts +4 -1
- package/dist/feed-gen.d.ts.map +1 -1
- package/dist/feed-gen.js +10 -11
- package/dist/feed-gen.js.map +1 -1
- package/dist/introspect.d.ts +1 -0
- package/dist/introspect.d.ts.map +1 -1
- package/dist/introspect.js +4 -2
- package/dist/introspect.js.map +1 -1
- package/dist/network.d.ts +1 -0
- package/dist/network.d.ts.map +1 -1
- package/dist/network.js +22 -8
- package/dist/network.js.map +1 -1
- package/dist/ozone.d.ts +1 -0
- package/dist/ozone.d.ts.map +1 -1
- package/dist/ozone.js +9 -2
- package/dist/ozone.js.map +1 -1
- package/dist/pds.d.ts +1 -0
- package/dist/pds.d.ts.map +1 -1
- package/dist/pds.js +3 -0
- package/dist/pds.js.map +1 -1
- package/dist/seed/basic.d.ts +1 -2
- package/dist/seed/basic.d.ts.map +1 -1
- package/dist/seed/basic.js +2 -2
- package/dist/seed/basic.js.map +1 -1
- package/dist/seed/users-bulk.d.ts +1 -2
- package/dist/seed/users-bulk.d.ts.map +1 -1
- package/dist/seed/users-bulk.js +2 -2
- package/dist/seed/users-bulk.js.map +1 -1
- package/dist/seed/users.d.ts +1 -2
- package/dist/seed/users.d.ts.map +1 -1
- package/dist/seed/users.js +2 -2
- package/dist/seed/users.js.map +1 -1
- package/package.json +13 -12
- package/src/bin.ts +2 -2
- package/src/bsky.ts +23 -6
- package/src/feed-gen.ts +16 -10
- package/src/introspect.ts +7 -3
- package/src/network.ts +21 -8
- package/src/ozone.ts +9 -2
- package/src/pds.ts +4 -0
- package/src/seed/basic.ts +2 -2
- package/src/seed/users-bulk.ts +1 -1
- package/src/seed/users.ts +1 -1
package/dist/pds.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pds.js","sourceRoot":"","sources":["../src/pds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAGxE,MAAM,OAAO,OAAO;IAClB,YACS,GAAW,EACX,IAAY,EACZ,MAAe;mBAFf,GAAG;oBACH,IAAI;sBACJ,MAAM;IACZ,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAiB;QACnC,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1E,MAAM,eAAe,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAA;QAC1E,MAAM,WAAW,GAAG,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;QAE3D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,OAAO,EAAE,CAAC,CAAA;QAC7C,MAAM,GAAG,GAAG,oBAAoB,IAAI,EAAE,CAAA;QAEtC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;QACnE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;QACpE,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAElD,MAAM,GAAG,GAA0B;YACjC,OAAO,EAAE,IAAI;YACb,IAAI;YACJ,aAAa,EAAE,aAAa;YAC5B,qBAAqB,EAAE,YAAY;YACnC,cAAc,EAAE,WAAW;YAC3B,aAAa,EAAE,cAAc;YAC7B,SAAS,EAAE,UAAU;YACrB,sEAAsE;YACtE,qCAAqC;YACrC,oBAAoB,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;YAC3C,cAAc,EAAE,yBAAyB;YACzC,cAAc,EAAE,qBAAqB;YACrC,wBAAwB,EAAE,iCAAiC;YAC3D,aAAa,EAAE,2BAA2B;YAC1C,aAAa,EAAE,qBAAqB;YACpC,+BAA+B,EAAE,eAAe;YAChD,cAAc,EAAE,KAAK;YACrB,qBAAqB,EAAE,IAAI;YAC3B,WAAW,EAAE,iBAAiB;YAC9B,YAAY,EAAE,SAAS;YACvB,oBAAoB,EAAE,MAAM,EAAE,kCAAkC;YAChE,UAAU,EAAE,iBAAiB,EAAE,iCAAiC;YAChE,OAAO;YACL,8EAA8E;YAC9E,uCAAuC;YACvC,uCAAuC;YACvC,6BAA6B,MAAM,CAAC,IAAI,CAAC,qxDAAqxD,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC91D,OAAO,EAAE,sBAAsB;YAC/B,iBAAiB,EAAE,uCAAuC;YAC1D,gBAAgB,EAAE,kDAAkD;YACpE,UAAU,EAAE,yCAAyC;YACrD,GAAG,MAAM;SACV,CAAA;QACD,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAErC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAEjD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QAEpB,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QACjD,KAAK,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAA;QAC1C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,SAAS;QACP,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAChD,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAA;QACrC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,SAAS;QACP,OAAO,CACL,QAAQ;YACR,GAAG,CAAC,QAAQ,CACV,GAAG,CAAC,UAAU,CAAC,SAAS,cAAc,EAAE,EAAE,MAAM,CAAC,EACjD,WAAW,CACZ,CACF,CAAA;IACH,CAAC;IAED,gBAAgB;QACd,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE;SAChC,CAAA;IACH,CAAC;IAED,YAAY;QACV,OAAO,qBAAqB,CAAC,UAAU,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IAC7B,CAAC;CACF","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"]}
|
package/dist/seed/basic.d.ts
CHANGED
|
@@ -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
|
-
|
|
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[];
|
package/dist/seed/basic.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/seed/basic.js
CHANGED
|
@@ -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'],
|
package/dist/seed/basic.js.map
CHANGED
|
@@ -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
|
-
|
|
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;
|
|
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"}
|
package/dist/seed/users-bulk.js
CHANGED
|
@@ -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"]}
|
package/dist/seed/users.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { SeedClient } from './client.js';
|
|
2
|
-
|
|
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
|
package/dist/seed/users.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/seed/users.js
CHANGED
|
@@ -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',
|
package/dist/seed/users.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/seed/users.ts"],"names":[],"mappings":"AAEA,
|
|
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.
|
|
3
|
+
"version": "0.5.14",
|
|
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": "^
|
|
27
|
-
"@atproto/api": "^0.20.
|
|
28
|
-
"@atproto/bsync": "^0.0.
|
|
29
|
-
"@atproto/bsky": "^0.0.
|
|
30
|
-
"@atproto/identity": "^0.5.1",
|
|
27
|
+
"undici": "^8.5.0",
|
|
28
|
+
"@atproto/api": "^0.20.17",
|
|
29
|
+
"@atproto/bsync": "^0.0.30",
|
|
30
|
+
"@atproto/bsky": "^0.0.244",
|
|
31
31
|
"@atproto/common-web": "^0.5.1",
|
|
32
|
-
"@atproto/ozone": "^0.2.5",
|
|
33
|
-
"@atproto/lexicon": "^0.7.2",
|
|
34
32
|
"@atproto/crypto": "^0.5.1",
|
|
35
|
-
"@atproto/
|
|
36
|
-
"@atproto/
|
|
37
|
-
"@atproto/
|
|
33
|
+
"@atproto/identity": "^0.5.1",
|
|
34
|
+
"@atproto/lex": "^0.1.4",
|
|
35
|
+
"@atproto/lexicon": "^0.7.2",
|
|
36
|
+
"@atproto/pds": "^0.5.7",
|
|
37
|
+
"@atproto/ozone": "^0.2.6",
|
|
38
38
|
"@atproto/syntax": "^0.6.2",
|
|
39
|
-
"@atproto/
|
|
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
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
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
|
-
|
|
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
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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.
|
|
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.
|
|
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
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
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
|
-
|
|
250
|
-
|
|
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
|
|