@atproto/bsky 0.0.38 → 0.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/hydration/hydrator.d.ts +12 -2
  3. package/dist/hydration/label.d.ts +7 -3
  4. package/dist/hydration/util.d.ts +5 -2
  5. package/dist/index.js +216 -104
  6. package/dist/index.js.map +2 -2
  7. package/dist/lexicon/lexicons.d.ts +13 -0
  8. package/dist/lexicon/types/com/atproto/server/describeServer.d.ts +7 -0
  9. package/package.json +5 -5
  10. package/src/api/app/bsky/actor/getProfile.ts +10 -6
  11. package/src/api/app/bsky/actor/getProfiles.ts +2 -2
  12. package/src/api/app/bsky/actor/getSuggestions.ts +2 -2
  13. package/src/api/app/bsky/actor/searchActors.ts +7 -3
  14. package/src/api/app/bsky/actor/searchActorsTypeahead.ts +2 -2
  15. package/src/api/app/bsky/feed/getActorFeeds.ts +2 -2
  16. package/src/api/app/bsky/feed/getActorLikes.ts +2 -2
  17. package/src/api/app/bsky/feed/getAuthorFeed.ts +6 -2
  18. package/src/api/app/bsky/feed/getFeed.ts +2 -2
  19. package/src/api/app/bsky/feed/getFeedGenerator.ts +3 -6
  20. package/src/api/app/bsky/feed/getFeedGenerators.ts +2 -2
  21. package/src/api/app/bsky/feed/getLikes.ts +2 -2
  22. package/src/api/app/bsky/feed/getListFeed.ts +2 -2
  23. package/src/api/app/bsky/feed/getPostThread.ts +2 -2
  24. package/src/api/app/bsky/feed/getPosts.ts +2 -2
  25. package/src/api/app/bsky/feed/getRepostedBy.ts +2 -2
  26. package/src/api/app/bsky/feed/getSuggestedFeeds.ts +3 -5
  27. package/src/api/app/bsky/feed/getTimeline.ts +6 -3
  28. package/src/api/app/bsky/feed/searchPosts.ts +2 -2
  29. package/src/api/app/bsky/graph/getBlocks.ts +6 -3
  30. package/src/api/app/bsky/graph/getFollowers.ts +6 -2
  31. package/src/api/app/bsky/graph/getFollows.ts +6 -2
  32. package/src/api/app/bsky/graph/getList.ts +2 -2
  33. package/src/api/app/bsky/graph/getListBlocks.ts +6 -3
  34. package/src/api/app/bsky/graph/getListMutes.ts +6 -3
  35. package/src/api/app/bsky/graph/getLists.ts +2 -2
  36. package/src/api/app/bsky/graph/getMutes.ts +6 -3
  37. package/src/api/app/bsky/graph/getSuggestedFollowsByActor.ts +3 -3
  38. package/src/api/app/bsky/labeler/getServices.ts +3 -3
  39. package/src/api/app/bsky/notification/listNotifications.ts +6 -3
  40. package/src/api/app/bsky/unspecced/getPopularFeedGenerators.ts +2 -2
  41. package/src/data-plane/server/routes/labels.ts +26 -8
  42. package/src/hydration/hydrator.ts +55 -10
  43. package/src/hydration/label.ts +33 -7
  44. package/src/hydration/util.ts +6 -2
  45. package/src/index.ts +1 -1
  46. package/src/lexicon/lexicons.ts +13 -0
  47. package/src/lexicon/types/com/atproto/server/describeServer.ts +18 -0
  48. package/src/views/index.ts +8 -8
  49. package/tests/__snapshots__/feed-generation.test.ts.snap +0 -45
  50. package/tests/data-plane/__snapshots__/indexing.test.ts.snap +0 -8
  51. package/tests/label-hydration.test.ts +31 -0
  52. package/tests/views/__snapshots__/author-feed.test.ts.snap +0 -46
  53. package/tests/views/__snapshots__/block-lists.test.ts.snap +0 -17
  54. package/tests/views/__snapshots__/blocks.test.ts.snap +0 -9
  55. package/tests/views/__snapshots__/labeler-service.test.ts.snap +0 -4
  56. package/tests/views/__snapshots__/list-feed.test.ts.snap +0 -20
  57. package/tests/views/__snapshots__/mute-lists.test.ts.snap +0 -18
  58. package/tests/views/__snapshots__/mutes.test.ts.snap +0 -4
  59. package/tests/views/__snapshots__/notifications.test.ts.snap +0 -9
  60. package/tests/views/__snapshots__/posts.test.ts.snap +0 -7
  61. package/tests/views/__snapshots__/profile.test.ts.snap +0 -6
  62. package/tests/views/__snapshots__/thread.test.ts.snap +0 -38
  63. package/tests/views/__snapshots__/timeline.test.ts.snap +0 -145
  64. package/tests/views/labeler-service.test.ts +2 -7
  65. package/tests/views/takedown-labels.test.ts +52 -0
