@atproto/pds 0.4.175 → 0.4.177
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 +40 -0
- package/dist/account-manager/db/migrations/007-lexicon-failures-index.d.ts +4 -0
- package/dist/account-manager/db/migrations/007-lexicon-failures-index.d.ts.map +1 -0
- package/dist/account-manager/db/migrations/007-lexicon-failures-index.js +17 -0
- package/dist/account-manager/db/migrations/007-lexicon-failures-index.js.map +1 -0
- package/dist/account-manager/db/migrations/index.d.ts +2 -0
- package/dist/account-manager/db/migrations/index.d.ts.map +1 -1
- package/dist/account-manager/db/migrations/index.js +2 -0
- package/dist/account-manager/db/migrations/index.js.map +1 -1
- package/dist/account-manager/helpers/lexicon.d.ts.map +1 -1
- package/dist/account-manager/helpers/lexicon.js +7 -0
- package/dist/account-manager/helpers/lexicon.js.map +1 -1
- package/dist/account-manager/helpers/token.d.ts +32 -32
- package/dist/account-manager/scope-reference-getter.d.ts +14 -0
- package/dist/account-manager/scope-reference-getter.d.ts.map +1 -0
- package/dist/account-manager/scope-reference-getter.js +69 -0
- package/dist/account-manager/scope-reference-getter.js.map +1 -0
- package/dist/actor-store/actor-store.d.ts.map +1 -1
- package/dist/actor-store/actor-store.js +4 -1
- package/dist/actor-store/actor-store.js.map +1 -1
- package/dist/actor-store/blob/transactor.d.ts +2 -2
- package/dist/actor-store/blob/transactor.d.ts.map +1 -1
- package/dist/actor-store/blob/transactor.js +73 -24
- package/dist/actor-store/blob/transactor.js.map +1 -1
- package/dist/actor-store/record/reader.d.ts.map +1 -1
- package/dist/actor-store/record/reader.js +12 -9
- package/dist/actor-store/record/reader.js.map +1 -1
- package/dist/actor-store/repo/sql-repo-reader.d.ts.map +1 -1
- package/dist/actor-store/repo/sql-repo-reader.js +2 -2
- package/dist/actor-store/repo/sql-repo-reader.js.map +1 -1
- package/dist/actor-store/repo/sql-repo-transactor.d.ts.map +1 -1
- package/dist/actor-store/repo/sql-repo-transactor.js +16 -19
- package/dist/actor-store/repo/sql-repo-transactor.js.map +1 -1
- package/dist/actor-store/repo/transactor.d.ts.map +1 -1
- package/dist/actor-store/repo/transactor.js +11 -15
- package/dist/actor-store/repo/transactor.js.map +1 -1
- package/dist/api/com/atproto/admin/updateSubjectStatus.js +6 -2
- package/dist/api/com/atproto/admin/updateSubjectStatus.js.map +1 -1
- package/dist/api/com/atproto/repo/importRepo.d.ts.map +1 -1
- package/dist/api/com/atproto/repo/importRepo.js +43 -51
- package/dist/api/com/atproto/repo/importRepo.js.map +1 -1
- package/dist/auth-verifier.d.ts.map +1 -1
- package/dist/auth-verifier.js +2 -12
- package/dist/auth-verifier.js.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +20 -4
- package/dist/context.js.map +1 -1
- package/dist/disk-blobstore.d.ts.map +1 -1
- package/dist/disk-blobstore.js +10 -2
- package/dist/disk-blobstore.js.map +1 -1
- package/dist/lexicon/index.d.ts +60 -0
- package/dist/lexicon/index.d.ts.map +1 -1
- package/dist/lexicon/index.js +83 -1
- package/dist/lexicon/index.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +758 -16
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +485 -7
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/app/bsky/bookmark/createBookmark.d.ts +16 -0
- package/dist/lexicon/types/app/bsky/bookmark/createBookmark.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/bookmark/createBookmark.js +7 -0
- package/dist/lexicon/types/app/bsky/bookmark/createBookmark.js.map +1 -0
- package/dist/lexicon/types/app/bsky/bookmark/defs.d.ts +25 -0
- package/dist/lexicon/types/app/bsky/bookmark/defs.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/bookmark/defs.js +25 -0
- package/dist/lexicon/types/app/bsky/bookmark/defs.js.map +1 -0
- package/dist/lexicon/types/app/bsky/bookmark/deleteBookmark.d.ts +15 -0
- package/dist/lexicon/types/app/bsky/bookmark/deleteBookmark.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/bookmark/deleteBookmark.js +7 -0
- package/dist/lexicon/types/app/bsky/bookmark/deleteBookmark.js.map +1 -0
- package/dist/lexicon/types/app/bsky/bookmark/getBookmarks.d.ts +24 -0
- package/dist/lexicon/types/app/bsky/bookmark/getBookmarks.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/bookmark/getBookmarks.js +7 -0
- package/dist/lexicon/types/app/bsky/bookmark/getBookmarks.js.map +1 -0
- package/dist/lexicon/types/app/bsky/feed/defs.d.ts +2 -0
- package/dist/lexicon/types/app/bsky/feed/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/feed/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/moderation/defs.d.ts +8 -8
- package/dist/lexicon/types/com/atproto/moderation/defs.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/moderation/defs.js +7 -7
- package/dist/lexicon/types/com/atproto/moderation/defs.js.map +1 -1
- package/dist/lexicon/types/com/atproto/temp/dereferenceScope.d.ts +24 -0
- package/dist/lexicon/types/com/atproto/temp/dereferenceScope.d.ts.map +1 -0
- package/dist/lexicon/types/com/atproto/temp/dereferenceScope.js +7 -0
- package/dist/lexicon/types/com/atproto/temp/dereferenceScope.js.map +1 -0
- package/dist/lexicon/types/tools/ozone/report/defs.d.ts +92 -0
- package/dist/lexicon/types/tools/ozone/report/defs.d.ts.map +1 -0
- package/dist/lexicon/types/tools/ozone/report/defs.js +98 -0
- package/dist/lexicon/types/tools/ozone/report/defs.js.map +1 -0
- package/dist/logger.d.ts +1 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +2 -1
- package/dist/logger.js.map +1 -1
- package/dist/scripts/rebuild-repo.d.ts.map +1 -1
- package/dist/scripts/rebuild-repo.js +3 -5
- package/dist/scripts/rebuild-repo.js.map +1 -1
- package/dist/scripts/sequencer-recovery/recoverer.js +8 -10
- package/dist/scripts/sequencer-recovery/recoverer.js.map +1 -1
- package/dist/sequencer/sequencer.js +2 -2
- package/dist/sequencer/sequencer.js.map +1 -1
- package/package.json +20 -17
- package/src/account-manager/db/migrations/007-lexicon-failures-index.ts +14 -0
- package/src/account-manager/db/migrations/index.ts +2 -0
- package/src/account-manager/helpers/lexicon.ts +14 -1
- package/src/account-manager/scope-reference-getter.ts +92 -0
- package/src/actor-store/actor-store.ts +5 -9
- package/src/actor-store/blob/transactor.ts +115 -42
- package/src/actor-store/record/reader.ts +14 -12
- package/src/actor-store/repo/sql-repo-reader.ts +12 -14
- package/src/actor-store/repo/sql-repo-transactor.ts +17 -23
- package/src/actor-store/repo/transactor.ts +29 -32
- package/src/api/com/atproto/admin/updateSubjectStatus.ts +7 -7
- package/src/api/com/atproto/repo/importRepo.ts +41 -55
- package/src/auth-verifier.ts +4 -20
- package/src/context.ts +26 -5
- package/src/disk-blobstore.ts +20 -3
- package/src/lexicon/index.ts +131 -0
- package/src/lexicon/lexicons.ts +503 -7
- package/src/lexicon/types/app/bsky/bookmark/createBookmark.ts +35 -0
- package/src/lexicon/types/app/bsky/bookmark/defs.ts +54 -0
- package/src/lexicon/types/app/bsky/bookmark/deleteBookmark.ts +34 -0
- package/src/lexicon/types/app/bsky/bookmark/getBookmarks.ts +42 -0
- package/src/lexicon/types/app/bsky/feed/defs.ts +2 -0
- package/src/lexicon/types/com/atproto/moderation/defs.ts +52 -7
- package/src/lexicon/types/com/atproto/temp/dereferenceScope.ts +42 -0
- package/src/lexicon/types/tools/ozone/report/defs.ts +154 -0
- package/src/logger.ts +1 -0
- package/src/scripts/rebuild-repo.ts +4 -5
- package/src/scripts/sequencer-recovery/recoverer.ts +8 -12
- package/src/sequencer/sequencer.ts +3 -3
- package/tests/proxied/__snapshots__/feedgen.test.ts.snap +4 -0
- package/tests/proxied/__snapshots__/views.test.ts.snap +80 -0
- package/tsconfig.build.tsbuildinfo +1 -1
package/src/auth-verifier.ts
CHANGED
@@ -7,7 +7,7 @@ import { IdResolver, getDidKeyFromMultibase } from '@atproto/identity'
|
|
7
7
|
import {
|
8
8
|
OAuthError,
|
9
9
|
OAuthVerifier,
|
10
|
-
|
10
|
+
VerifyTokenPayloadOptions,
|
11
11
|
WWWAuthenticateError,
|
12
12
|
} from '@atproto/oauth-provider'
|
13
13
|
import {
|
@@ -39,7 +39,6 @@ import {
|
|
39
39
|
} from './auth-output'
|
40
40
|
import { ACCESS_STANDARD, AuthScope, isAuthScope } from './auth-scope'
|
41
41
|
import { softDeleted } from './db'
|
42
|
-
import { oauthLogger } from './logger'
|
43
42
|
import { appendVary } from './util/http'
|
44
43
|
import { WithRequired } from './util/types'
|
45
44
|
|
@@ -338,7 +337,7 @@ export class AuthVerifier {
|
|
338
337
|
OAuthOutput,
|
339
338
|
P
|
340
339
|
> {
|
341
|
-
const verifyTokenOptions:
|
340
|
+
const verifyTokenOptions: VerifyTokenPayloadOptions = {
|
342
341
|
audience: [this.dids.pds],
|
343
342
|
scope: ['atproto'],
|
344
343
|
}
|
@@ -358,7 +357,7 @@ export class AuthVerifier {
|
|
358
357
|
const originalUrl = req.originalUrl || req.url || '/'
|
359
358
|
const url = new URL(originalUrl, this._publicUrl)
|
360
359
|
|
361
|
-
const {
|
360
|
+
const { scope, sub: did } = await this.oauthVerifier
|
362
361
|
.authenticateRequest(
|
363
362
|
req.method || 'GET',
|
364
363
|
url,
|
@@ -383,28 +382,13 @@ export class AuthVerifier {
|
|
383
382
|
throw err
|
384
383
|
})
|
385
384
|
|
386
|
-
// @TODO drop this once oauth provider no longer accepts DPoP proof with
|
387
|
-
// query or fragment in "htu" claim.
|
388
|
-
if (dpopProof?.htu.match(/[?#]/)) {
|
389
|
-
oauthLogger.info(
|
390
|
-
{
|
391
|
-
client_id: tokenClaims.client_id,
|
392
|
-
htu: dpopProof.htu,
|
393
|
-
},
|
394
|
-
'DPoP proof "htu" contains query or fragment',
|
395
|
-
)
|
396
|
-
}
|
397
|
-
|
398
|
-
const { sub: did } = tokenClaims
|
399
385
|
if (typeof did !== 'string' || !did.startsWith('did:')) {
|
400
386
|
throw new InvalidRequestError('Malformed token', 'InvalidToken')
|
401
387
|
}
|
402
388
|
|
403
389
|
await this.verifyStatus(did, verifyStatusOptions)
|
404
390
|
|
405
|
-
const permissions = new ScopePermissionsTransition(
|
406
|
-
tokenClaims.scope?.split(' '),
|
407
|
-
)
|
391
|
+
const permissions = new ScopePermissionsTransition(scope?.split(' '))
|
408
392
|
|
409
393
|
// Should never happen
|
410
394
|
if (!permissions.scopes.has('atproto')) {
|
package/src/context.ts
CHANGED
@@ -32,6 +32,7 @@ import {
|
|
32
32
|
} from '@atproto-labs/fetch-node'
|
33
33
|
import { AccountManager } from './account-manager/account-manager'
|
34
34
|
import { OAuthStore } from './account-manager/oauth-store'
|
35
|
+
import { ScopeReferenceGetter } from './account-manager/scope-reference-getter'
|
35
36
|
import { ActorStore } from './actor-store/actor-store'
|
36
37
|
import { authPassthru, forwardedFor } from './api/proxy'
|
37
38
|
import {
|
@@ -46,7 +47,7 @@ import { Crawlers } from './crawlers'
|
|
46
47
|
import { DidSqliteCache } from './did-cache'
|
47
48
|
import { DiskBlobStore } from './disk-blobstore'
|
48
49
|
import { ImageUrlBuilder } from './image/image-url-builder'
|
49
|
-
import { fetchLogger, lexiconResolverLogger } from './logger'
|
50
|
+
import { fetchLogger, lexiconResolverLogger, oauthLogger } from './logger'
|
50
51
|
import { ServerMailer } from './mailer'
|
51
52
|
import { ModerationMailer } from './mailer/moderation'
|
52
53
|
import { LocalViewer, LocalViewerCreator } from './read-after-write/viewer'
|
@@ -397,10 +398,11 @@ export class AppContext {
|
|
397
398
|
protected_resources: [new URL(cfg.oauth.issuer).origin],
|
398
399
|
},
|
399
400
|
// If the PDS is both an authorization server & resource server (no
|
400
|
-
// entryway),
|
401
|
-
//
|
402
|
-
//
|
403
|
-
|
401
|
+
// entryway), we can afford to check the token validity on every
|
402
|
+
// request. This allows revoked tokens to be rejected immediately.
|
403
|
+
// This also allows JWT to be shorter since some claims (notably the
|
404
|
+
// "scope" claim) do not need to be included in the token.
|
405
|
+
accessTokenMode: AccessTokenMode.stateful,
|
404
406
|
|
405
407
|
getClientInfo(clientId) {
|
406
408
|
return {
|
@@ -410,6 +412,10 @@ export class AppContext {
|
|
410
412
|
})
|
411
413
|
: undefined
|
412
414
|
|
415
|
+
const scopeRefGetter = entrywayAgent
|
416
|
+
? new ScopeReferenceGetter(entrywayAgent, redisScratch)
|
417
|
+
: undefined
|
418
|
+
|
413
419
|
const oauthVerifier: OAuthVerifier =
|
414
420
|
oauthProvider ?? // OAuthProvider extends OAuthVerifier
|
415
421
|
new OAuthVerifier({
|
@@ -417,6 +423,21 @@ export class AppContext {
|
|
417
423
|
keyset: [await JoseKey.fromKeyLike(jwtPublicKey!, undefined, 'ES256K')],
|
418
424
|
dpopSecret: secrets.dpopSecret,
|
419
425
|
redis: redisScratch,
|
426
|
+
onDecodeToken: scopeRefGetter
|
427
|
+
? async ({ payload, dpopProof }) => {
|
428
|
+
// @TODO drop this once oauth provider no longer accepts DPoP proof with
|
429
|
+
// query or fragment in "htu" claim.
|
430
|
+
if (dpopProof?.htu.match(/[?#]/)) {
|
431
|
+
oauthLogger.info(
|
432
|
+
{ htu: dpopProof.htu, client_id: payload.client_id },
|
433
|
+
'DPoP proof "htu" contains query or fragment',
|
434
|
+
)
|
435
|
+
}
|
436
|
+
|
437
|
+
const scope = await scopeRefGetter.dereference(payload.scope)
|
438
|
+
return { ...payload, scope }
|
439
|
+
}
|
440
|
+
: undefined,
|
420
441
|
})
|
421
442
|
|
422
443
|
const authVerifier = new AuthVerifier(
|
package/src/disk-blobstore.ts
CHANGED
@@ -3,10 +3,16 @@ import fs from 'node:fs/promises'
|
|
3
3
|
import path from 'node:path'
|
4
4
|
import stream from 'node:stream'
|
5
5
|
import { CID } from 'multiformats/cid'
|
6
|
-
import {
|
6
|
+
import {
|
7
|
+
aggregateErrors,
|
8
|
+
chunkArray,
|
9
|
+
fileExists,
|
10
|
+
isErrnoException,
|
11
|
+
rmIfExists,
|
12
|
+
} from '@atproto/common'
|
7
13
|
import { randomStr } from '@atproto/crypto'
|
8
14
|
import { BlobNotFoundError, BlobStore } from '@atproto/repo'
|
9
|
-
import {
|
15
|
+
import { blobStoreLogger as log } from './logger'
|
10
16
|
|
11
17
|
export class DiskBlobStore implements BlobStore {
|
12
18
|
constructor(
|
@@ -137,7 +143,18 @@ export class DiskBlobStore implements BlobStore {
|
|
137
143
|
}
|
138
144
|
|
139
145
|
async deleteMany(cids: CID[]): Promise<void> {
|
140
|
-
|
146
|
+
const errors: unknown[] = []
|
147
|
+
for (const chunk of chunkArray(cids, 500)) {
|
148
|
+
await Promise.all(
|
149
|
+
chunk.map((cid) =>
|
150
|
+
this.delete(cid).catch((err) => {
|
151
|
+
log.error({ err, cid: cid.toString() }, 'error deleting blob')
|
152
|
+
errors.push(err)
|
153
|
+
}),
|
154
|
+
),
|
155
|
+
)
|
156
|
+
}
|
157
|
+
if (errors.length) throw aggregateErrors(errors)
|
141
158
|
}
|
142
159
|
|
143
160
|
async deleteAll(): Promise<void> {
|
package/src/lexicon/index.ts
CHANGED
@@ -17,6 +17,9 @@ import * as AppBskyActorGetSuggestions from './types/app/bsky/actor/getSuggestio
|
|
17
17
|
import * as AppBskyActorPutPreferences from './types/app/bsky/actor/putPreferences.js'
|
18
18
|
import * as AppBskyActorSearchActors from './types/app/bsky/actor/searchActors.js'
|
19
19
|
import * as AppBskyActorSearchActorsTypeahead from './types/app/bsky/actor/searchActorsTypeahead.js'
|
20
|
+
import * as AppBskyBookmarkCreateBookmark from './types/app/bsky/bookmark/createBookmark.js'
|
21
|
+
import * as AppBskyBookmarkDeleteBookmark from './types/app/bsky/bookmark/deleteBookmark.js'
|
22
|
+
import * as AppBskyBookmarkGetBookmarks from './types/app/bsky/bookmark/getBookmarks.js'
|
20
23
|
import * as AppBskyFeedDescribeFeedGenerator from './types/app/bsky/feed/describeFeedGenerator.js'
|
21
24
|
import * as AppBskyFeedGetActorFeeds from './types/app/bsky/feed/getActorFeeds.js'
|
22
25
|
import * as AppBskyFeedGetActorLikes from './types/app/bsky/feed/getActorLikes.js'
|
@@ -195,6 +198,7 @@ import * as ComAtprotoSyncSubscribeRepos from './types/com/atproto/sync/subscrib
|
|
195
198
|
import * as ComAtprotoTempAddReservedHandle from './types/com/atproto/temp/addReservedHandle.js'
|
196
199
|
import * as ComAtprotoTempCheckHandleAvailability from './types/com/atproto/temp/checkHandleAvailability.js'
|
197
200
|
import * as ComAtprotoTempCheckSignupQueue from './types/com/atproto/temp/checkSignupQueue.js'
|
201
|
+
import * as ComAtprotoTempDereferenceScope from './types/com/atproto/temp/dereferenceScope.js'
|
198
202
|
import * as ComAtprotoTempFetchLabels from './types/com/atproto/temp/fetchLabels.js'
|
199
203
|
import * as ComAtprotoTempRequestPhoneVerification from './types/com/atproto/temp/requestPhoneVerification.js'
|
200
204
|
import * as ComAtprotoTempRevokeAccountCredentials from './types/com/atproto/temp/revokeAccountCredentials.js'
|
@@ -286,6 +290,75 @@ export const TOOLS_OZONE_MODERATION = {
|
|
286
290
|
DefsTimelineEventPlcTombstone:
|
287
291
|
'tools.ozone.moderation.defs#timelineEventPlcTombstone',
|
288
292
|
}
|
293
|
+
export const TOOLS_OZONE_REPORT = {
|
294
|
+
DefsReasonAppeal: 'tools.ozone.report.defs#reasonAppeal',
|
295
|
+
DefsReasonViolenceAnimalWelfare:
|
296
|
+
'tools.ozone.report.defs#reasonViolenceAnimalWelfare',
|
297
|
+
DefsReasonViolenceThreats: 'tools.ozone.report.defs#reasonViolenceThreats',
|
298
|
+
DefsReasonViolenceGraphicContent:
|
299
|
+
'tools.ozone.report.defs#reasonViolenceGraphicContent',
|
300
|
+
DefsReasonViolenceSelfHarm: 'tools.ozone.report.defs#reasonViolenceSelfHarm',
|
301
|
+
DefsReasonViolenceGlorification:
|
302
|
+
'tools.ozone.report.defs#reasonViolenceGlorification',
|
303
|
+
DefsReasonViolenceExtremistContent:
|
304
|
+
'tools.ozone.report.defs#reasonViolenceExtremistContent',
|
305
|
+
DefsReasonViolenceTrafficking:
|
306
|
+
'tools.ozone.report.defs#reasonViolenceTrafficking',
|
307
|
+
DefsReasonViolenceOther: 'tools.ozone.report.defs#reasonViolenceOther',
|
308
|
+
DefsReasonSexualAbuseContent:
|
309
|
+
'tools.ozone.report.defs#reasonSexualAbuseContent',
|
310
|
+
DefsReasonSexualNCII: 'tools.ozone.report.defs#reasonSexualNCII',
|
311
|
+
DefsReasonSexualSextortion: 'tools.ozone.report.defs#reasonSexualSextortion',
|
312
|
+
DefsReasonSexualDeepfake: 'tools.ozone.report.defs#reasonSexualDeepfake',
|
313
|
+
DefsReasonSexualAnimal: 'tools.ozone.report.defs#reasonSexualAnimal',
|
314
|
+
DefsReasonSexualUnlabeled: 'tools.ozone.report.defs#reasonSexualUnlabeled',
|
315
|
+
DefsReasonSexualOther: 'tools.ozone.report.defs#reasonSexualOther',
|
316
|
+
DefsReasonChildSafetyCSAM: 'tools.ozone.report.defs#reasonChildSafetyCSAM',
|
317
|
+
DefsReasonChildSafetyGroom: 'tools.ozone.report.defs#reasonChildSafetyGroom',
|
318
|
+
DefsReasonChildSafetyMinorPrivacy:
|
319
|
+
'tools.ozone.report.defs#reasonChildSafetyMinorPrivacy',
|
320
|
+
DefsReasonChildSafetyEndangerment:
|
321
|
+
'tools.ozone.report.defs#reasonChildSafetyEndangerment',
|
322
|
+
DefsReasonChildSafetyHarassment:
|
323
|
+
'tools.ozone.report.defs#reasonChildSafetyHarassment',
|
324
|
+
DefsReasonChildSafetyPromotion:
|
325
|
+
'tools.ozone.report.defs#reasonChildSafetyPromotion',
|
326
|
+
DefsReasonChildSafetyOther: 'tools.ozone.report.defs#reasonChildSafetyOther',
|
327
|
+
DefsReasonHarassmentTroll: 'tools.ozone.report.defs#reasonHarassmentTroll',
|
328
|
+
DefsReasonHarassmentTargeted:
|
329
|
+
'tools.ozone.report.defs#reasonHarassmentTargeted',
|
330
|
+
DefsReasonHarassmentHateSpeech:
|
331
|
+
'tools.ozone.report.defs#reasonHarassmentHateSpeech',
|
332
|
+
DefsReasonHarassmentDoxxing:
|
333
|
+
'tools.ozone.report.defs#reasonHarassmentDoxxing',
|
334
|
+
DefsReasonHarassmentOther: 'tools.ozone.report.defs#reasonHarassmentOther',
|
335
|
+
DefsReasonMisleadingBot: 'tools.ozone.report.defs#reasonMisleadingBot',
|
336
|
+
DefsReasonMisleadingImpersonation:
|
337
|
+
'tools.ozone.report.defs#reasonMisleadingImpersonation',
|
338
|
+
DefsReasonMisleadingSpam: 'tools.ozone.report.defs#reasonMisleadingSpam',
|
339
|
+
DefsReasonMisleadingScam: 'tools.ozone.report.defs#reasonMisleadingScam',
|
340
|
+
DefsReasonMisleadingSyntheticContent:
|
341
|
+
'tools.ozone.report.defs#reasonMisleadingSyntheticContent',
|
342
|
+
DefsReasonMisleadingMisinformation:
|
343
|
+
'tools.ozone.report.defs#reasonMisleadingMisinformation',
|
344
|
+
DefsReasonMisleadingOther: 'tools.ozone.report.defs#reasonMisleadingOther',
|
345
|
+
DefsReasonRuleSiteSecurity: 'tools.ozone.report.defs#reasonRuleSiteSecurity',
|
346
|
+
DefsReasonRuleStolenContent:
|
347
|
+
'tools.ozone.report.defs#reasonRuleStolenContent',
|
348
|
+
DefsReasonRuleProhibitedSales:
|
349
|
+
'tools.ozone.report.defs#reasonRuleProhibitedSales',
|
350
|
+
DefsReasonRuleBanEvasion: 'tools.ozone.report.defs#reasonRuleBanEvasion',
|
351
|
+
DefsReasonRuleOther: 'tools.ozone.report.defs#reasonRuleOther',
|
352
|
+
DefsReasonCivicElectoralProcess:
|
353
|
+
'tools.ozone.report.defs#reasonCivicElectoralProcess',
|
354
|
+
DefsReasonCivicDisclosure: 'tools.ozone.report.defs#reasonCivicDisclosure',
|
355
|
+
DefsReasonCivicInterference:
|
356
|
+
'tools.ozone.report.defs#reasonCivicInterference',
|
357
|
+
DefsReasonCivicMisinformation:
|
358
|
+
'tools.ozone.report.defs#reasonCivicMisinformation',
|
359
|
+
DefsReasonCivicImpersonation:
|
360
|
+
'tools.ozone.report.defs#reasonCivicImpersonation',
|
361
|
+
}
|
289
362
|
export const TOOLS_OZONE_TEAM = {
|
290
363
|
DefsRoleAdmin: 'tools.ozone.team.defs#roleAdmin',
|
291
364
|
DefsRoleModerator: 'tools.ozone.team.defs#roleModerator',
|
@@ -326,6 +399,7 @@ export class AppNS {
|
|
326
399
|
export class AppBskyNS {
|
327
400
|
_server: Server
|
328
401
|
actor: AppBskyActorNS
|
402
|
+
bookmark: AppBskyBookmarkNS
|
329
403
|
embed: AppBskyEmbedNS
|
330
404
|
feed: AppBskyFeedNS
|
331
405
|
graph: AppBskyGraphNS
|
@@ -338,6 +412,7 @@ export class AppBskyNS {
|
|
338
412
|
constructor(server: Server) {
|
339
413
|
this._server = server
|
340
414
|
this.actor = new AppBskyActorNS(server)
|
415
|
+
this.bookmark = new AppBskyBookmarkNS(server)
|
341
416
|
this.embed = new AppBskyEmbedNS(server)
|
342
417
|
this.feed = new AppBskyFeedNS(server)
|
343
418
|
this.graph = new AppBskyGraphNS(server)
|
@@ -441,6 +516,50 @@ export class AppBskyActorNS {
|
|
441
516
|
}
|
442
517
|
}
|
443
518
|
|
519
|
+
export class AppBskyBookmarkNS {
|
520
|
+
_server: Server
|
521
|
+
|
522
|
+
constructor(server: Server) {
|
523
|
+
this._server = server
|
524
|
+
}
|
525
|
+
|
526
|
+
createBookmark<A extends Auth = void>(
|
527
|
+
cfg: MethodConfigOrHandler<
|
528
|
+
A,
|
529
|
+
AppBskyBookmarkCreateBookmark.QueryParams,
|
530
|
+
AppBskyBookmarkCreateBookmark.HandlerInput,
|
531
|
+
AppBskyBookmarkCreateBookmark.HandlerOutput
|
532
|
+
>,
|
533
|
+
) {
|
534
|
+
const nsid = 'app.bsky.bookmark.createBookmark' // @ts-ignore
|
535
|
+
return this._server.xrpc.method(nsid, cfg)
|
536
|
+
}
|
537
|
+
|
538
|
+
deleteBookmark<A extends Auth = void>(
|
539
|
+
cfg: MethodConfigOrHandler<
|
540
|
+
A,
|
541
|
+
AppBskyBookmarkDeleteBookmark.QueryParams,
|
542
|
+
AppBskyBookmarkDeleteBookmark.HandlerInput,
|
543
|
+
AppBskyBookmarkDeleteBookmark.HandlerOutput
|
544
|
+
>,
|
545
|
+
) {
|
546
|
+
const nsid = 'app.bsky.bookmark.deleteBookmark' // @ts-ignore
|
547
|
+
return this._server.xrpc.method(nsid, cfg)
|
548
|
+
}
|
549
|
+
|
550
|
+
getBookmarks<A extends Auth = void>(
|
551
|
+
cfg: MethodConfigOrHandler<
|
552
|
+
A,
|
553
|
+
AppBskyBookmarkGetBookmarks.QueryParams,
|
554
|
+
AppBskyBookmarkGetBookmarks.HandlerInput,
|
555
|
+
AppBskyBookmarkGetBookmarks.HandlerOutput
|
556
|
+
>,
|
557
|
+
) {
|
558
|
+
const nsid = 'app.bsky.bookmark.getBookmarks' // @ts-ignore
|
559
|
+
return this._server.xrpc.method(nsid, cfg)
|
560
|
+
}
|
561
|
+
}
|
562
|
+
|
444
563
|
export class AppBskyEmbedNS {
|
445
564
|
_server: Server
|
446
565
|
|
@@ -2794,6 +2913,18 @@ export class ComAtprotoTempNS {
|
|
2794
2913
|
return this._server.xrpc.method(nsid, cfg)
|
2795
2914
|
}
|
2796
2915
|
|
2916
|
+
dereferenceScope<A extends Auth = void>(
|
2917
|
+
cfg: MethodConfigOrHandler<
|
2918
|
+
A,
|
2919
|
+
ComAtprotoTempDereferenceScope.QueryParams,
|
2920
|
+
ComAtprotoTempDereferenceScope.HandlerInput,
|
2921
|
+
ComAtprotoTempDereferenceScope.HandlerOutput
|
2922
|
+
>,
|
2923
|
+
) {
|
2924
|
+
const nsid = 'com.atproto.temp.dereferenceScope' // @ts-ignore
|
2925
|
+
return this._server.xrpc.method(nsid, cfg)
|
2926
|
+
}
|
2927
|
+
|
2797
2928
|
fetchLabels<A extends Auth = void>(
|
2798
2929
|
cfg: MethodConfigOrHandler<
|
2799
2930
|
A,
|