@atproto/dev-env 0.5.25 → 0.5.27
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 +39 -0
- package/dist/bsky.d.ts +1 -1
- package/dist/bsky.d.ts.map +1 -1
- package/dist/bsky.js.map +1 -1
- package/dist/bsync.d.ts +1 -1
- package/dist/bsync.d.ts.map +1 -1
- package/dist/bsync.js.map +1 -1
- package/dist/feed-gen.d.ts +2 -2
- package/dist/feed-gen.d.ts.map +1 -1
- package/dist/feed-gen.js.map +1 -1
- package/dist/introspect.d.ts +6 -6
- package/dist/introspect.d.ts.map +1 -1
- package/dist/introspect.js.map +1 -1
- package/dist/mock/index.d.ts +1 -1
- package/dist/mock/index.d.ts.map +1 -1
- package/dist/mock/index.js.map +1 -1
- package/dist/moderator-client.d.ts +3 -3
- package/dist/moderator-client.d.ts.map +1 -1
- package/dist/moderator-client.js +2 -0
- package/dist/moderator-client.js.map +1 -1
- package/dist/network-no-appview.d.ts +2 -2
- package/dist/network-no-appview.d.ts.map +1 -1
- package/dist/network-no-appview.js.map +1 -1
- package/dist/network.d.ts +1 -1
- package/dist/network.d.ts.map +1 -1
- package/dist/network.js.map +1 -1
- package/dist/ozone.d.ts +2 -2
- package/dist/ozone.d.ts.map +1 -1
- package/dist/ozone.js.map +1 -1
- package/dist/pds.d.ts +1 -1
- package/dist/pds.d.ts.map +1 -1
- package/dist/pds.js.map +1 -1
- package/dist/plc.d.ts +1 -1
- package/dist/plc.d.ts.map +1 -1
- package/dist/plc.js.map +1 -1
- package/dist/seed/author-feed.d.ts +1 -1
- package/dist/seed/author-feed.d.ts.map +1 -1
- package/dist/seed/author-feed.js.map +1 -1
- package/dist/seed/basic.d.ts +2 -2
- package/dist/seed/basic.d.ts.map +1 -1
- package/dist/seed/basic.js.map +1 -1
- package/dist/seed/client.d.ts +5 -5
- package/dist/seed/client.d.ts.map +1 -1
- package/dist/seed/client.js +1 -1
- package/dist/seed/client.js.map +1 -1
- package/dist/seed/follows.d.ts +1 -1
- package/dist/seed/follows.d.ts.map +1 -1
- package/dist/seed/follows.js.map +1 -1
- package/dist/seed/likes.d.ts +1 -1
- package/dist/seed/likes.d.ts.map +1 -1
- package/dist/seed/likes.js.map +1 -1
- package/dist/seed/quotes.d.ts +1 -1
- package/dist/seed/quotes.d.ts.map +1 -1
- package/dist/seed/quotes.js.map +1 -1
- package/dist/seed/reposts.d.ts +1 -1
- package/dist/seed/reposts.d.ts.map +1 -1
- package/dist/seed/reposts.js.map +1 -1
- package/dist/seed/thread-v2.d.ts +2 -2
- package/dist/seed/thread-v2.d.ts.map +1 -1
- package/dist/seed/thread-v2.js.map +1 -1
- package/dist/seed/users-bulk.d.ts +1 -1
- package/dist/seed/users-bulk.d.ts.map +1 -1
- package/dist/seed/users-bulk.js.map +1 -1
- package/dist/seed/users.d.ts +1 -1
- package/dist/seed/users.d.ts.map +1 -1
- package/dist/seed/users.js.map +1 -1
- package/dist/seed/verifications.d.ts +2 -2
- package/dist/seed/verifications.d.ts.map +1 -1
- package/dist/seed/verifications.js.map +1 -1
- package/dist/service-profile-lexicon.d.ts +1 -1
- package/dist/service-profile-lexicon.d.ts.map +1 -1
- package/dist/service-profile-lexicon.js.map +1 -1
- package/dist/service-profile-ozone.d.ts +3 -3
- package/dist/service-profile-ozone.d.ts.map +1 -1
- package/dist/service-profile-ozone.js.map +1 -1
- package/dist/service-profile.d.ts +3 -3
- package/dist/service-profile.d.ts.map +1 -1
- package/dist/service-profile.js.map +1 -1
- package/dist/types.d.ts +5 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/util.d.ts +4 -4
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js.map +1 -1
- package/package.json +14 -14
- package/src/bsky.ts +1 -1
- package/src/bsync.ts +1 -1
- package/src/feed-gen.ts +3 -3
- package/src/introspect.ts +6 -6
- package/src/mock/index.ts +4 -4
- package/src/moderator-client.ts +13 -13
- package/src/network-no-appview.ts +2 -2
- package/src/network.ts +1 -1
- package/src/ozone.ts +2 -2
- package/src/pds.ts +1 -1
- package/src/plc.ts +1 -1
- package/src/seed/author-feed.ts +1 -1
- package/src/seed/basic.ts +3 -3
- package/src/seed/client.ts +10 -5
- package/src/seed/follows.ts +1 -1
- package/src/seed/likes.ts +1 -1
- package/src/seed/quotes.ts +1 -1
- package/src/seed/reposts.ts +1 -1
- package/src/seed/thread-v2.ts +4 -4
- package/src/seed/users-bulk.ts +1 -1
- package/src/seed/users.ts +1 -1
- package/src/seed/verifications.ts +2 -2
- package/src/service-profile-lexicon.ts +2 -2
- package/src/service-profile-ozone.ts +4 -4
- package/src/service-profile.ts +3 -3
- package/src/types.ts +5 -5
- package/src/util.ts +4 -4
|
@@ -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;AAIhD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CAAC,EAAc,EAAE,GAAG,GAAG,QAAQ;IACxE,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;gBACN,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;AAED,MAAM,KAAK,GAA2D;IACpE,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 type { HandleString } from '@atproto/syntax'\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,\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: { handle: HandleString; displayName: string | null }[] = [\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 type { HandleString } from '@atproto/syntax'\nimport type { 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,\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: { handle: HandleString; displayName: string | null }[] = [\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
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,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,wBAA8B,SAAS,CAAC,EAAE,EAAE,UAAU,gFA0BrD"}
|
package/dist/seed/users.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;CACO,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} as const\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;CACO,CAAA","sourcesContent":["import type { 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} as const\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TestNetwork } from '../network.js';
|
|
2
|
-
import { SeedClient } from './client.js';
|
|
1
|
+
import type { TestNetwork } from '../network.js';
|
|
2
|
+
import type { SeedClient } from './client.js';
|
|
3
3
|
declare const _default: (sc: SeedClient<TestNetwork>) => Promise<SeedClient<TestNetwork>>;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=verifications.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifications.d.ts","sourceRoot":"","sources":["../../src/seed/verifications.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"verifications.d.ts","sourceRoot":"","sources":["../../src/seed/verifications.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;6BAEnB,UAAU,CAAC,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifications.js","sourceRoot":"","sources":["../../src/seed/verifications.ts"],"names":[],"mappings":"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","sourcesContent":["import { INVALID_HANDLE } from '@atproto/syntax'\nimport { TestNetwork } from '../network.js'\nimport { SeedClient } from './client.js'\n\nexport default async (sc: SeedClient<TestNetwork>) => {\n const labelerDid = sc.network.bsky.ctx.cfg.modServiceDid\n\n await sc.createAccount('alice', users.alice)\n await sc.createAccount('bob', users.bob)\n await sc.createAccount('carol', users.carol)\n await sc.createAccount('dan', users.dan)\n await sc.createAccount('eve', users.eve)\n await sc.createAccount('frank', users.frank)\n await sc.createAccount('gus', users.gus)\n\n // This user should be set a label 'impersonation` in the tests.\n await sc.createAccount('impersonator', users.impersonator)\n\n await sc.createAccount('nonverifier', users.nonverifier)\n\n // These users should be set as verifiers via DB in the test,\n // so their verifications are trusted by the app.\n await sc.createAccount('verifier1', users.verifier1)\n await sc.createAccount('verifier2', users.verifier2)\n // This user should be set a label 'impersonation` in the tests.\n await sc.createAccount('verifier3', users.verifier3)\n\n await sc.createAccount('handleinvalid', users.handleinvalid)\n await sc.createAccount('handleempty', users.handleempty)\n\n for (const name in sc.dids) {\n await sc.createProfile(sc.dids[name], `display-${name}`, `descript-${name}`)\n }\n\n // alice: the viewer, has no verifications at all.\n // NOOP\n\n // bob: has verifications by multiple verifiers.\n await sc.verify(\n sc.dids.verifier1,\n sc.dids.bob,\n sc.accounts[sc.dids.bob].handle,\n sc.profiles[sc.dids.bob].displayName,\n )\n await sc.verify(\n sc.dids.verifier2,\n sc.dids.bob,\n sc.accounts[sc.dids.bob].handle,\n sc.profiles[sc.dids.bob].displayName,\n )\n\n // carol: has non-broken and broken verifications by verifiers.\n await sc.verify(\n sc.dids.verifier1,\n sc.dids.carol,\n sc.accounts[sc.dids.carol].handle,\n sc.profiles[sc.dids.carol].displayName,\n )\n await sc.verify(\n sc.dids.verifier2,\n sc.dids.carol,\n 'carol.old.handle', // Broken: this was the handle during verification and it changed later.\n sc.profiles[sc.dids.carol].displayName,\n )\n\n // dan: has verifications by verifiers and non verifiers.\n await sc.verify(\n sc.dids.verifier1,\n sc.dids.dan,\n sc.accounts[sc.dids.dan].handle,\n sc.profiles[sc.dids.dan].displayName,\n )\n await sc.verify(\n sc.dids.nonverifier,\n sc.dids.dan,\n sc.accounts[sc.dids.dan].handle,\n sc.profiles[sc.dids.dan].displayName,\n )\n\n // eve: has no verifications at all.\n // NOOP\n\n // frank: has only broken verifications by verifiers.\n await sc.verify(\n sc.dids.verifier2,\n sc.dids.frank,\n sc.accounts[sc.dids.frank].handle,\n 'frank-old-name', // Broken: this was the name during verification and it changed later.\n )\n\n // gus: has only verifications by non verifiers.\n await sc.verify(\n sc.dids.nonverifier,\n sc.dids.gus,\n sc.accounts[sc.dids.gus].handle,\n sc.profiles[sc.dids.gus].displayName,\n )\n\n // impersonator: has verification by verifier but should get the impersonator label during tests.\n await sc.verify(\n sc.dids.verifier1,\n sc.dids.impersonator,\n sc.accounts[sc.dids.impersonator].handle,\n sc.profiles[sc.dids.impersonator].displayName,\n )\n\n // verifier1: is verifier and has verification by other verifier. Should show as a verifier, not just as verified.\n await sc.verify(\n sc.dids.verifier2,\n sc.dids.verifier1,\n sc.accounts[sc.dids.verifier1].handle,\n sc.profiles[sc.dids.verifier1].displayName,\n )\n\n // verifier2: is verifier and has no verification by other verifier.\n // NOOP\n\n // handleinvalid: has verification but handle is set to invalid.\n await sc.verify(\n sc.dids.verifier1,\n sc.dids.handleinvalid,\n sc.accounts[sc.dids.handleinvalid].handle,\n sc.profiles[sc.dids.handleinvalid].displayName,\n )\n\n // Process all events to sync actors to appview before modifying the DB\n await sc.network.processAll()\n\n // Do DB updates to change actors as needed for each case.\n await createLabel(sc, labelerDid, {\n src: labelerDid,\n uri: sc.dids.impersonator,\n cid: '',\n val: 'impersonation',\n })\n\n await createLabel(sc, labelerDid, {\n src: labelerDid,\n uri: sc.dids.verifier3,\n cid: '',\n val: 'impersonation',\n })\n\n await sc.network.bsky.db.db\n .updateTable('actor')\n .set({ handle: INVALID_HANDLE })\n .where('did', '=', sc.dids.handleinvalid)\n .execute()\n await sc.network.bsky.db.db\n .updateTable('actor')\n .set({ handle: null })\n .where('did', '=', sc.dids.handleempty)\n .execute()\n\n return sc\n}\n\nconst users = {\n alice: {\n email: 'alice@test.com',\n handle: 'alice.test',\n password: 'alice-pass',\n },\n bob: {\n email: 'bob@test.com',\n handle: 'bob.test',\n password: 'bob-pass',\n },\n carol: {\n email: 'carol@test.com',\n handle: 'carol.test',\n password: 'carol-pass',\n },\n dan: {\n email: 'dan@test.com',\n handle: 'dan.test',\n password: 'dan-pass',\n },\n eve: {\n email: 'eve@test.com',\n handle: 'eve.test',\n password: 'eve-pass',\n },\n frank: {\n email: 'frank@test.com',\n handle: 'frank.test',\n password: 'frank-pass',\n },\n gus: {\n email: 'gus@test.com',\n handle: 'gus.test',\n password: 'gus-pass',\n },\n impersonator: {\n email: 'impersonator@test.com',\n handle: 'impersonator.test',\n password: 'impersonator-pass',\n },\n verifier1: {\n email: 'verifier1@test.com',\n handle: 'verifier1.test',\n password: 'verifier1-pass',\n },\n verifier2: {\n email: 'verifier2@test.com',\n handle: 'verifier2.test',\n password: 'verifier2-pass',\n },\n verifier3: {\n email: 'verifier3@test.com',\n handle: 'verifier3.test',\n password: 'verifier3-pass',\n },\n nonverifier: {\n email: 'nonverifier@test.com',\n handle: 'nonverifier.test',\n password: 'nonverifier-pass',\n },\n handleinvalid: {\n email: 'handleinvalid@test.com',\n handle: 'handleinvalid.test',\n password: 'handleinvalid-pass',\n },\n handleempty: {\n email: 'handleempty@test.com',\n handle: 'handleempty.test',\n password: 'handleempty-pass',\n },\n} as const\n\nconst createLabel = async (\n sc: SeedClient<TestNetwork>,\n labelerDid: string,\n opts: {\n src?: string\n uri: string\n cid: string\n val: string\n exp?: string\n },\n) => {\n await sc.network.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 exp: opts.exp ?? null,\n neg: false,\n src: opts.src ?? labelerDid,\n })\n .execute()\n}\n"]}
|
|
1
|
+
{"version":3,"file":"verifications.js","sourceRoot":"","sources":["../../src/seed/verifications.ts"],"names":[],"mappings":"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","sourcesContent":["import { INVALID_HANDLE } from '@atproto/syntax'\nimport type { TestNetwork } from '../network.js'\nimport type { SeedClient } from './client.js'\n\nexport default async (sc: SeedClient<TestNetwork>) => {\n const labelerDid = sc.network.bsky.ctx.cfg.modServiceDid\n\n await sc.createAccount('alice', users.alice)\n await sc.createAccount('bob', users.bob)\n await sc.createAccount('carol', users.carol)\n await sc.createAccount('dan', users.dan)\n await sc.createAccount('eve', users.eve)\n await sc.createAccount('frank', users.frank)\n await sc.createAccount('gus', users.gus)\n\n // This user should be set a label 'impersonation` in the tests.\n await sc.createAccount('impersonator', users.impersonator)\n\n await sc.createAccount('nonverifier', users.nonverifier)\n\n // These users should be set as verifiers via DB in the test,\n // so their verifications are trusted by the app.\n await sc.createAccount('verifier1', users.verifier1)\n await sc.createAccount('verifier2', users.verifier2)\n // This user should be set a label 'impersonation` in the tests.\n await sc.createAccount('verifier3', users.verifier3)\n\n await sc.createAccount('handleinvalid', users.handleinvalid)\n await sc.createAccount('handleempty', users.handleempty)\n\n for (const name in sc.dids) {\n await sc.createProfile(sc.dids[name], `display-${name}`, `descript-${name}`)\n }\n\n // alice: the viewer, has no verifications at all.\n // NOOP\n\n // bob: has verifications by multiple verifiers.\n await sc.verify(\n sc.dids.verifier1,\n sc.dids.bob,\n sc.accounts[sc.dids.bob].handle,\n sc.profiles[sc.dids.bob].displayName,\n )\n await sc.verify(\n sc.dids.verifier2,\n sc.dids.bob,\n sc.accounts[sc.dids.bob].handle,\n sc.profiles[sc.dids.bob].displayName,\n )\n\n // carol: has non-broken and broken verifications by verifiers.\n await sc.verify(\n sc.dids.verifier1,\n sc.dids.carol,\n sc.accounts[sc.dids.carol].handle,\n sc.profiles[sc.dids.carol].displayName,\n )\n await sc.verify(\n sc.dids.verifier2,\n sc.dids.carol,\n 'carol.old.handle', // Broken: this was the handle during verification and it changed later.\n sc.profiles[sc.dids.carol].displayName,\n )\n\n // dan: has verifications by verifiers and non verifiers.\n await sc.verify(\n sc.dids.verifier1,\n sc.dids.dan,\n sc.accounts[sc.dids.dan].handle,\n sc.profiles[sc.dids.dan].displayName,\n )\n await sc.verify(\n sc.dids.nonverifier,\n sc.dids.dan,\n sc.accounts[sc.dids.dan].handle,\n sc.profiles[sc.dids.dan].displayName,\n )\n\n // eve: has no verifications at all.\n // NOOP\n\n // frank: has only broken verifications by verifiers.\n await sc.verify(\n sc.dids.verifier2,\n sc.dids.frank,\n sc.accounts[sc.dids.frank].handle,\n 'frank-old-name', // Broken: this was the name during verification and it changed later.\n )\n\n // gus: has only verifications by non verifiers.\n await sc.verify(\n sc.dids.nonverifier,\n sc.dids.gus,\n sc.accounts[sc.dids.gus].handle,\n sc.profiles[sc.dids.gus].displayName,\n )\n\n // impersonator: has verification by verifier but should get the impersonator label during tests.\n await sc.verify(\n sc.dids.verifier1,\n sc.dids.impersonator,\n sc.accounts[sc.dids.impersonator].handle,\n sc.profiles[sc.dids.impersonator].displayName,\n )\n\n // verifier1: is verifier and has verification by other verifier. Should show as a verifier, not just as verified.\n await sc.verify(\n sc.dids.verifier2,\n sc.dids.verifier1,\n sc.accounts[sc.dids.verifier1].handle,\n sc.profiles[sc.dids.verifier1].displayName,\n )\n\n // verifier2: is verifier and has no verification by other verifier.\n // NOOP\n\n // handleinvalid: has verification but handle is set to invalid.\n await sc.verify(\n sc.dids.verifier1,\n sc.dids.handleinvalid,\n sc.accounts[sc.dids.handleinvalid].handle,\n sc.profiles[sc.dids.handleinvalid].displayName,\n )\n\n // Process all events to sync actors to appview before modifying the DB\n await sc.network.processAll()\n\n // Do DB updates to change actors as needed for each case.\n await createLabel(sc, labelerDid, {\n src: labelerDid,\n uri: sc.dids.impersonator,\n cid: '',\n val: 'impersonation',\n })\n\n await createLabel(sc, labelerDid, {\n src: labelerDid,\n uri: sc.dids.verifier3,\n cid: '',\n val: 'impersonation',\n })\n\n await sc.network.bsky.db.db\n .updateTable('actor')\n .set({ handle: INVALID_HANDLE })\n .where('did', '=', sc.dids.handleinvalid)\n .execute()\n await sc.network.bsky.db.db\n .updateTable('actor')\n .set({ handle: null })\n .where('did', '=', sc.dids.handleempty)\n .execute()\n\n return sc\n}\n\nconst users = {\n alice: {\n email: 'alice@test.com',\n handle: 'alice.test',\n password: 'alice-pass',\n },\n bob: {\n email: 'bob@test.com',\n handle: 'bob.test',\n password: 'bob-pass',\n },\n carol: {\n email: 'carol@test.com',\n handle: 'carol.test',\n password: 'carol-pass',\n },\n dan: {\n email: 'dan@test.com',\n handle: 'dan.test',\n password: 'dan-pass',\n },\n eve: {\n email: 'eve@test.com',\n handle: 'eve.test',\n password: 'eve-pass',\n },\n frank: {\n email: 'frank@test.com',\n handle: 'frank.test',\n password: 'frank-pass',\n },\n gus: {\n email: 'gus@test.com',\n handle: 'gus.test',\n password: 'gus-pass',\n },\n impersonator: {\n email: 'impersonator@test.com',\n handle: 'impersonator.test',\n password: 'impersonator-pass',\n },\n verifier1: {\n email: 'verifier1@test.com',\n handle: 'verifier1.test',\n password: 'verifier1-pass',\n },\n verifier2: {\n email: 'verifier2@test.com',\n handle: 'verifier2.test',\n password: 'verifier2-pass',\n },\n verifier3: {\n email: 'verifier3@test.com',\n handle: 'verifier3.test',\n password: 'verifier3-pass',\n },\n nonverifier: {\n email: 'nonverifier@test.com',\n handle: 'nonverifier.test',\n password: 'nonverifier-pass',\n },\n handleinvalid: {\n email: 'handleinvalid@test.com',\n handle: 'handleinvalid.test',\n password: 'handleinvalid-pass',\n },\n handleempty: {\n email: 'handleempty@test.com',\n handle: 'handleempty.test',\n password: 'handleempty-pass',\n },\n} as const\n\nconst createLabel = async (\n sc: SeedClient<TestNetwork>,\n labelerDid: string,\n opts: {\n src?: string\n uri: string\n cid: string\n val: string\n exp?: string\n },\n) => {\n await sc.network.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 exp: opts.exp ?? null,\n neg: false,\n src: opts.src ?? labelerDid,\n })\n .execute()\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-profile-lexicon.d.ts","sourceRoot":"","sources":["../src/service-profile-lexicon.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"service-profile-lexicon.d.ts","sourceRoot":"","sources":["../src/service-profile-lexicon.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAoErD,qBAAa,uBAAwB,SAAQ,cAAc;IACzD,OAAoB,MAAM,CACxB,GAAG,EAAE,OAAO,EACZ,WAAW;QACT,KAAK;QACL,MAAM;QACN,QAAQ;KACT,oCAMF;IAEK,aAAa,kBAiBlB;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-profile-lexicon.js","sourceRoot":"","sources":["../src/service-profile-lexicon.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,QAAQ,GAA0B;IACtC;QACE,OAAO,EAAE,CAAC;QACV,EAAE,EAAE,wCAAwC;QAC5C,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,YAAY;gBACnB,YAAY,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE;gBAClC,MAAM,EAAE,2BAA2B;gBACnC,aAAa,EAAE;oBACb,OAAO,EAAE,kCAAkC;iBAC5C;gBACD,WAAW,EAAE;oBACX;wBACE,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,KAAK;wBACf,GAAG,EAAE,GAAG;wBACR,GAAG,EAAE,CAAC,qCAAqC,CAAC;qBAC7C;iBACF;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,EAAE,EAAE,sCAAsC;QAC1C,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,UAAU;gBACjB,YAAY,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE;gBAClC,MAAM,EAAE,8BAA8B;gBACtC,aAAa,EAAE;oBACb,OAAO,EAAE,kCAAkC;iBAC5C;gBACD,WAAW,EAAE;oBACX;wBACE,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,KAAK;wBACf,UAAU,EAAE,IAAI;wBAChB,GAAG,EAAE;4BACH,iCAAiC;4BACjC,sCAAsC;4BACtC,oCAAoC;yBACrC;qBACF;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,MAAM;wBAChB,UAAU,EAAE;4BACV,4BAA4B;4BAC5B,2BAA2B;yBAC5B;qBACF;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,MAAM;wBAChB,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;qBAC/B;iBACF;aACF;SACF;KACF;CACF,CAAA;AAED,MAAM,OAAO,uBAAwB,SAAQ,cAAc;IAClD,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,GAAY,EACZ,WAAW,GAAG;QACZ,KAAK,EAAE,wBAAwB;QAC/B,MAAM,EAAE,oBAAoB;QAC5B,QAAQ,EAAE,SAAS;KACpB;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;QAC5B,MAAM,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;QAEtC,OAAO,IAAI,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAC5C,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAClB;YACE,WAAW,EAAE,mBAAmB;YAChC,WAAW,EAAE,kEAAkE;SAChF,CACF,CAAA;QAED,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC7C,IAAI,EAAE,IAAI,CAAC,GAAG;gBACd,UAAU,EAAE,4BAA4B;gBACxC,IAAI,EAAE,GAAG,CAAC,EAAE;gBACZ,MAAM,EAAE,GAAG;aACZ,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF","sourcesContent":["import { LexiconDoc } from '@atproto/lexicon'\nimport { TestPds } from './pds.js'\nimport { ServiceProfile } from './service-profile.js'\n\nconst LEXICONS: readonly LexiconDoc[] = [\n {\n lexicon: 1,\n id: 'com.atproto.moderation.basePermissions',\n defs: {\n main: {\n type: 'permission-set',\n title: 'Moderation',\n 'title:lang': { fr: 'Modération' },\n detail: 'Create moderation reports',\n 'detail:lang': {\n 'fr-FR': 'Créer des rapports de modération',\n },\n permissions: [\n {\n type: 'permission',\n resource: 'rpc',\n aud: '*',\n lxm: ['com.atproto.moderation.createReport'],\n },\n ],\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.example.calendar.basePermissions',\n defs: {\n main: {\n type: 'permission-set',\n title: 'Calendar',\n 'title:lang': { fr: 'Calendrier' },\n detail: 'Manage your events and RSVPs',\n 'detail:lang': {\n 'fr-BE': 'Gérer vos événements et réponses',\n },\n permissions: [\n {\n type: 'permission',\n resource: 'rpc',\n inheritAud: true,\n lxm: [\n 'com.example.calendar.listEvents',\n 'com.example.calendar.getEventDetails',\n 'com.example.calendar.getEventRsvps',\n ],\n },\n {\n type: 'permission',\n resource: 'repo',\n collection: [\n 'com.example.calendar.event',\n 'com.example.calendar.rsvp',\n ],\n },\n {\n type: 'permission',\n resource: 'blob',\n accept: ['image/*', 'video/*'],\n },\n ],\n },\n },\n },\n]\n\nexport class LexiconAuthorityProfile extends ServiceProfile {\n public static async create(\n pds: TestPds,\n userDetails = {\n email: 'lex-authority@test.com',\n handle: 'lex-authority.test',\n password: 'hunter2',\n },\n ) {\n const agent = pds.getAgent()\n await agent.createAccount(userDetails)\n\n return new LexiconAuthorityProfile(pds, agent, userDetails)\n }\n\n async createRecords() {\n await this.agent.app.bsky.actor.profile.create(\n { repo: this.did },\n {\n displayName: 'Lexicon Authority',\n description: `the repo containing all the lexicons that can be resolved in dev`,\n },\n )\n\n for (const doc of LEXICONS) {\n await this.agent.com.atproto.repo.createRecord({\n repo: this.did,\n collection: 'com.atproto.lexicon.schema',\n rkey: doc.id,\n record: doc,\n })\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"service-profile-lexicon.js","sourceRoot":"","sources":["../src/service-profile-lexicon.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,QAAQ,GAA0B;IACtC;QACE,OAAO,EAAE,CAAC;QACV,EAAE,EAAE,wCAAwC;QAC5C,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,YAAY;gBACnB,YAAY,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE;gBAClC,MAAM,EAAE,2BAA2B;gBACnC,aAAa,EAAE;oBACb,OAAO,EAAE,kCAAkC;iBAC5C;gBACD,WAAW,EAAE;oBACX;wBACE,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,KAAK;wBACf,GAAG,EAAE,GAAG;wBACR,GAAG,EAAE,CAAC,qCAAqC,CAAC;qBAC7C;iBACF;aACF;SACF;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,EAAE,EAAE,sCAAsC;QAC1C,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,UAAU;gBACjB,YAAY,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE;gBAClC,MAAM,EAAE,8BAA8B;gBACtC,aAAa,EAAE;oBACb,OAAO,EAAE,kCAAkC;iBAC5C;gBACD,WAAW,EAAE;oBACX;wBACE,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,KAAK;wBACf,UAAU,EAAE,IAAI;wBAChB,GAAG,EAAE;4BACH,iCAAiC;4BACjC,sCAAsC;4BACtC,oCAAoC;yBACrC;qBACF;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,MAAM;wBAChB,UAAU,EAAE;4BACV,4BAA4B;4BAC5B,2BAA2B;yBAC5B;qBACF;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,MAAM;wBAChB,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;qBAC/B;iBACF;aACF;SACF;KACF;CACF,CAAA;AAED,MAAM,OAAO,uBAAwB,SAAQ,cAAc;IAClD,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,GAAY,EACZ,WAAW,GAAG;QACZ,KAAK,EAAE,wBAAwB;QAC/B,MAAM,EAAE,oBAAoB;QAC5B,QAAQ,EAAE,SAAS;KACpB;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;QAC5B,MAAM,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;QAEtC,OAAO,IAAI,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAC5C,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAClB;YACE,WAAW,EAAE,mBAAmB;YAChC,WAAW,EAAE,kEAAkE;SAChF,CACF,CAAA;QAED,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC7C,IAAI,EAAE,IAAI,CAAC,GAAG;gBACd,UAAU,EAAE,4BAA4B;gBACxC,IAAI,EAAE,GAAG,CAAC,EAAE;gBACZ,MAAM,EAAE,GAAG;aACZ,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF","sourcesContent":["import type { LexiconDoc } from '@atproto/lexicon'\nimport type { TestPds } from './pds.js'\nimport { ServiceProfile } from './service-profile.js'\n\nconst LEXICONS: readonly LexiconDoc[] = [\n {\n lexicon: 1,\n id: 'com.atproto.moderation.basePermissions',\n defs: {\n main: {\n type: 'permission-set',\n title: 'Moderation',\n 'title:lang': { fr: 'Modération' },\n detail: 'Create moderation reports',\n 'detail:lang': {\n 'fr-FR': 'Créer des rapports de modération',\n },\n permissions: [\n {\n type: 'permission',\n resource: 'rpc',\n aud: '*',\n lxm: ['com.atproto.moderation.createReport'],\n },\n ],\n },\n },\n },\n {\n lexicon: 1,\n id: 'com.example.calendar.basePermissions',\n defs: {\n main: {\n type: 'permission-set',\n title: 'Calendar',\n 'title:lang': { fr: 'Calendrier' },\n detail: 'Manage your events and RSVPs',\n 'detail:lang': {\n 'fr-BE': 'Gérer vos événements et réponses',\n },\n permissions: [\n {\n type: 'permission',\n resource: 'rpc',\n inheritAud: true,\n lxm: [\n 'com.example.calendar.listEvents',\n 'com.example.calendar.getEventDetails',\n 'com.example.calendar.getEventRsvps',\n ],\n },\n {\n type: 'permission',\n resource: 'repo',\n collection: [\n 'com.example.calendar.event',\n 'com.example.calendar.rsvp',\n ],\n },\n {\n type: 'permission',\n resource: 'blob',\n accept: ['image/*', 'video/*'],\n },\n ],\n },\n },\n },\n]\n\nexport class LexiconAuthorityProfile extends ServiceProfile {\n public static async create(\n pds: TestPds,\n userDetails = {\n email: 'lex-authority@test.com',\n handle: 'lex-authority.test',\n password: 'hunter2',\n },\n ) {\n const agent = pds.getAgent()\n await agent.createAccount(userDetails)\n\n return new LexiconAuthorityProfile(pds, agent, userDetails)\n }\n\n async createRecords() {\n await this.agent.app.bsky.actor.profile.create(\n { repo: this.did },\n {\n displayName: 'Lexicon Authority',\n description: `the repo containing all the lexicons that can be resolved in dev`,\n },\n )\n\n for (const doc of LEXICONS) {\n await this.agent.com.atproto.repo.createRecord({\n repo: this.did,\n collection: 'com.atproto.lexicon.schema',\n rkey: doc.id,\n record: doc,\n })\n }\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AtpAgent } from '@atproto/api';
|
|
1
|
+
import type { AtpAgent } from '@atproto/api';
|
|
2
2
|
import { Secp256k1Keypair } from '@atproto/crypto';
|
|
3
|
-
import { TestPds } from './pds.js';
|
|
4
|
-
import { ServiceMigrationOptions, ServiceProfile, ServiceUserDetails } from './service-profile.js';
|
|
3
|
+
import type { TestPds } from './pds.js';
|
|
4
|
+
import { type ServiceMigrationOptions, ServiceProfile, type ServiceUserDetails } from './service-profile.js';
|
|
5
5
|
export declare class OzoneServiceProfile extends ServiceProfile {
|
|
6
6
|
readonly ozoneUrl: string;
|
|
7
7
|
readonly key: Secp256k1Keypair;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-profile-ozone.d.ts","sourceRoot":"","sources":["../src/service-profile-ozone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"service-profile-ozone.d.ts","sourceRoot":"","sources":["../src/service-profile-ozone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EACL,KAAK,uBAAuB,EAC5B,cAAc,EACd,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAA;AAE7B,qBAAa,mBAAoB,SAAQ,cAAc;IAsBnD,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,GAAG,EAAE,gBAAgB;IAtBhC,OAAa,MAAM,CACjB,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,EAChB,WAAW;QACT,KAAK;QACL,MAAM;QACN,QAAQ;KACT,gCAQF;IAED,SAAS,aACP,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,kBAAkB,EACtB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,gBAAgB,EAG/B;IAEK,gCAAgC,oBAKrC;IAEK,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,uBAA4B,iBAelE;IAEK,aAAa,kBAwTlB;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-profile-ozone.js","sourceRoot":"","sources":["../src/service-profile-ozone.ts"],"names":[],"mappings":"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","sourcesContent":["import { AtpAgent } from '@atproto/api'\nimport { Secp256k1Keypair } from '@atproto/crypto'\nimport { TestPds } from './pds.js'\nimport {\n ServiceMigrationOptions,\n ServiceProfile,\n ServiceUserDetails,\n} from './service-profile.js'\n\nexport class OzoneServiceProfile extends ServiceProfile {\n static async create(\n pds: TestPds,\n ozoneUrl: string,\n userDetails = {\n email: 'mod-authority@test.com',\n handle: 'mod-authority.test',\n password: 'hunter2',\n },\n ) {\n const agent = pds.getAgent()\n await agent.createAccount(userDetails)\n\n const key = await Secp256k1Keypair.create({ exportable: true })\n\n return new OzoneServiceProfile(pds, agent, userDetails, ozoneUrl, key)\n }\n\n protected constructor(\n pds: TestPds,\n agent: AtpAgent,\n userDetails: ServiceUserDetails,\n readonly ozoneUrl: string,\n readonly key: Secp256k1Keypair,\n ) {\n super(pds, agent, userDetails)\n }\n\n async createAppPasswordForVerification() {\n const { data } = await this.agent.com.atproto.server.createAppPassword({\n name: 'ozone-verifier',\n })\n return data.password\n }\n\n async migrateTo(pds: TestPds, options: ServiceMigrationOptions = {}) {\n await super.migrateTo(pds, {\n ...options,\n services: {\n ...options.services,\n atproto_labeler: {\n type: 'AtprotoLabeler',\n endpoint: this.ozoneUrl,\n },\n },\n verificationMethods: {\n ...options.verificationMethods,\n atproto_label: this.key.did(),\n },\n })\n }\n\n async createRecords() {\n await this.agent.app.bsky.actor.profile.create(\n { repo: this.did },\n {\n displayName: 'Dev-env Moderation',\n description: `The pretend version of mod.bsky.app`,\n },\n )\n\n await this.agent.app.bsky.labeler.service.create(\n { repo: this.did, rkey: 'self' },\n {\n policies: {\n labelValues: [\n '!hide',\n '!warn',\n 'porn',\n 'sexual',\n 'nudity',\n 'sexual-figurative',\n 'graphic-media',\n 'self-harm',\n 'sensitive',\n 'extremist',\n 'intolerant',\n 'threat',\n 'rude',\n 'illicit',\n 'security',\n 'unsafe-link',\n 'impersonation',\n 'misinformation',\n 'scam',\n 'engagement-farming',\n 'spam',\n 'rumor',\n 'misleading',\n 'inauthentic',\n ],\n labelValueDefinitions: [\n {\n identifier: 'spam',\n blurs: 'content',\n severity: 'inform',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Spam',\n description:\n 'Unwanted, repeated, or unrelated actions that bother users.',\n },\n ],\n },\n {\n identifier: 'impersonation',\n blurs: 'none',\n severity: 'inform',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Impersonation',\n description:\n 'Pretending to be someone else without permission.',\n },\n ],\n },\n {\n identifier: 'scam',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Scam',\n description: 'Scams, phishing & fraud.',\n },\n ],\n },\n {\n identifier: 'intolerant',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'warn',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Intolerance',\n description: 'Discrimination against protected groups.',\n },\n ],\n },\n {\n identifier: 'self-harm',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'warn',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Self-Harm',\n description:\n 'Promotes self-harm, including graphic images, glorifying discussions, or triggering stories.',\n },\n ],\n },\n {\n identifier: 'security',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Security Concerns',\n description:\n 'May be unsafe and could harm your device, steal your info, or get your account hacked.',\n },\n ],\n },\n {\n identifier: 'misleading',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'warn',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Misleading',\n description:\n 'Altered images/videos, deceptive links, or false statements.',\n },\n ],\n },\n {\n identifier: 'threat',\n blurs: 'content',\n severity: 'inform',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Threats',\n description:\n 'Promotes violence or harm towards others, including threats, incitement, or advocacy of harm.',\n },\n ],\n },\n {\n identifier: 'unsafe-link',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Unsafe link',\n description:\n 'Links to harmful sites with malware, phishing, or violating content that risk security and privacy.',\n },\n ],\n },\n {\n identifier: 'illicit',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Illicit',\n description:\n 'Promoting or selling potentially illicit goods, services, or activities.',\n },\n ],\n },\n {\n identifier: 'misinformation',\n blurs: 'content',\n severity: 'inform',\n defaultSetting: 'warn',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Misinformation',\n description:\n 'Spreading false or misleading info, including unverified claims and harmful conspiracy theories.',\n },\n ],\n },\n {\n identifier: 'rumor',\n blurs: 'content',\n severity: 'inform',\n defaultSetting: 'warn',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Rumor',\n description:\n 'Approach with caution, as these claims lack evidence from credible sources.',\n },\n ],\n },\n {\n identifier: 'rude',\n blurs: 'content',\n severity: 'inform',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Rude',\n description:\n 'Rude or impolite, including crude language and disrespectful comments, without constructive purpose.',\n },\n ],\n },\n {\n identifier: 'extremist',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Extremist',\n description:\n 'Radical views advocating violence, hate, or discrimination against individuals or groups.',\n },\n ],\n },\n {\n identifier: 'sensitive',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'warn',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Sensitive',\n description:\n 'May be upsetting, covering topics like substance abuse or mental health issues, cautioning sensitive viewers.',\n },\n ],\n },\n {\n identifier: 'engagement-farming',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Engagement Farming',\n description:\n 'Insincere content or bulk actions aimed at gaining followers, including frequent follows, posts, and likes.',\n },\n ],\n },\n {\n identifier: 'inauthentic',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Inauthentic Account',\n description: 'Bot or a person pretending to be someone else.',\n },\n ],\n },\n {\n identifier: 'sexual-figurative',\n blurs: 'media',\n severity: 'none',\n defaultSetting: 'show',\n adultOnly: true,\n locales: [\n {\n lang: 'en',\n name: 'Sexually Suggestive (Cartoon)',\n description:\n 'Art with explicit or suggestive sexual themes, including provocative imagery or partial nudity.',\n },\n ],\n },\n ],\n },\n createdAt: new Date().toISOString(),\n },\n )\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"service-profile-ozone.js","sourceRoot":"","sources":["../src/service-profile-ozone.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AtpAgent } from '@atproto/api'\nimport { Secp256k1Keypair } from '@atproto/crypto'\nimport type { TestPds } from './pds.js'\nimport {\n type ServiceMigrationOptions,\n ServiceProfile,\n type ServiceUserDetails,\n} from './service-profile.js'\n\nexport class OzoneServiceProfile extends ServiceProfile {\n static async create(\n pds: TestPds,\n ozoneUrl: string,\n userDetails = {\n email: 'mod-authority@test.com',\n handle: 'mod-authority.test',\n password: 'hunter2',\n },\n ) {\n const agent = pds.getAgent()\n await agent.createAccount(userDetails)\n\n const key = await Secp256k1Keypair.create({ exportable: true })\n\n return new OzoneServiceProfile(pds, agent, userDetails, ozoneUrl, key)\n }\n\n protected constructor(\n pds: TestPds,\n agent: AtpAgent,\n userDetails: ServiceUserDetails,\n readonly ozoneUrl: string,\n readonly key: Secp256k1Keypair,\n ) {\n super(pds, agent, userDetails)\n }\n\n async createAppPasswordForVerification() {\n const { data } = await this.agent.com.atproto.server.createAppPassword({\n name: 'ozone-verifier',\n })\n return data.password\n }\n\n async migrateTo(pds: TestPds, options: ServiceMigrationOptions = {}) {\n await super.migrateTo(pds, {\n ...options,\n services: {\n ...options.services,\n atproto_labeler: {\n type: 'AtprotoLabeler',\n endpoint: this.ozoneUrl,\n },\n },\n verificationMethods: {\n ...options.verificationMethods,\n atproto_label: this.key.did(),\n },\n })\n }\n\n async createRecords() {\n await this.agent.app.bsky.actor.profile.create(\n { repo: this.did },\n {\n displayName: 'Dev-env Moderation',\n description: `The pretend version of mod.bsky.app`,\n },\n )\n\n await this.agent.app.bsky.labeler.service.create(\n { repo: this.did, rkey: 'self' },\n {\n policies: {\n labelValues: [\n '!hide',\n '!warn',\n 'porn',\n 'sexual',\n 'nudity',\n 'sexual-figurative',\n 'graphic-media',\n 'self-harm',\n 'sensitive',\n 'extremist',\n 'intolerant',\n 'threat',\n 'rude',\n 'illicit',\n 'security',\n 'unsafe-link',\n 'impersonation',\n 'misinformation',\n 'scam',\n 'engagement-farming',\n 'spam',\n 'rumor',\n 'misleading',\n 'inauthentic',\n ],\n labelValueDefinitions: [\n {\n identifier: 'spam',\n blurs: 'content',\n severity: 'inform',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Spam',\n description:\n 'Unwanted, repeated, or unrelated actions that bother users.',\n },\n ],\n },\n {\n identifier: 'impersonation',\n blurs: 'none',\n severity: 'inform',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Impersonation',\n description:\n 'Pretending to be someone else without permission.',\n },\n ],\n },\n {\n identifier: 'scam',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Scam',\n description: 'Scams, phishing & fraud.',\n },\n ],\n },\n {\n identifier: 'intolerant',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'warn',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Intolerance',\n description: 'Discrimination against protected groups.',\n },\n ],\n },\n {\n identifier: 'self-harm',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'warn',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Self-Harm',\n description:\n 'Promotes self-harm, including graphic images, glorifying discussions, or triggering stories.',\n },\n ],\n },\n {\n identifier: 'security',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Security Concerns',\n description:\n 'May be unsafe and could harm your device, steal your info, or get your account hacked.',\n },\n ],\n },\n {\n identifier: 'misleading',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'warn',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Misleading',\n description:\n 'Altered images/videos, deceptive links, or false statements.',\n },\n ],\n },\n {\n identifier: 'threat',\n blurs: 'content',\n severity: 'inform',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Threats',\n description:\n 'Promotes violence or harm towards others, including threats, incitement, or advocacy of harm.',\n },\n ],\n },\n {\n identifier: 'unsafe-link',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Unsafe link',\n description:\n 'Links to harmful sites with malware, phishing, or violating content that risk security and privacy.',\n },\n ],\n },\n {\n identifier: 'illicit',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Illicit',\n description:\n 'Promoting or selling potentially illicit goods, services, or activities.',\n },\n ],\n },\n {\n identifier: 'misinformation',\n blurs: 'content',\n severity: 'inform',\n defaultSetting: 'warn',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Misinformation',\n description:\n 'Spreading false or misleading info, including unverified claims and harmful conspiracy theories.',\n },\n ],\n },\n {\n identifier: 'rumor',\n blurs: 'content',\n severity: 'inform',\n defaultSetting: 'warn',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Rumor',\n description:\n 'Approach with caution, as these claims lack evidence from credible sources.',\n },\n ],\n },\n {\n identifier: 'rude',\n blurs: 'content',\n severity: 'inform',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Rude',\n description:\n 'Rude or impolite, including crude language and disrespectful comments, without constructive purpose.',\n },\n ],\n },\n {\n identifier: 'extremist',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Extremist',\n description:\n 'Radical views advocating violence, hate, or discrimination against individuals or groups.',\n },\n ],\n },\n {\n identifier: 'sensitive',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'warn',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Sensitive',\n description:\n 'May be upsetting, covering topics like substance abuse or mental health issues, cautioning sensitive viewers.',\n },\n ],\n },\n {\n identifier: 'engagement-farming',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Engagement Farming',\n description:\n 'Insincere content or bulk actions aimed at gaining followers, including frequent follows, posts, and likes.',\n },\n ],\n },\n {\n identifier: 'inauthentic',\n blurs: 'content',\n severity: 'alert',\n defaultSetting: 'hide',\n adultOnly: false,\n locales: [\n {\n lang: 'en',\n name: 'Inauthentic Account',\n description: 'Bot or a person pretending to be someone else.',\n },\n ],\n },\n {\n identifier: 'sexual-figurative',\n blurs: 'media',\n severity: 'none',\n defaultSetting: 'show',\n adultOnly: true,\n locales: [\n {\n lang: 'en',\n name: 'Sexually Suggestive (Cartoon)',\n description:\n 'Art with explicit or suggestive sexual themes, including provocative imagery or partial nudity.',\n },\n ],\n },\n ],\n },\n createdAt: new Date().toISOString(),\n },\n )\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AtpAgent } from '@atproto/api';
|
|
2
|
-
import { DidString } from '@atproto/lex';
|
|
3
|
-
import { TestPds } from './pds.js';
|
|
1
|
+
import type { AtpAgent } from '@atproto/api';
|
|
2
|
+
import type { DidString } from '@atproto/lex';
|
|
3
|
+
import type { TestPds } from './pds.js';
|
|
4
4
|
export type ServiceUserDetails = {
|
|
5
5
|
email: string;
|
|
6
6
|
handle: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-profile.d.ts","sourceRoot":"","sources":["../src/service-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"service-profile.d.ts","sourceRoot":"","sources":["../src/service-profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9C,CAAA;AAED,qBAAa,cAAc;IAEvB,SAAS,CAAC,GAAG,EAAE,OAAO;IACtB,yDAAyD;IACzD,SAAS,CAAC,KAAK,EAAE,QAAQ;IACzB,SAAS,CAAC,WAAW,EAAE,kBAAkB;IAJ3C,SAAS,aACG,GAAG,EAAE,OAAO;IACtB,yDAAyD;IAC/C,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,kBAAkB,EACvC;IAEJ,IAAI,GAAG,IAAI,SAAS,CAEnB;IAEK,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAE,uBAA4B,iBAkErE;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-profile.js","sourceRoot":"","sources":["../src/service-profile.ts"],"names":[],"mappings":"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","sourcesContent":["import { AtpAgent } from '@atproto/api'\nimport { DidString } from '@atproto/lex'\nimport { TestPds } from './pds.js'\n\nexport type ServiceUserDetails = {\n email: string\n handle: string\n password: string\n}\n\nexport type ServiceMigrationOptions = {\n services?: Record<string, unknown>\n verificationMethods?: Record<string, unknown>\n}\n\nexport class ServiceProfile {\n protected constructor(\n protected pds: TestPds,\n /** @note assumes the session is already authenticated */\n protected agent: AtpAgent,\n protected userDetails: ServiceUserDetails,\n ) {}\n\n get did(): DidString {\n return this.agent.assertDid\n }\n\n async migrateTo(newPds: TestPds, options: ServiceMigrationOptions = {}) {\n const newAgent = newPds.getAgent()\n\n const newPdsDesc = await newAgent.com.atproto.server.describeServer()\n const serviceAuth = await this.agent.com.atproto.server.getServiceAuth({\n aud: newPdsDesc.data.did,\n lxm: 'com.atproto.server.createAccount',\n })\n\n const inviteCode = newPds.ctx.cfg.invites.required\n ? await newAgent.com.atproto.server\n .createInviteCode(\n { useCount: 1 },\n {\n encoding: 'application/json',\n headers: newPds.adminAuthHeaders(),\n },\n )\n .then((res) => res.data.code)\n : undefined\n\n await newAgent.createAccount(\n {\n ...this.userDetails,\n inviteCode,\n did: this.did,\n },\n {\n encoding: 'application/json',\n headers: { authorization: `Bearer ${serviceAuth.data.token}` },\n },\n )\n\n // The session manager will use the \"didDoc\" in the result of\n // \"createAccount\" in order to setup the pdsUrl. However, since are in the\n // process of migrating, that didDoc references the old PDS. In order to\n // avoid calling the old PDS, let's clear the pdsUrl, which will result in\n // the (new) serviceUrl being used.\n newAgent.sessionManager.pdsUrl = undefined\n\n const newDidCredentialsRes =\n await newAgent.com.atproto.identity.getRecommendedDidCredentials()\n\n await this.agent.com.atproto.identity.requestPlcOperationSignature()\n const { token } = await this.pds.ctx.accountManager.db.db\n .selectFrom('email_token')\n .select('token')\n .where('did', '=', this.did)\n .where('purpose', '=', 'plc_operation')\n .executeTakeFirstOrThrow()\n\n const op = { ...newDidCredentialsRes.data, token }\n Object.assign((op.services ??= {}), options.services)\n Object.assign((op.verificationMethods ??= {}), options.verificationMethods)\n\n const signedPlcOperation =\n await this.agent.com.atproto.identity.signPlcOperation(op)\n\n await newAgent.com.atproto.identity.submitPlcOperation({\n operation: signedPlcOperation.data.operation,\n })\n\n await newAgent.com.atproto.server.activateAccount()\n\n this.pds = newPds\n this.agent = newAgent\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"service-profile.js","sourceRoot":"","sources":["../src/service-profile.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AtpAgent } from '@atproto/api'\nimport type { DidString } from '@atproto/lex'\nimport type { TestPds } from './pds.js'\n\nexport type ServiceUserDetails = {\n email: string\n handle: string\n password: string\n}\n\nexport type ServiceMigrationOptions = {\n services?: Record<string, unknown>\n verificationMethods?: Record<string, unknown>\n}\n\nexport class ServiceProfile {\n protected constructor(\n protected pds: TestPds,\n /** @note assumes the session is already authenticated */\n protected agent: AtpAgent,\n protected userDetails: ServiceUserDetails,\n ) {}\n\n get did(): DidString {\n return this.agent.assertDid\n }\n\n async migrateTo(newPds: TestPds, options: ServiceMigrationOptions = {}) {\n const newAgent = newPds.getAgent()\n\n const newPdsDesc = await newAgent.com.atproto.server.describeServer()\n const serviceAuth = await this.agent.com.atproto.server.getServiceAuth({\n aud: newPdsDesc.data.did,\n lxm: 'com.atproto.server.createAccount',\n })\n\n const inviteCode = newPds.ctx.cfg.invites.required\n ? await newAgent.com.atproto.server\n .createInviteCode(\n { useCount: 1 },\n {\n encoding: 'application/json',\n headers: newPds.adminAuthHeaders(),\n },\n )\n .then((res) => res.data.code)\n : undefined\n\n await newAgent.createAccount(\n {\n ...this.userDetails,\n inviteCode,\n did: this.did,\n },\n {\n encoding: 'application/json',\n headers: { authorization: `Bearer ${serviceAuth.data.token}` },\n },\n )\n\n // The session manager will use the \"didDoc\" in the result of\n // \"createAccount\" in order to setup the pdsUrl. However, since are in the\n // process of migrating, that didDoc references the old PDS. In order to\n // avoid calling the old PDS, let's clear the pdsUrl, which will result in\n // the (new) serviceUrl being used.\n newAgent.sessionManager.pdsUrl = undefined\n\n const newDidCredentialsRes =\n await newAgent.com.atproto.identity.getRecommendedDidCredentials()\n\n await this.agent.com.atproto.identity.requestPlcOperationSignature()\n const { token } = await this.pds.ctx.accountManager.db.db\n .selectFrom('email_token')\n .select('token')\n .where('did', '=', this.did)\n .where('purpose', '=', 'plc_operation')\n .executeTakeFirstOrThrow()\n\n const op = { ...newDidCredentialsRes.data, token }\n Object.assign((op.services ??= {}), options.services)\n Object.assign((op.verificationMethods ??= {}), options.verificationMethods)\n\n const signedPlcOperation =\n await this.agent.com.atproto.identity.signPlcOperation(op)\n\n await newAgent.com.atproto.identity.submitPlcOperation({\n operation: signedPlcOperation.data.operation,\n })\n\n await newAgent.com.atproto.server.activateAccount()\n\n this.pds = newPds\n this.agent = newAgent\n }\n}\n"]}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as bsky from '@atproto/bsky';
|
|
2
|
-
import * as bsync from '@atproto/bsync';
|
|
3
|
-
import { ExportableKeypair, Keypair } from '@atproto/crypto';
|
|
4
|
-
import * as ozone from '@atproto/ozone';
|
|
5
|
-
import * as pds from '@atproto/pds';
|
|
1
|
+
import type * as bsky from '@atproto/bsky';
|
|
2
|
+
import type * as bsync from '@atproto/bsync';
|
|
3
|
+
import type { ExportableKeypair, Keypair } from '@atproto/crypto';
|
|
4
|
+
import type * as ozone from '@atproto/ozone';
|
|
5
|
+
import type * as pds from '@atproto/pds';
|
|
6
6
|
export type IntrospectConfig = {
|
|
7
7
|
port?: number;
|
|
8
8
|
};
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,eAAe,CAAA;AAC1C,OAAO,KAAK,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAA;AAExC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG;IACvD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG;IACpD,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG;IAC3D,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG;IAC1D,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,cAAc,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IACvB,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IACvB,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IACzB,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAC3B,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,OAAO,CAAA;CACb,CAAA"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import * as bsky from '@atproto/bsky'\nimport * as bsync from '@atproto/bsync'\nimport { ExportableKeypair, Keypair } from '@atproto/crypto'\nimport * as ozone from '@atproto/ozone'\nimport * as pds from '@atproto/pds'\n\nexport type IntrospectConfig = {\n port?: number\n}\n\nexport type PlcConfig = {\n port?: number\n version?: string\n}\n\nexport type PdsConfig = Partial<pds.ServerEnvironment> & {\n didPlcUrl: string\n migration?: string\n}\n\nexport type BskyConfig = Partial<bsky.ServerConfig> & {\n bsyncUrl: string\n plcUrl: string\n repoProvider: string\n dbPostgresUrl: string\n dbPostgresSchema: string\n redisHost: string\n pdsPort: number\n migration?: string\n privateKey?: string\n}\n\nexport type BsyncConfig = Partial<bsync.ServerEnvironment> & {\n dbUrl: string\n}\n\nexport type OzoneConfig = Partial<ozone.OzoneEnvironment> & {\n plcUrl: string\n appviewUrl: string\n appviewDid: string\n dbPostgresUrl: string\n migration?: string\n signingKey?: ExportableKeypair\n imgInvalidator?: ozone.ImageInvalidator\n}\n\nexport type TestServerParams = {\n dbPostgresUrl: string\n dbPostgresSchema: string\n pds: Partial<PdsConfig>\n plc: Partial<PlcConfig>\n bsky: Partial<BskyConfig>\n ozone: Partial<OzoneConfig>\n introspect: Partial<IntrospectConfig>\n}\n\nexport type DidAndKey = {\n did: string\n key: Keypair\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type * as bsky from '@atproto/bsky'\nimport type * as bsync from '@atproto/bsync'\nimport type { ExportableKeypair, Keypair } from '@atproto/crypto'\nimport type * as ozone from '@atproto/ozone'\nimport type * as pds from '@atproto/pds'\n\nexport type IntrospectConfig = {\n port?: number\n}\n\nexport type PlcConfig = {\n port?: number\n version?: string\n}\n\nexport type PdsConfig = Partial<pds.ServerEnvironment> & {\n didPlcUrl: string\n migration?: string\n}\n\nexport type BskyConfig = Partial<bsky.ServerConfig> & {\n bsyncUrl: string\n plcUrl: string\n repoProvider: string\n dbPostgresUrl: string\n dbPostgresSchema: string\n redisHost: string\n pdsPort: number\n migration?: string\n privateKey?: string\n}\n\nexport type BsyncConfig = Partial<bsync.ServerEnvironment> & {\n dbUrl: string\n}\n\nexport type OzoneConfig = Partial<ozone.OzoneEnvironment> & {\n plcUrl: string\n appviewUrl: string\n appviewDid: string\n dbPostgresUrl: string\n migration?: string\n signingKey?: ExportableKeypair\n imgInvalidator?: ozone.ImageInvalidator\n}\n\nexport type TestServerParams = {\n dbPostgresUrl: string\n dbPostgresSchema: string\n pds: Partial<PdsConfig>\n plc: Partial<PlcConfig>\n bsky: Partial<BskyConfig>\n ozone: Partial<OzoneConfig>\n introspect: Partial<IntrospectConfig>\n}\n\nexport type DidAndKey = {\n did: string\n key: Keypair\n}\n"]}
|
package/dist/util.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { IdResolver } from '@atproto/identity';
|
|
2
|
-
import { TestBsky } from './bsky.js';
|
|
3
|
-
import { TestPds } from './pds.js';
|
|
4
|
-
import { DidAndKey } from './types.js';
|
|
1
|
+
import type { IdResolver } from '@atproto/identity';
|
|
2
|
+
import type { TestBsky } from './bsky.js';
|
|
3
|
+
import type { TestPds } from './pds.js';
|
|
4
|
+
import type { DidAndKey } from './types.js';
|
|
5
5
|
export declare const mockNetworkUtilities: (pds: TestPds, bsky?: TestBsky) => void;
|
|
6
6
|
export declare const mockResolvers: (idResolver: IdResolver, pds: TestPds) => void;
|
|
7
7
|
export declare const mockMailer: (pds: TestPds) => void;
|
package/dist/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,eAAO,MAAM,oBAAoB,QAAS,OAAO,SAAS,QAAQ,SAMjE,CAAA;AAED,eAAO,MAAM,aAAa,eAAgB,UAAU,OAAO,OAAO,SAwCjE,CAAA;AAED,eAAO,MAAM,UAAU,QAAS,OAAO,SAQtC,CAAA;AAGD,eAAO,MAAM,YAAY,cAOxB,CAAA;AAED,eAAO,MAAM,eAAe,SAAgB;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;CACZ,KAAG,OAAO,CAAC,SAAS,CAcpB,CAAA"}
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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","sourcesContent":["import * as plc from '@did-plc/lib'\nimport { request } from 'undici'\nimport { Secp256k1Keypair } from '@atproto/crypto'\nimport { IdResolver } from '@atproto/identity'\nimport { TestBsky } from './bsky.js'\nimport { TestPds } from './pds.js'\nimport { DidAndKey } from './types.js'\n\nexport const mockNetworkUtilities = (pds: TestPds, bsky?: TestBsky) => {\n mockResolvers(pds.ctx.idResolver, pds)\n if (bsky) {\n mockResolvers(bsky.ctx.idResolver, pds)\n mockResolvers(bsky.dataplane.idResolver, pds)\n }\n}\n\nexport const mockResolvers = (idResolver: IdResolver, pds: TestPds) => {\n // Map pds public url to its local url when resolving from plc\n const origResolveDid = idResolver.did.resolveNoCache\n idResolver.did.resolveNoCache = async (did: string) => {\n const result = await (origResolveDid.call(\n idResolver.did,\n did,\n ) as ReturnType<typeof origResolveDid>)\n const service = result?.service?.find((svc) => svc.id === '#atproto_pds')\n if (typeof service?.serviceEndpoint === 'string') {\n service.serviceEndpoint = service.serviceEndpoint.replace(\n pds.ctx.cfg.service.publicUrl,\n `http://localhost:${pds.port}`,\n )\n }\n return result\n }\n\n const origResolveHandleDns = idResolver.handle.resolveDns\n idResolver.handle.resolve = async (handle: string) => {\n const isPdsHandle = pds.ctx.cfg.identity.serviceHandleDomains.some(\n (domain) => handle.endsWith(domain),\n )\n if (!isPdsHandle) {\n return origResolveHandleDns.call(idResolver.handle, handle)\n }\n\n const url = new URL(`/.well-known/atproto-did`, pds.url)\n try {\n const res = await request(url, { headers: { host: handle } })\n if (res.statusCode !== 200) {\n await res.body.dump()\n return undefined\n }\n\n return res.body.text()\n } catch (err) {\n return undefined\n }\n }\n}\n\nexport const mockMailer = (pds: TestPds) => {\n const mailer = pds.ctx.mailer\n const _origSendMail = mailer.transporter.sendMail\n mailer.transporter.sendMail = async (opts) => {\n const result = await _origSendMail.call(mailer.transporter, opts)\n console.log(`✉️ Email: ${JSON.stringify(result, null, 2)}`)\n return result\n }\n}\n\nconst usedLockIds = new Set()\nexport const uniqueLockId = () => {\n let lockId: number\n do {\n lockId = 1000 + Math.ceil(1000 * Math.random())\n } while (usedLockIds.has(lockId))\n usedLockIds.add(lockId)\n return lockId\n}\n\nexport const createDidAndKey = async (opts: {\n plcUrl: string\n handle: string\n pds: string\n}): Promise<DidAndKey> => {\n const { plcUrl, handle, pds } = opts\n const key = await Secp256k1Keypair.create({ exportable: true })\n const did = await new plc.Client(plcUrl).createDid({\n signingKey: key.did(),\n rotationKeys: [key.did()],\n handle,\n pds,\n signer: key,\n })\n return {\n key,\n did,\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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","sourcesContent":["import * as plc from '@did-plc/lib'\nimport { request } from 'undici'\nimport { Secp256k1Keypair } from '@atproto/crypto'\nimport type { IdResolver } from '@atproto/identity'\nimport type { TestBsky } from './bsky.js'\nimport type { TestPds } from './pds.js'\nimport type { DidAndKey } from './types.js'\n\nexport const mockNetworkUtilities = (pds: TestPds, bsky?: TestBsky) => {\n mockResolvers(pds.ctx.idResolver, pds)\n if (bsky) {\n mockResolvers(bsky.ctx.idResolver, pds)\n mockResolvers(bsky.dataplane.idResolver, pds)\n }\n}\n\nexport const mockResolvers = (idResolver: IdResolver, pds: TestPds) => {\n // Map pds public url to its local url when resolving from plc\n const origResolveDid = idResolver.did.resolveNoCache\n idResolver.did.resolveNoCache = async (did: string) => {\n const result = await (origResolveDid.call(\n idResolver.did,\n did,\n ) as ReturnType<typeof origResolveDid>)\n const service = result?.service?.find((svc) => svc.id === '#atproto_pds')\n if (typeof service?.serviceEndpoint === 'string') {\n service.serviceEndpoint = service.serviceEndpoint.replace(\n pds.ctx.cfg.service.publicUrl,\n `http://localhost:${pds.port}`,\n )\n }\n return result\n }\n\n const origResolveHandleDns = idResolver.handle.resolveDns\n idResolver.handle.resolve = async (handle: string) => {\n const isPdsHandle = pds.ctx.cfg.identity.serviceHandleDomains.some(\n (domain) => handle.endsWith(domain),\n )\n if (!isPdsHandle) {\n return origResolveHandleDns.call(idResolver.handle, handle)\n }\n\n const url = new URL(`/.well-known/atproto-did`, pds.url)\n try {\n const res = await request(url, { headers: { host: handle } })\n if (res.statusCode !== 200) {\n await res.body.dump()\n return undefined\n }\n\n return res.body.text()\n } catch (err) {\n return undefined\n }\n }\n}\n\nexport const mockMailer = (pds: TestPds) => {\n const mailer = pds.ctx.mailer\n const _origSendMail = mailer.transporter.sendMail\n mailer.transporter.sendMail = async (opts) => {\n const result = await _origSendMail.call(mailer.transporter, opts)\n console.log(`✉️ Email: ${JSON.stringify(result, null, 2)}`)\n return result\n }\n}\n\nconst usedLockIds = new Set()\nexport const uniqueLockId = () => {\n let lockId: number\n do {\n lockId = 1000 + Math.ceil(1000 * Math.random())\n } while (usedLockIds.has(lockId))\n usedLockIds.add(lockId)\n return lockId\n}\n\nexport const createDidAndKey = async (opts: {\n plcUrl: string\n handle: string\n pds: string\n}): Promise<DidAndKey> => {\n const { plcUrl, handle, pds } = opts\n const key = await Secp256k1Keypair.create({ exportable: true })\n const did = await new plc.Client(plcUrl).createDid({\n signingKey: key.did(),\n rotationKeys: [key.did()],\n handle,\n pds,\n signer: key,\n })\n return {\n key,\n did,\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.27",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Local development environment helper for atproto development",
|
|
6
6
|
"keywords": [
|
|
@@ -40,19 +40,19 @@
|
|
|
40
40
|
"multiformats": "^13.0.0",
|
|
41
41
|
"uint8arrays": "^5.0.0",
|
|
42
42
|
"undici": "^8.5.0",
|
|
43
|
-
"@atproto/
|
|
44
|
-
"@atproto/
|
|
45
|
-
"@atproto/
|
|
46
|
-
"@atproto/common-web": "^0.5.
|
|
47
|
-
"@atproto/
|
|
48
|
-
"@atproto/
|
|
49
|
-
"@atproto/
|
|
50
|
-
"@atproto/
|
|
51
|
-
"@atproto/
|
|
52
|
-
"@atproto/
|
|
53
|
-
"@atproto/
|
|
54
|
-
"@atproto/syntax": "^0.
|
|
55
|
-
"@atproto/xrpc-server": "^0.11.
|
|
43
|
+
"@atproto/bsync": "^0.0.35",
|
|
44
|
+
"@atproto/api": "^0.20.27",
|
|
45
|
+
"@atproto/crypto": "^0.5.4",
|
|
46
|
+
"@atproto/common-web": "^0.5.5",
|
|
47
|
+
"@atproto/identity": "^0.5.5",
|
|
48
|
+
"@atproto/lexicon": "^0.7.6",
|
|
49
|
+
"@atproto/bsky": "^0.0.255",
|
|
50
|
+
"@atproto/lex": "^0.2.1",
|
|
51
|
+
"@atproto/pds": "^0.5.16",
|
|
52
|
+
"@atproto/sync": "^0.3.9",
|
|
53
|
+
"@atproto/ozone": "^0.2.13",
|
|
54
|
+
"@atproto/syntax": "^0.7.1",
|
|
55
|
+
"@atproto/xrpc-server": "^0.11.8"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@types/express": "^4.17.13"
|