@@ -136,10 +136,7 @@ describe('labeler service views', () => {
136
136
  })
137
137
 
138
138
  it('blocked by labeler takedown', async () => {
139
- await network.bsky.ctx.dataplane.takedownRecord({
140
- recordUri: aliceService.uriStr,
141
- })
142
-
139
+ await network.bsky.ctx.dataplane.takedownActor({ did: alice })
143
140
  const res = await agent.api.app.bsky.labeler.getServices(
144
141
  { dids: [alice, bob] },
145
142
  { headers: await network.serviceHeaders(bob) },
@@ -149,8 +146,6 @@ describe('labeler service views', () => {
149
146
  expect(res.data.views[0].creator.did).toEqual(bob)
150
147
 
151
148
  // Cleanup
152
- await network.bsky.ctx.dataplane.untakedownRecord({
153
- recordUri: aliceService.uriStr,
154
- })
149
+ await network.bsky.ctx.dataplane.untakedownActor({ did: alice })
155
150
  })
156
151
  })
@@ -1,5 +1,6 @@
1
1
  import AtpAgent from '@atproto/api'
2
2
  import { TestNetwork, SeedClient, basicSeed, RecordRef } from '@atproto/dev-env'
3
+ import { ids } from '../../src/lexicon/lexicons'
3
4
 
4
5
  describe('bsky takedown labels', () => {
5
6
  let network: TestNetwork
@@ -40,6 +41,48 @@ describe('bsky takedown labels', () => {
40
41
  'carol generator',
41
42
  )
42
43
 
44
+ // labelers
45
+ await sc.createAccount('labeler1', {
46
+ email: 'lab1@test.com',
47
+ handle: 'lab1.test',
48
+ password: 'lab1',
49
+ })
50
+ await sc.agent.api.com.atproto.repo.createRecord(
51
+ {
52
+ repo: sc.dids.labeler1,
53
+ collection: ids.AppBskyLabelerService,
54
+ rkey: 'self',
55
+ record: {
56
+ policies: { labelValues: ['spam'] },
57
+ createdAt: new Date().toISOString(),
58
+ },
59
+ },
60
+ {
61
+ headers: sc.getHeaders(sc.dids.labeler1),
62
+ encoding: 'application/json',
63
+ },
64
+ )
65
+ await sc.createAccount('labeler2', {
66
+ email: 'lab2@test.com',
67
+ handle: 'lab2.test',
68
+ password: 'lab2',
69
+ })
70
+ await sc.agent.api.com.atproto.repo.createRecord(
71
+ {
72
+ repo: sc.dids.labeler2,
73
+ collection: ids.AppBskyLabelerService,
74
+ rkey: 'self',
75
+ record: {
76
+ policies: { labelValues: ['spam'] },
77
+ createdAt: new Date().toISOString(),
78
+ },
79
+ },
80
+ {
81
+ headers: sc.getHeaders(sc.dids.labeler2),
82
+ encoding: 'application/json',
83
+ },
84
+ )
85
+
43
86
  await network.processAll()
44
87
 
45
88
  takendownSubjects = [
@@ -47,6 +90,7 @@ describe('bsky takedown labels', () => {
47
90
  sc.dids.carol,
48
91
  aliceListRef.uriStr,
49
92
  aliceGenRef.uriStr,
93
+ sc.dids.labeler1,
50
94
  ]
51
95
  const src = network.ozone.ctx.cfg.service.did
52
96
  const cts = new Date().toISOString()
@@ -123,6 +167,14 @@ describe('bsky takedown labels', () => {
123
167
  expect(res.data.feeds.at(0)?.uri).toEqual(bobGenRef.uriStr)
124
168
  })
125
169
 
170
+ it('takesdown labelers', async () => {
171
+ const res = await agent.api.app.bsky.labeler.getServices({
172
+ dids: [sc.dids.labeler1, sc.dids.labeler2],
173
+ })
174
+ expect(res.data.views.length).toBe(1)
175
+ expect(res.data.views[0].creator?.['did']).toBe(sc.dids.labeler2)
176
+ })
177
+
126
178
  it('only applies if the relevant labeler is configured', async () => {
127
179
  AtpAgent.configure({ appLabelers: ['did:web:example.com'] })
128
180
  const res = await agent.api.app.bsky.actor.getProfile({