@atproto/ozone 0.1.14 → 0.1.16
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 +16 -0
- package/dist/api/chat/getActorMetadata.d.ts +4 -0
- package/dist/api/chat/getActorMetadata.d.ts.map +1 -0
- package/dist/api/chat/getActorMetadata.js +20 -0
- package/dist/api/chat/getActorMetadata.js.map +1 -0
- package/dist/api/chat/getMessageContext.d.ts +4 -0
- package/dist/api/chat/getMessageContext.d.ts.map +1 -0
- package/dist/api/chat/getMessageContext.js +34 -0
- package/dist/api/chat/getMessageContext.js.map +1 -0
- package/dist/api/chat/index.d.ts +4 -0
- package/dist/api/chat/index.d.ts.map +1 -0
- package/dist/api/chat/index.js +14 -0
- package/dist/api/chat/index.js.map +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/moderation/emitEvent.d.ts.map +1 -1
- package/dist/api/moderation/emitEvent.js +22 -0
- package/dist/api/moderation/emitEvent.js.map +1 -1
- package/dist/api/moderation/getRecord.d.ts.map +1 -1
- package/dist/api/moderation/getRecord.js +3 -2
- package/dist/api/moderation/getRecord.js.map +1 -1
- package/dist/api/moderation/getRepo.d.ts.map +1 -1
- package/dist/api/moderation/getRepo.js +3 -2
- package/dist/api/moderation/getRepo.js.map +1 -1
- package/dist/api/proxied.d.ts.map +1 -1
- package/dist/api/proxied.js +10 -0
- package/dist/api/proxied.js.map +1 -1
- package/dist/api/util.js +1 -0
- package/dist/api/util.js.map +1 -1
- package/dist/config/config.d.ts +5 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +9 -0
- package/dist/config/config.js.map +1 -1
- package/dist/config/env.d.ts +2 -0
- package/dist/config/env.d.ts.map +1 -1
- package/dist/config/env.js +2 -0
- package/dist/config/env.js.map +1 -1
- package/dist/context.d.ts +10 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +26 -0
- package/dist/context.js.map +1 -1
- package/dist/db/migrations/20240506T225055595Z-message-subject.d.ts +4 -0
- package/dist/db/migrations/20240506T225055595Z-message-subject.d.ts.map +1 -0
- package/dist/db/migrations/20240506T225055595Z-message-subject.js +24 -0
- package/dist/db/migrations/20240506T225055595Z-message-subject.js.map +1 -0
- package/dist/db/migrations/index.d.ts +1 -0
- package/dist/db/migrations/index.d.ts.map +1 -1
- package/dist/db/migrations/index.js +2 -1
- package/dist/db/migrations/index.js.map +1 -1
- package/dist/db/schema/moderation_event.d.ts +2 -1
- package/dist/db/schema/moderation_event.d.ts.map +1 -1
- package/dist/lexicon/index.d.ts +59 -0
- package/dist/lexicon/index.d.ts.map +1 -1
- package/dist/lexicon/index.js +164 -1
- package/dist/lexicon/index.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +898 -0
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +924 -0
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/actor/declaration.d.ts +11 -0
- package/dist/lexicon/types/chat/bsky/actor/declaration.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/actor/declaration.js +17 -0
- package/dist/lexicon/types/chat/bsky/actor/declaration.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/actor/defs.d.ts +21 -0
- package/dist/lexicon/types/chat/bsky/actor/defs.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/actor/defs.js +16 -0
- package/dist/lexicon/types/chat/bsky/actor/defs.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/actor/deleteAccount.d.ts +33 -0
- package/dist/lexicon/types/chat/bsky/actor/deleteAccount.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/actor/deleteAccount.js +3 -0
- package/dist/lexicon/types/chat/bsky/actor/deleteAccount.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/actor/exportAccountData.d.ts +32 -0
- package/dist/lexicon/types/chat/bsky/actor/exportAccountData.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/actor/exportAccountData.js +3 -0
- package/dist/lexicon/types/chat/bsky/actor/exportAccountData.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/defs.d.ts +109 -0
- package/dist/lexicon/types/chat/bsky/convo/defs.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/defs.js +106 -0
- package/dist/lexicon/types/chat/bsky/convo/defs.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.d.ts +39 -0
- package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.js +3 -0
- package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/getConvo.d.ts +36 -0
- package/dist/lexicon/types/chat/bsky/convo/getConvo.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/getConvo.js +3 -0
- package/dist/lexicon/types/chat/bsky/convo/getConvo.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.d.ts +36 -0
- package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.js +3 -0
- package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/getLog.d.ts +40 -0
- package/dist/lexicon/types/chat/bsky/convo/getLog.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/getLog.js +3 -0
- package/dist/lexicon/types/chat/bsky/convo/getLog.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/getMessages.d.ts +42 -0
- package/dist/lexicon/types/chat/bsky/convo/getMessages.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/getMessages.js +3 -0
- package/dist/lexicon/types/chat/bsky/convo/getMessages.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/leaveConvo.d.ts +41 -0
- package/dist/lexicon/types/chat/bsky/convo/leaveConvo.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/leaveConvo.js +3 -0
- package/dist/lexicon/types/chat/bsky/convo/leaveConvo.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/listConvos.d.ts +38 -0
- package/dist/lexicon/types/chat/bsky/convo/listConvos.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/listConvos.js +3 -0
- package/dist/lexicon/types/chat/bsky/convo/listConvos.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/muteConvo.d.ts +41 -0
- package/dist/lexicon/types/chat/bsky/convo/muteConvo.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/muteConvo.js +3 -0
- package/dist/lexicon/types/chat/bsky/convo/muteConvo.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/sendMessage.d.ts +39 -0
- package/dist/lexicon/types/chat/bsky/convo/sendMessage.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/sendMessage.js +3 -0
- package/dist/lexicon/types/chat/bsky/convo/sendMessage.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.d.ts +49 -0
- package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.js +16 -0
- package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.d.ts +41 -0
- package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.js +3 -0
- package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/updateRead.d.ts +42 -0
- package/dist/lexicon/types/chat/bsky/convo/updateRead.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/updateRead.js +3 -0
- package/dist/lexicon/types/chat/bsky/convo/updateRead.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.d.ts +47 -0
- package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.js +16 -0
- package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.d.ts +43 -0
- package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.js +3 -0
- package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.d.ts +31 -0
- package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.js +3 -0
- package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.js.map +1 -0
- package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts +2 -1
- package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/defs.js.map +1 -1
- package/dist/mod-service/index.d.ts +2 -1
- package/dist/mod-service/index.d.ts.map +1 -1
- package/dist/mod-service/index.js +10 -2
- package/dist/mod-service/index.js.map +1 -1
- package/dist/mod-service/subject.d.ts +35 -2
- package/dist/mod-service/subject.d.ts.map +1 -1
- package/dist/mod-service/subject.js +85 -1
- package/dist/mod-service/subject.js.map +1 -1
- package/dist/mod-service/views.d.ts +5 -2
- package/dist/mod-service/views.d.ts.map +1 -1
- package/dist/mod-service/views.js +17 -6
- package/dist/mod-service/views.js.map +1 -1
- package/dist/util.d.ts +8 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +41 -1
- package/dist/util.js.map +1 -1
- package/package.json +5 -4
- package/src/api/chat/getActorMetadata.ts +22 -0
- package/src/api/chat/getMessageContext.ts +39 -0
- package/src/api/chat/index.ts +10 -0
- package/src/api/index.ts +2 -0
- package/src/api/moderation/emitEvent.ts +31 -0
- package/src/api/moderation/getRecord.ts +3 -2
- package/src/api/moderation/getRepo.ts +3 -2
- package/src/api/proxied.ts +14 -0
- package/src/api/util.ts +1 -0
- package/src/config/config.ts +16 -0
- package/src/config/env.ts +4 -0
- package/src/context.ts +36 -1
- package/src/db/migrations/20240506T225055595Z-message-subject.ts +21 -0
- package/src/db/migrations/index.ts +1 -0
- package/src/db/schema/moderation_event.ts +5 -1
- package/src/lexicon/index.ts +254 -0
- package/src/lexicon/lexicons.ts +926 -0
- package/src/lexicon/types/chat/bsky/actor/declaration.ts +25 -0
- package/src/lexicon/types/chat/bsky/actor/defs.ts +34 -0
- package/src/lexicon/types/chat/bsky/actor/deleteAccount.ts +42 -0
- package/src/lexicon/types/chat/bsky/actor/exportAccountData.ts +38 -0
- package/src/lexicon/types/chat/bsky/convo/defs.ts +215 -0
- package/src/lexicon/types/chat/bsky/convo/deleteMessageForSelf.ts +48 -0
- package/src/lexicon/types/chat/bsky/convo/getConvo.ts +46 -0
- package/src/lexicon/types/chat/bsky/convo/getConvoForMembers.ts +46 -0
- package/src/lexicon/types/chat/bsky/convo/getLog.ts +53 -0
- package/src/lexicon/types/chat/bsky/convo/getMessages.ts +53 -0
- package/src/lexicon/types/chat/bsky/convo/leaveConvo.ts +50 -0
- package/src/lexicon/types/chat/bsky/convo/listConvos.ts +48 -0
- package/src/lexicon/types/chat/bsky/convo/muteConvo.ts +50 -0
- package/src/lexicon/types/chat/bsky/convo/sendMessage.ts +48 -0
- package/src/lexicon/types/chat/bsky/convo/sendMessageBatch.ts +68 -0
- package/src/lexicon/types/chat/bsky/convo/unmuteConvo.ts +50 -0
- package/src/lexicon/types/chat/bsky/convo/updateRead.ts +51 -0
- package/src/lexicon/types/chat/bsky/moderation/getActorMetadata.ts +67 -0
- package/src/lexicon/types/chat/bsky/moderation/getMessageContext.ts +54 -0
- package/src/lexicon/types/chat/bsky/moderation/updateActorAccess.ts +40 -0
- package/src/lexicon/types/tools/ozone/moderation/defs.ts +2 -0
- package/src/mod-service/index.ts +10 -3
- package/src/mod-service/subject.ts +73 -2
- package/src/mod-service/views.ts +30 -5
- package/src/util.ts +50 -0
- package/tests/3p-labeler.test.ts +271 -0
- package/tests/__snapshots__/moderation.test.ts.snap +30 -0
- package/tests/get-lists.test.ts +109 -0
- package/tests/moderation.test.ts +39 -0
|
@@ -182,10 +182,11 @@ class ModerationViews {
|
|
|
182
182
|
subjectBlobs,
|
|
183
183
|
};
|
|
184
184
|
}
|
|
185
|
-
async repoDetail(did) {
|
|
186
|
-
const [repos,
|
|
185
|
+
async repoDetail(did, labelers) {
|
|
186
|
+
const [repos, localLabels, externalLabels] = await Promise.all([
|
|
187
187
|
this.repos([did]),
|
|
188
188
|
this.labels(did),
|
|
189
|
+
this.getExternalLabels([did], labelers),
|
|
189
190
|
]);
|
|
190
191
|
const repo = repos.get(did);
|
|
191
192
|
if (!repo)
|
|
@@ -195,7 +196,7 @@ class ModerationViews {
|
|
|
195
196
|
moderation: {
|
|
196
197
|
...repo.moderation,
|
|
197
198
|
},
|
|
198
|
-
labels,
|
|
199
|
+
labels: [...localLabels, ...externalLabels],
|
|
199
200
|
};
|
|
200
201
|
}
|
|
201
202
|
async fetchRecords(subjects) {
|
|
@@ -256,7 +257,7 @@ class ModerationViews {
|
|
|
256
257
|
});
|
|
257
258
|
}, new Map());
|
|
258
259
|
}
|
|
259
|
-
async recordDetail(subject) {
|
|
260
|
+
async recordDetail(subject, labelers) {
|
|
260
261
|
const [records, subjectStatusesResult] = await Promise.all([
|
|
261
262
|
this.records([subject]),
|
|
262
263
|
this.getSubjectStatus([subject.uri]),
|
|
@@ -265,9 +266,10 @@ class ModerationViews {
|
|
|
265
266
|
if (!record)
|
|
266
267
|
return undefined;
|
|
267
268
|
const status = subjectStatusesResult.get(subject.uri);
|
|
268
|
-
const [blobs, labels, subjectStatus] = await Promise.all([
|
|
269
|
+
const [blobs, labels, externalLabels, subjectStatus] = await Promise.all([
|
|
269
270
|
this.blob(findBlobRefs(record.value)),
|
|
270
271
|
this.labels(record.uri),
|
|
272
|
+
this.getExternalLabels([record.uri], labelers),
|
|
271
273
|
status ? this.formatSubjectStatus(status) : Promise.resolve(undefined),
|
|
272
274
|
]);
|
|
273
275
|
const selfLabels = getSelfLabels({
|
|
@@ -282,9 +284,18 @@ class ModerationViews {
|
|
|
282
284
|
...record.moderation,
|
|
283
285
|
subjectStatus,
|
|
284
286
|
},
|
|
285
|
-
labels: [...labels, ...selfLabels],
|
|
287
|
+
labels: [...labels, ...selfLabels, ...externalLabels],
|
|
286
288
|
};
|
|
287
289
|
}
|
|
290
|
+
async getExternalLabels(subjects, labelers) {
|
|
291
|
+
if (!labelers?.dids.length && !labelers?.redact.size)
|
|
292
|
+
return [];
|
|
293
|
+
const { data: { labels }, } = await this.appviewAgent.api.com.atproto.label.queryLabels({
|
|
294
|
+
uriPatterns: subjects,
|
|
295
|
+
sources: labelers.dids,
|
|
296
|
+
});
|
|
297
|
+
return labels;
|
|
298
|
+
}
|
|
288
299
|
formatReport(report) {
|
|
289
300
|
return {
|
|
290
301
|
id: report.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/mod-service/views.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/mod-service/views.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
CHANGED
|
@@ -3,4 +3,12 @@ import Database from './db';
|
|
|
3
3
|
export declare const getSigningKeyId: (db: Database, signingKey: string) => Promise<number>;
|
|
4
4
|
export declare function retryHttp<T>(fn: () => Promise<T>, opts?: RetryOptions): Promise<T>;
|
|
5
5
|
export declare function retryableHttp(err: unknown): boolean;
|
|
6
|
+
export type ParsedLabelers = {
|
|
7
|
+
dids: string[];
|
|
8
|
+
redact: Set<string>;
|
|
9
|
+
};
|
|
10
|
+
export declare const LABELER_HEADER_NAME = "atproto-accept-labelers";
|
|
11
|
+
export declare const parseLabelerHeader: (header: string | undefined, ignoreDid?: string) => ParsedLabelers | null;
|
|
12
|
+
export declare const defaultLabelerHeader: (dids: string[]) => ParsedLabelers;
|
|
13
|
+
export declare const formatLabelerHeader: (parsed: ParsedLabelers) => string;
|
|
6
14
|
//# sourceMappingURL=util.d.ts.map
|
package/dist/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAS,MAAM,iBAAiB,CAAA;AACrD,OAAO,QAAQ,MAAM,MAAM,CAAA;AAE3B,eAAO,MAAM,eAAe,OACtB,QAAQ,cACA,MAAM,KACjB,QAAQ,MAAM,CAehB,CAAA;AAED,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,WAUzC;AAMD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,mBAAmB,4BAA4B,CAAA;AAE5D,eAAO,MAAM,kBAAkB,WACrB,MAAM,GAAG,SAAS,cACd,MAAM,KACjB,cAAc,GAAG,IAuBnB,CAAA;AAED,eAAO,MAAM,oBAAoB,SAAU,MAAM,EAAE,KAAG,cAKrD,CAAA;AAED,eAAO,MAAM,mBAAmB,WAAY,cAAc,KAAG,MAK5D,CAAA"}
|
package/dist/util.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.retryableHttp = exports.retryHttp = exports.getSigningKeyId = void 0;
|
|
3
|
+
exports.formatLabelerHeader = exports.defaultLabelerHeader = exports.parseLabelerHeader = exports.LABELER_HEADER_NAME = exports.retryableHttp = exports.retryHttp = exports.getSigningKeyId = void 0;
|
|
4
4
|
const axios_1 = require("axios");
|
|
5
|
+
const structured_headers_1 = require("structured-headers");
|
|
5
6
|
const xrpc_1 = require("@atproto/xrpc");
|
|
6
7
|
const common_1 = require("@atproto/common");
|
|
7
8
|
const getSigningKeyId = async (db, signingKey) => {
|
|
@@ -42,4 +43,43 @@ exports.retryableHttp = retryableHttp;
|
|
|
42
43
|
const retryableHttpStatusCodes = new Set([
|
|
43
44
|
408, 425, 429, 500, 502, 503, 504, 522, 524,
|
|
44
45
|
]);
|
|
46
|
+
exports.LABELER_HEADER_NAME = 'atproto-accept-labelers';
|
|
47
|
+
const parseLabelerHeader = (header, ignoreDid) => {
|
|
48
|
+
if (!header)
|
|
49
|
+
return null;
|
|
50
|
+
const labelerDids = new Set();
|
|
51
|
+
const redactDids = new Set();
|
|
52
|
+
const parsed = (0, structured_headers_1.parseList)(header);
|
|
53
|
+
for (const item of parsed) {
|
|
54
|
+
const did = item[0].toString();
|
|
55
|
+
if (!did) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
if (did === ignoreDid) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
labelerDids.add(did);
|
|
62
|
+
const redact = item[1].get('redact')?.valueOf();
|
|
63
|
+
if (redact === true) {
|
|
64
|
+
redactDids.add(did);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
dids: [...labelerDids],
|
|
69
|
+
redact: redactDids,
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
exports.parseLabelerHeader = parseLabelerHeader;
|
|
73
|
+
const defaultLabelerHeader = (dids) => {
|
|
74
|
+
return {
|
|
75
|
+
dids,
|
|
76
|
+
redact: new Set(dids),
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
exports.defaultLabelerHeader = defaultLabelerHeader;
|
|
80
|
+
const formatLabelerHeader = (parsed) => {
|
|
81
|
+
const parts = parsed.dids.map((did) => parsed.redact.has(did) ? `${did};redact` : did);
|
|
82
|
+
return parts.join(',');
|
|
83
|
+
};
|
|
84
|
+
exports.formatLabelerHeader = formatLabelerHeader;
|
|
45
85
|
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAAA,iCAAkC;AAClC,wCAAuD;AACvD,4CAAqD;AAG9C,MAAM,eAAe,GAAG,KAAK,EAClC,EAAY,EACZ,UAAkB,EACD,EAAE;IACnB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,EAAE;SAC1B,UAAU,CAAC,aAAa,CAAC;SACzB,SAAS,EAAE;SACX,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC;SAC7B,gBAAgB,EAAE,CAAA;IACrB,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC,EAAE,CAAA;IACrB,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,EAAE;SAC1B,UAAU,CAAC,aAAa,CAAC;SACzB,MAAM,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;SAC3B,YAAY,EAAE;SACd,uBAAuB,EAAE,CAAA;IAC5B,OAAO,SAAS,CAAC,EAAE,CAAA;AACrB,CAAC,CAAA;AAlBY,QAAA,eAAe,mBAkB3B;AAEM,KAAK,UAAU,SAAS,CAC7B,EAAoB,EACpB,OAAqB,EAAE;IAEvB,OAAO,IAAA,cAAK,EAAC,EAAE,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;AACzD,CAAC;AALD,8BAKC;AAED,SAAgB,aAAa,CAAC,GAAY;IACxC,IAAI,GAAG,YAAY,gBAAS,EAAE,CAAC;QAC7B,IAAI,GAAG,CAAC,MAAM,KAAK,mBAAY,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QACpD,OAAO,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACjD,CAAC;IACD,IAAI,GAAG,YAAY,kBAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC9B,OAAO,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAVD,sCAUC;AAED,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CAC5C,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atproto/ozone",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Backend service for moderating the Bluesky network.",
|
|
6
6
|
"keywords": [
|
|
@@ -29,9 +29,10 @@
|
|
|
29
29
|
"p-queue": "^6.6.2",
|
|
30
30
|
"pg": "^8.10.0",
|
|
31
31
|
"pino-http": "^8.2.1",
|
|
32
|
+
"structured-headers": "^1.0.1",
|
|
32
33
|
"typed-emitter": "^2.1.0",
|
|
33
34
|
"uint8arrays": "3.0.0",
|
|
34
|
-
"@atproto/api": "^0.12.
|
|
35
|
+
"@atproto/api": "^0.12.12",
|
|
35
36
|
"@atproto/common": "^0.4.0",
|
|
36
37
|
"@atproto/crypto": "^0.4.0",
|
|
37
38
|
"@atproto/identity": "^0.4.0",
|
|
@@ -51,10 +52,10 @@
|
|
|
51
52
|
"jest": "^28.1.2",
|
|
52
53
|
"ts-node": "^10.8.2",
|
|
53
54
|
"@atproto/lex-cli": "^0.4.0",
|
|
54
|
-
"@atproto/pds": "^0.4.
|
|
55
|
+
"@atproto/pds": "^0.4.24"
|
|
55
56
|
},
|
|
56
57
|
"scripts": {
|
|
57
|
-
"codegen": "lex gen-server ./src/lexicon ../../lexicons/com/atproto/*/* ../../lexicons/app/bsky/*/* ../../lexicons/tools/ozone/*/*",
|
|
58
|
+
"codegen": "lex gen-server ./src/lexicon ../../lexicons/com/atproto/*/* ../../lexicons/app/bsky/*/* ../../lexicons/chat/bsky/*/* ../../lexicons/tools/ozone/*/*",
|
|
58
59
|
"build": "tsc --build tsconfig.build.json",
|
|
59
60
|
"start": "node --enable-source-maps dist/bin.js",
|
|
60
61
|
"test": "../dev-infra/with-test-redis-and-db.sh jest",
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Server } from '../../lexicon'
|
|
2
|
+
import AppContext from '../../context'
|
|
3
|
+
import { InvalidRequestError } from '@atproto/xrpc-server'
|
|
4
|
+
|
|
5
|
+
export default function (server: Server, ctx: AppContext) {
|
|
6
|
+
server.chat.bsky.moderation.getActorMetadata({
|
|
7
|
+
auth: ctx.authVerifier.modOrAdminToken,
|
|
8
|
+
handler: async ({ params }) => {
|
|
9
|
+
if (!ctx.chatAgent) {
|
|
10
|
+
throw new InvalidRequestError('No chat agent configured')
|
|
11
|
+
}
|
|
12
|
+
const res = await ctx.chatAgent.api.chat.bsky.moderation.getActorMetadata(
|
|
13
|
+
params,
|
|
14
|
+
await ctx.chatAuth(),
|
|
15
|
+
)
|
|
16
|
+
return {
|
|
17
|
+
encoding: 'application/json',
|
|
18
|
+
body: res.data,
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
})
|
|
22
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Server } from '../../lexicon'
|
|
2
|
+
import AppContext from '../../context'
|
|
3
|
+
import { InvalidRequestError } from '@atproto/xrpc-server'
|
|
4
|
+
|
|
5
|
+
export default function (server: Server, ctx: AppContext) {
|
|
6
|
+
server.chat.bsky.moderation.getMessageContext({
|
|
7
|
+
auth: ctx.authVerifier.modOrAdminToken,
|
|
8
|
+
handler: async ({ params, auth }) => {
|
|
9
|
+
if (!ctx.chatAgent) {
|
|
10
|
+
throw new InvalidRequestError('No chat agent configured')
|
|
11
|
+
}
|
|
12
|
+
const maxWindowSize = auth.credentials.isModerator ? 5 : 0
|
|
13
|
+
const before = Math.min(maxWindowSize, params.before)
|
|
14
|
+
const after = Math.min(maxWindowSize, params.after)
|
|
15
|
+
|
|
16
|
+
// Ensure that the requested message was actually reported to prevent arbitrary lookups
|
|
17
|
+
const found = await ctx.db.db
|
|
18
|
+
.selectFrom('moderation_event')
|
|
19
|
+
.select('id')
|
|
20
|
+
.where('subjectMessageId', '=', params.messageId)
|
|
21
|
+
.where('action', '=', 'tools.ozone.moderation.defs#modEventReport')
|
|
22
|
+
.limit(1)
|
|
23
|
+
.executeTakeFirst()
|
|
24
|
+
if (!found) {
|
|
25
|
+
throw new InvalidRequestError('No report for requested message')
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const res =
|
|
29
|
+
await ctx.chatAgent.api.chat.bsky.moderation.getMessageContext(
|
|
30
|
+
{ ...params, before, after },
|
|
31
|
+
await ctx.chatAuth(),
|
|
32
|
+
)
|
|
33
|
+
return {
|
|
34
|
+
encoding: 'application/json',
|
|
35
|
+
body: res.data,
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
})
|
|
39
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Server } from '../../lexicon'
|
|
2
|
+
import AppContext from '../../context'
|
|
3
|
+
import getActorMetadata from './getActorMetadata'
|
|
4
|
+
import getMessageContext from './getMessageContext'
|
|
5
|
+
|
|
6
|
+
export default function (server: Server, ctx: AppContext) {
|
|
7
|
+
getActorMetadata(server, ctx)
|
|
8
|
+
getMessageContext(server, ctx)
|
|
9
|
+
return server
|
|
10
|
+
}
|
package/src/api/index.ts
CHANGED
|
@@ -15,6 +15,7 @@ import createTemplate from './communication/createTemplate'
|
|
|
15
15
|
import updateTemplate from './communication/updateTemplate'
|
|
16
16
|
import deleteTemplate from './communication/deleteTemplate'
|
|
17
17
|
import listTemplates from './communication/listTemplates'
|
|
18
|
+
import chat from './chat'
|
|
18
19
|
import proxied from './proxied'
|
|
19
20
|
|
|
20
21
|
export * as health from './health'
|
|
@@ -37,6 +38,7 @@ export default function (server: Server, ctx: AppContext) {
|
|
|
37
38
|
createTemplate(server, ctx)
|
|
38
39
|
updateTemplate(server, ctx)
|
|
39
40
|
deleteTemplate(server, ctx)
|
|
41
|
+
chat(server, ctx)
|
|
40
42
|
proxied(server, ctx)
|
|
41
43
|
return server
|
|
42
44
|
}
|
|
@@ -7,8 +7,10 @@ import {
|
|
|
7
7
|
isModEventLabel,
|
|
8
8
|
isModEventMuteReporter,
|
|
9
9
|
isModEventReverseTakedown,
|
|
10
|
+
isModEventTag,
|
|
10
11
|
isModEventTakedown,
|
|
11
12
|
isModEventUnmuteReporter,
|
|
13
|
+
ModEventTag,
|
|
12
14
|
} from '../../lexicon/types/tools/ozone/moderation/defs'
|
|
13
15
|
import { HandlerInput } from '../../lexicon/types/tools/ozone/moderation/emitEvent'
|
|
14
16
|
import { subjectFromInput } from '../../mod-service/subject'
|
|
@@ -122,6 +124,10 @@ const handleModerationEvent = async ({
|
|
|
122
124
|
throw new InvalidRequestError('Subject must be a repo when muting reporter')
|
|
123
125
|
}
|
|
124
126
|
|
|
127
|
+
if (isModEventTag(event)) {
|
|
128
|
+
assertTagAuth(event, auth)
|
|
129
|
+
}
|
|
130
|
+
|
|
125
131
|
const moderationEvent = await db.transaction(async (dbTxn) => {
|
|
126
132
|
const moderationTxn = ctx.modService(dbTxn)
|
|
127
133
|
|
|
@@ -214,6 +220,31 @@ export default function (server: Server, ctx: AppContext) {
|
|
|
214
220
|
})
|
|
215
221
|
}
|
|
216
222
|
|
|
223
|
+
const TAG_AUTH: Record<string, 'triage' | 'moderator' | 'admin'> = {
|
|
224
|
+
'chat-disabled': 'moderator',
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
const assertTagAuth = (
|
|
228
|
+
event: ModEventTag,
|
|
229
|
+
auth: ModeratorOutput | AdminTokenOutput,
|
|
230
|
+
) => {
|
|
231
|
+
// admins can add/remove any tag
|
|
232
|
+
if (auth.credentials.isAdmin) return
|
|
233
|
+
|
|
234
|
+
for (const tag of Object.keys(TAG_AUTH)) {
|
|
235
|
+
if (event.add.includes(tag) || event.remove.includes(tag)) {
|
|
236
|
+
if (TAG_AUTH[tag] === 'admin' && !auth.credentials.isAdmin) {
|
|
237
|
+
throw new Error(`Must be an admin to add tag: ${tag}`)
|
|
238
|
+
} else if (
|
|
239
|
+
TAG_AUTH[tag] === 'moderator' &&
|
|
240
|
+
!auth.credentials.isModerator
|
|
241
|
+
) {
|
|
242
|
+
throw new Error(`Must be a full moderator to add tag: ${tag}`)
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
217
248
|
const validateLabels = (labels: string[]) => {
|
|
218
249
|
for (const label of labels) {
|
|
219
250
|
for (const char of badChars) {
|
|
@@ -7,11 +7,12 @@ import { AtUri } from '@atproto/syntax'
|
|
|
7
7
|
export default function (server: Server, ctx: AppContext) {
|
|
8
8
|
server.tools.ozone.moderation.getRecord({
|
|
9
9
|
auth: ctx.authVerifier.modOrAdminToken,
|
|
10
|
-
handler: async ({ params, auth }) => {
|
|
10
|
+
handler: async ({ params, auth, req }) => {
|
|
11
11
|
const db = ctx.db
|
|
12
|
+
const labelers = ctx.reqLabelers(req)
|
|
12
13
|
|
|
13
14
|
const [record, accountInfo] = await Promise.all([
|
|
14
|
-
ctx.modService(db).views.recordDetail(params),
|
|
15
|
+
ctx.modService(db).views.recordDetail(params, labelers),
|
|
15
16
|
getPdsAccountInfo(ctx, new AtUri(params.uri).hostname),
|
|
16
17
|
])
|
|
17
18
|
|
|
@@ -6,11 +6,12 @@ import { addAccountInfoToRepoViewDetail, getPdsAccountInfo } from '../util'
|
|
|
6
6
|
export default function (server: Server, ctx: AppContext) {
|
|
7
7
|
server.tools.ozone.moderation.getRepo({
|
|
8
8
|
auth: ctx.authVerifier.modOrAdminToken,
|
|
9
|
-
handler: async ({ params, auth }) => {
|
|
9
|
+
handler: async ({ params, auth, req }) => {
|
|
10
10
|
const { did } = params
|
|
11
11
|
const db = ctx.db
|
|
12
|
+
const labelers = ctx.reqLabelers(req)
|
|
12
13
|
const [partialRepo, accountInfo] = await Promise.all([
|
|
13
|
-
ctx.modService(db).views.repoDetail(did),
|
|
14
|
+
ctx.modService(db).views.repoDetail(did, labelers),
|
|
14
15
|
getPdsAccountInfo(ctx, did),
|
|
15
16
|
])
|
|
16
17
|
if (!partialRepo) {
|
package/src/api/proxied.ts
CHANGED
|
@@ -127,4 +127,18 @@ export default function (server: Server, ctx: AppContext) {
|
|
|
127
127
|
}
|
|
128
128
|
},
|
|
129
129
|
})
|
|
130
|
+
|
|
131
|
+
server.app.bsky.graph.getLists({
|
|
132
|
+
auth: ctx.authVerifier.moderator,
|
|
133
|
+
handler: async (request) => {
|
|
134
|
+
const res = await ctx.appviewAgent.api.app.bsky.graph.getLists(
|
|
135
|
+
request.params,
|
|
136
|
+
await ctx.appviewAuth(),
|
|
137
|
+
)
|
|
138
|
+
return {
|
|
139
|
+
encoding: 'application/json',
|
|
140
|
+
body: res.data,
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
})
|
|
130
144
|
}
|
package/src/api/util.ts
CHANGED
package/src/config/config.ts
CHANGED
|
@@ -41,6 +41,15 @@ export const envToCfg = (env: OzoneEnvironment): OzoneConfig => {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
let chatCfg: OzoneConfig['chat'] = null
|
|
45
|
+
if (env.chatUrl || env.chatDid) {
|
|
46
|
+
assert(env.chatUrl && env.chatDid)
|
|
47
|
+
chatCfg = {
|
|
48
|
+
url: env.chatUrl,
|
|
49
|
+
did: env.chatDid,
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
44
53
|
const cdnCfg: OzoneConfig['cdn'] = {
|
|
45
54
|
paths: env.cdnPaths,
|
|
46
55
|
}
|
|
@@ -68,6 +77,7 @@ export const envToCfg = (env: OzoneEnvironment): OzoneConfig => {
|
|
|
68
77
|
db: dbCfg,
|
|
69
78
|
appview: appviewCfg,
|
|
70
79
|
pds: pdsCfg,
|
|
80
|
+
chat: chatCfg,
|
|
71
81
|
cdn: cdnCfg,
|
|
72
82
|
identity: identityCfg,
|
|
73
83
|
blobDivert: blobDivertServiceCfg,
|
|
@@ -80,6 +90,7 @@ export type OzoneConfig = {
|
|
|
80
90
|
db: DatabaseConfig
|
|
81
91
|
appview: AppviewConfig
|
|
82
92
|
pds: PdsConfig | null
|
|
93
|
+
chat: ChatConfig | null
|
|
83
94
|
cdn: CdnConfig
|
|
84
95
|
identity: IdentityConfig
|
|
85
96
|
blobDivert: BlobDivertConfig | null
|
|
@@ -118,6 +129,11 @@ export type PdsConfig = {
|
|
|
118
129
|
did: string
|
|
119
130
|
}
|
|
120
131
|
|
|
132
|
+
export type ChatConfig = {
|
|
133
|
+
url: string
|
|
134
|
+
did: string
|
|
135
|
+
}
|
|
136
|
+
|
|
121
137
|
export type CdnConfig = {
|
|
122
138
|
paths?: string[]
|
|
123
139
|
}
|
package/src/config/env.ts
CHANGED
|
@@ -13,6 +13,8 @@ export const readEnv = (): OzoneEnvironment => {
|
|
|
13
13
|
appviewPushEvents: envBool('OZONE_APPVIEW_PUSH_EVENTS'),
|
|
14
14
|
pdsUrl: envStr('OZONE_PDS_URL'),
|
|
15
15
|
pdsDid: envStr('OZONE_PDS_DID'),
|
|
16
|
+
chatUrl: envStr('OZONE_CHAT_URL'),
|
|
17
|
+
chatDid: envStr('OZONE_CHAT_DID'),
|
|
16
18
|
dbPostgresUrl: envStr('OZONE_DB_POSTGRES_URL'),
|
|
17
19
|
dbPostgresSchema: envStr('OZONE_DB_POSTGRES_SCHEMA'),
|
|
18
20
|
dbPoolSize: envInt('OZONE_DB_POOL_SIZE'),
|
|
@@ -42,6 +44,8 @@ export type OzoneEnvironment = {
|
|
|
42
44
|
appviewPushEvents?: boolean
|
|
43
45
|
pdsUrl?: string
|
|
44
46
|
pdsDid?: string
|
|
47
|
+
chatUrl?: string
|
|
48
|
+
chatDid?: string
|
|
45
49
|
dbPostgresUrl?: string
|
|
46
50
|
dbPostgresSchema?: string
|
|
47
51
|
dbPoolSize?: number
|
package/src/context.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import express from 'express'
|
|
1
2
|
import * as plc from '@did-plc/lib'
|
|
2
3
|
import { IdResolver } from '@atproto/identity'
|
|
3
4
|
import { AtpAgent } from '@atproto/api'
|
|
@@ -17,7 +18,13 @@ import {
|
|
|
17
18
|
import { BlobDiverter } from './daemon/blob-diverter'
|
|
18
19
|
import { AuthVerifier } from './auth-verifier'
|
|
19
20
|
import { ImageInvalidator } from './image-invalidator'
|
|
20
|
-
import {
|
|
21
|
+
import {
|
|
22
|
+
defaultLabelerHeader,
|
|
23
|
+
getSigningKeyId,
|
|
24
|
+
LABELER_HEADER_NAME,
|
|
25
|
+
ParsedLabelers,
|
|
26
|
+
parseLabelerHeader,
|
|
27
|
+
} from './util'
|
|
21
28
|
|
|
22
29
|
export type AppContextOptions = {
|
|
23
30
|
db: Database
|
|
@@ -26,6 +33,7 @@ export type AppContextOptions = {
|
|
|
26
33
|
communicationTemplateService: CommunicationTemplateServiceCreator
|
|
27
34
|
appviewAgent: AtpAgent
|
|
28
35
|
pdsAgent: AtpAgent | undefined
|
|
36
|
+
chatAgent: AtpAgent | undefined
|
|
29
37
|
blobDiverter?: BlobDiverter
|
|
30
38
|
signingKey: Keypair
|
|
31
39
|
signingKeyId: number
|
|
@@ -60,6 +68,9 @@ export class AppContext {
|
|
|
60
68
|
const pdsAgent = cfg.pds
|
|
61
69
|
? new AtpAgent({ service: cfg.pds.url })
|
|
62
70
|
: undefined
|
|
71
|
+
const chatAgent = cfg.chat
|
|
72
|
+
? new AtpAgent({ service: cfg.chat.url })
|
|
73
|
+
: undefined
|
|
63
74
|
|
|
64
75
|
const idResolver = new IdResolver({
|
|
65
76
|
plcUrl: cfg.identity.plcUrl,
|
|
@@ -115,6 +126,7 @@ export class AppContext {
|
|
|
115
126
|
communicationTemplateService,
|
|
116
127
|
appviewAgent,
|
|
117
128
|
pdsAgent,
|
|
129
|
+
chatAgent,
|
|
118
130
|
signingKey,
|
|
119
131
|
signingKeyId,
|
|
120
132
|
idResolver,
|
|
@@ -164,6 +176,10 @@ export class AppContext {
|
|
|
164
176
|
return this.opts.pdsAgent
|
|
165
177
|
}
|
|
166
178
|
|
|
179
|
+
get chatAgent(): AtpAgent | undefined {
|
|
180
|
+
return this.opts.chatAgent
|
|
181
|
+
}
|
|
182
|
+
|
|
167
183
|
get signingKey(): Keypair {
|
|
168
184
|
return this.opts.signingKey
|
|
169
185
|
}
|
|
@@ -212,11 +228,30 @@ export class AppContext {
|
|
|
212
228
|
return this.serviceAuthHeaders(this.cfg.appview.did)
|
|
213
229
|
}
|
|
214
230
|
|
|
231
|
+
async chatAuth() {
|
|
232
|
+
if (!this.cfg.chat) {
|
|
233
|
+
throw new Error('No chat service configured')
|
|
234
|
+
}
|
|
235
|
+
return this.serviceAuthHeaders(this.cfg.chat.did)
|
|
236
|
+
}
|
|
237
|
+
|
|
215
238
|
devOverride(overrides: Partial<AppContextOptions>) {
|
|
216
239
|
this.opts = {
|
|
217
240
|
...this.opts,
|
|
218
241
|
...overrides,
|
|
219
242
|
}
|
|
220
243
|
}
|
|
244
|
+
|
|
245
|
+
reqLabelers(req: express.Request): ParsedLabelers {
|
|
246
|
+
const val = req.header(LABELER_HEADER_NAME)
|
|
247
|
+
let parsed: ParsedLabelers | null
|
|
248
|
+
try {
|
|
249
|
+
parsed = parseLabelerHeader(val, this.cfg.service.did)
|
|
250
|
+
} catch (err) {
|
|
251
|
+
parsed = null
|
|
252
|
+
}
|
|
253
|
+
if (!parsed) return defaultLabelerHeader([])
|
|
254
|
+
return parsed
|
|
255
|
+
}
|
|
221
256
|
}
|
|
222
257
|
export default AppContext
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Kysely } from 'kysely'
|
|
2
|
+
|
|
3
|
+
export async function up(db: Kysely<unknown>): Promise<void> {
|
|
4
|
+
await db.schema
|
|
5
|
+
.alterTable('moderation_event')
|
|
6
|
+
.addColumn('subjectMessageId', 'varchar')
|
|
7
|
+
.execute()
|
|
8
|
+
// support lookup for chat.bsky.moderation.getMessageContext
|
|
9
|
+
await db.schema
|
|
10
|
+
.createIndex('moderation_event_message_id_index')
|
|
11
|
+
.on('moderation_event')
|
|
12
|
+
.column('subjectMessageId')
|
|
13
|
+
.execute()
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export async function down(db: Kysely<unknown>): Promise<void> {
|
|
17
|
+
await db.schema
|
|
18
|
+
.alterTable('moderation_event')
|
|
19
|
+
.dropColumn('subjectMessageId')
|
|
20
|
+
.execute()
|
|
21
|
+
}
|
|
@@ -8,3 +8,4 @@ export * as _20240201T051104136Z from './20240201T051104136Z-mod-event-blobs'
|
|
|
8
8
|
export * as _20240208T213404429Z from './20240208T213404429Z-add-tags-column-to-moderation-subject'
|
|
9
9
|
export * as _20240228T003647759Z from './20240228T003647759Z-add-label-sigs'
|
|
10
10
|
export * as _20240408T192432676Z from './20240408T192432676Z-mute-reporting'
|
|
11
|
+
export * as _20240506T225055595Z from './20240506T225055595Z-message-subject'
|