@atcute/bluesky-moderation 2.0.4 → 3.0.0
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/README.md +126 -128
- package/dist/_test-util/mock.d.ts +2735 -0
- package/dist/_test-util/mock.d.ts.map +1 -0
- package/dist/_test-util/mock.js +109 -0
- package/dist/_test-util/mock.js.map +1 -0
- package/dist/_test-util/moderation-behavior.d.ts +57 -0
- package/dist/_test-util/moderation-behavior.d.ts.map +1 -0
- package/dist/_test-util/moderation-behavior.js +158 -0
- package/dist/_test-util/moderation-behavior.js.map +1 -0
- package/dist/behaviors.d.ts +21 -18
- package/dist/behaviors.d.ts.map +1 -1
- package/dist/behaviors.js +18 -21
- package/dist/behaviors.js.map +1 -1
- package/dist/decision.d.ts +25 -24
- package/dist/decision.d.ts.map +1 -1
- package/dist/decision.js +14 -16
- package/dist/decision.js.map +1 -1
- package/dist/index.d.ts +11 -11
- package/dist/internal/keyword-filter.d.ts +3 -3
- package/dist/internal/keyword-filter.d.ts.map +1 -1
- package/dist/internal/keyword-filter.js.map +1 -1
- package/dist/keyword-filter.d.ts +7 -6
- package/dist/keyword-filter.d.ts.map +1 -1
- package/dist/keyword-filter.js +8 -7
- package/dist/keyword-filter.js.map +1 -1
- package/dist/label.d.ts +30 -27
- package/dist/label.d.ts.map +1 -1
- package/dist/label.js +24 -28
- package/dist/label.js.map +1 -1
- package/dist/subjects/feed-generator.d.ts +3 -3
- package/dist/subjects/feed-generator.d.ts.map +1 -1
- package/dist/subjects/feed-generator.js.map +1 -1
- package/dist/subjects/list.d.ts +2 -2
- package/dist/subjects/list.d.ts.map +1 -1
- package/dist/subjects/list.js.map +1 -1
- package/dist/subjects/notification.d.ts +3 -3
- package/dist/subjects/notification.d.ts.map +1 -1
- package/dist/subjects/notification.js.map +1 -1
- package/dist/subjects/post.d.ts +4 -3
- package/dist/subjects/post.d.ts.map +1 -1
- package/dist/subjects/post.js.map +1 -1
- package/dist/subjects/profile.d.ts +2 -2
- package/dist/subjects/profile.d.ts.map +1 -1
- package/dist/subjects/profile.js.map +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/ui.d.ts +2 -2
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +4 -4
- package/dist/ui.js.map +1 -1
- package/lib/_test-util/mock.ts +214 -0
- package/lib/_test-util/moderation-behavior.ts +259 -0
- package/lib/behaviors.ts +21 -18
- package/lib/decision.ts +26 -26
- package/lib/index.ts +11 -11
- package/lib/internal/keyword-filter.ts +1 -1
- package/lib/keyword-filter.ts +9 -6
- package/lib/label.ts +32 -28
- package/lib/subjects/feed-generator.ts +4 -4
- package/lib/subjects/list.ts +4 -4
- package/lib/subjects/notification.ts +4 -4
- package/lib/subjects/post.ts +6 -7
- package/lib/subjects/profile.ts +3 -3
- package/lib/types.ts +2 -2
- package/lib/ui.ts +7 -7
- package/package.json +14 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../lib/_test-util/mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EACX,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oCAAoC,EACpC,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,KAAK,EAA2B,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAoBhB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCpB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;CAqB3B,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;kFAkBvB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;kCA0B5B,CAAC;AAEF,eAAO,MAAM,aAAa;;oCAQzB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;uDAoB7B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;uDAuB9B,CAAC;AAEF,eAAO,MAAM,KAAK;;;;+BAejB,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
const FAKE_CID = 'bafyreiclp443lavogvhj3d2ob2cxbfuscni2k5jk7bebjzg7khl3esabwq';
|
|
2
|
+
export const post = ({ text, facets, reply, embed, }) => {
|
|
3
|
+
return {
|
|
4
|
+
$type: 'app.bsky.feed.post',
|
|
5
|
+
text,
|
|
6
|
+
facets,
|
|
7
|
+
reply,
|
|
8
|
+
embed,
|
|
9
|
+
langs: ['en'],
|
|
10
|
+
createdAt: new Date().toISOString(),
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export const postView = ({ record, author, embed, replyCount, repostCount, likeCount, viewer, labels, }) => {
|
|
14
|
+
return {
|
|
15
|
+
$type: 'app.bsky.feed.defs#postView',
|
|
16
|
+
uri: `at://${author.did}/app.bsky.feed.post/fake`,
|
|
17
|
+
cid: FAKE_CID,
|
|
18
|
+
author,
|
|
19
|
+
record,
|
|
20
|
+
embed,
|
|
21
|
+
replyCount,
|
|
22
|
+
repostCount,
|
|
23
|
+
likeCount,
|
|
24
|
+
indexedAt: new Date().toISOString(),
|
|
25
|
+
viewer,
|
|
26
|
+
labels,
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export const embedRecordView = ({ record, author, labels, }) => {
|
|
30
|
+
return {
|
|
31
|
+
$type: 'app.bsky.embed.record#view',
|
|
32
|
+
record: {
|
|
33
|
+
$type: 'app.bsky.embed.record#viewRecord',
|
|
34
|
+
uri: `at://${author.did}/app.bsky.feed.post/fake`,
|
|
35
|
+
cid: FAKE_CID,
|
|
36
|
+
author,
|
|
37
|
+
value: record,
|
|
38
|
+
labels,
|
|
39
|
+
indexedAt: new Date().toISOString(),
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
export const profileView = ({ handle, displayName, viewer, labels, }) => {
|
|
44
|
+
return {
|
|
45
|
+
did: `did:web:${handle}`,
|
|
46
|
+
handle,
|
|
47
|
+
displayName,
|
|
48
|
+
viewer,
|
|
49
|
+
labels,
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
export const actorViewerState = ({ muted, mutedByList, blockedBy, blocking, blockingByList, following, followedBy, }) => {
|
|
53
|
+
return {
|
|
54
|
+
muted,
|
|
55
|
+
mutedByList,
|
|
56
|
+
blockedBy,
|
|
57
|
+
blocking,
|
|
58
|
+
blockingByList,
|
|
59
|
+
following,
|
|
60
|
+
followedBy,
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
export const listViewBasic = ({ name }) => {
|
|
64
|
+
return {
|
|
65
|
+
uri: 'at://did:plc:fake/app.bsky.graph.list/fake',
|
|
66
|
+
cid: FAKE_CID,
|
|
67
|
+
name,
|
|
68
|
+
purpose: 'app.bsky.graph.defs#modlist',
|
|
69
|
+
indexedAt: new Date().toISOString(),
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
export const replyNotification = ({ author, record, labels, }) => {
|
|
73
|
+
return {
|
|
74
|
+
uri: `at://${author.did}/app.bsky.feed.post/fake`,
|
|
75
|
+
cid: FAKE_CID,
|
|
76
|
+
author,
|
|
77
|
+
reason: 'reply',
|
|
78
|
+
reasonSubject: `at://${author.did}/app.bsky.feed.post/fake-parent`,
|
|
79
|
+
record,
|
|
80
|
+
isRead: false,
|
|
81
|
+
indexedAt: new Date().toISOString(),
|
|
82
|
+
labels,
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
export const followNotification = ({ author, subjectDid, labels, }) => {
|
|
86
|
+
return {
|
|
87
|
+
uri: `at://${author.did}/app.bsky.graph.follow/fake`,
|
|
88
|
+
cid: FAKE_CID,
|
|
89
|
+
author,
|
|
90
|
+
reason: 'follow',
|
|
91
|
+
record: {
|
|
92
|
+
$type: 'app.bsky.graph.follow',
|
|
93
|
+
createdAt: new Date().toISOString(),
|
|
94
|
+
subject: subjectDid,
|
|
95
|
+
},
|
|
96
|
+
isRead: false,
|
|
97
|
+
indexedAt: new Date().toISOString(),
|
|
98
|
+
labels,
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
export const label = ({ val, uri, src, }) => {
|
|
102
|
+
return {
|
|
103
|
+
src: src || 'did:plc:fake-labeler',
|
|
104
|
+
uri,
|
|
105
|
+
val,
|
|
106
|
+
cts: new Date().toISOString(),
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=mock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../../lib/_test-util/mock.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { LabelPreference, type ModerationOptions } from '../index.ts';
|
|
2
|
+
export type ModerationTestSuiteResultFlag = 'filter' | 'blur' | 'alert' | 'inform' | 'noOverride';
|
|
3
|
+
export interface ModerationTestSuiteScenario {
|
|
4
|
+
cfg: string;
|
|
5
|
+
subject: 'post' | 'profile' | 'userlist' | 'feedgen';
|
|
6
|
+
author: string;
|
|
7
|
+
quoteAuthor?: string;
|
|
8
|
+
labels: {
|
|
9
|
+
post?: string[];
|
|
10
|
+
profile?: string[];
|
|
11
|
+
account?: string[];
|
|
12
|
+
quotedPost?: string[];
|
|
13
|
+
quotedAccount?: string[];
|
|
14
|
+
};
|
|
15
|
+
behaviors: {
|
|
16
|
+
profileList?: ModerationTestSuiteResultFlag[];
|
|
17
|
+
profileView?: ModerationTestSuiteResultFlag[];
|
|
18
|
+
profileMedia?: ModerationTestSuiteResultFlag[];
|
|
19
|
+
contentList?: ModerationTestSuiteResultFlag[];
|
|
20
|
+
contentView?: ModerationTestSuiteResultFlag[];
|
|
21
|
+
contentMedia?: ModerationTestSuiteResultFlag[];
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export type SuiteUsers = Record<string, {
|
|
25
|
+
blocking: boolean;
|
|
26
|
+
blockingByList: boolean;
|
|
27
|
+
blockedBy: boolean;
|
|
28
|
+
muted: boolean;
|
|
29
|
+
mutedByList: boolean;
|
|
30
|
+
}>;
|
|
31
|
+
export type SuiteConfigurations = Record<string, {
|
|
32
|
+
authed?: boolean;
|
|
33
|
+
adultContentEnabled?: boolean;
|
|
34
|
+
settings?: Record<string, LabelPreference>;
|
|
35
|
+
}>;
|
|
36
|
+
export type SuiteScenarios = Record<string, ModerationTestSuiteScenario>;
|
|
37
|
+
declare module 'vitest' {
|
|
38
|
+
interface Assertion<T = any> {
|
|
39
|
+
toBeModerationResult(expected?: ModerationTestSuiteResultFlag[], context?: string, stringifiedResult?: string, ignoreCause?: boolean): void;
|
|
40
|
+
}
|
|
41
|
+
interface AsymmetricMatchers {
|
|
42
|
+
toBeModerationResult(expected?: ModerationTestSuiteResultFlag[], context?: string, stringifiedResult?: string, ignoreCause?: boolean): any;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export declare class ModerationBehaviorSuiteRunner {
|
|
46
|
+
users: SuiteUsers;
|
|
47
|
+
configurations: SuiteConfigurations;
|
|
48
|
+
scenarios: SuiteScenarios;
|
|
49
|
+
constructor(users: SuiteUsers, configurations: SuiteConfigurations, scenarios: SuiteScenarios);
|
|
50
|
+
postScenario(scenario: ModerationTestSuiteScenario): import("@atcute/bluesky/types/app/feed/defs").PostView & {
|
|
51
|
+
$type: "app.bsky.feed.defs#postView";
|
|
52
|
+
};
|
|
53
|
+
profileScenario(scenario: ModerationTestSuiteScenario): import("@atcute/lexicons").$type.omit<import("@atcute/bluesky/types/app/actor/defs").ProfileView | import("@atcute/bluesky/types/app/actor/defs").ProfileViewBasic>;
|
|
54
|
+
profileView(name: string, scenarioLabels: ModerationTestSuiteScenario['labels']): import("@atcute/lexicons").$type.omit<import("@atcute/bluesky/types/app/actor/defs").ProfileView | import("@atcute/bluesky/types/app/actor/defs").ProfileViewBasic>;
|
|
55
|
+
moderationOptions(scenario: ModerationTestSuiteScenario): ModerationOptions;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=moderation-behavior.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moderation-behavior.d.ts","sourceRoot":"","sources":["../../lib/_test-util/moderation-behavior.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAA4B,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIhG,MAAM,MAAM,6BAA6B,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;AAElG,MAAM,WAAW,2BAA2B;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,SAAS,EAAE;QACV,WAAW,CAAC,EAAE,6BAA6B,EAAE,CAAC;QAC9C,WAAW,CAAC,EAAE,6BAA6B,EAAE,CAAC;QAC9C,YAAY,CAAC,EAAE,6BAA6B,EAAE,CAAC;QAC/C,WAAW,CAAC,EAAE,6BAA6B,EAAE,CAAC;QAC9C,WAAW,CAAC,EAAE,6BAA6B,EAAE,CAAC;QAC9C,YAAY,CAAC,EAAE,6BAA6B,EAAE,CAAC;KAC/C,CAAC;CACF;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAC9B,MAAM,EACN;IACC,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;CACrB,CACD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACvC,MAAM,EACN;IACC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC3C,CACD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;AAoFzE,OAAO,QAAQ,QAAQ,CAAC,CAAC;IAExB,UAAU,SAAS,CAAC,CAAC,GAAG,GAAG;QAC1B,oBAAoB,CACnB,QAAQ,CAAC,EAAE,6BAA6B,EAAE,EAC1C,OAAO,CAAC,EAAE,MAAM,EAChB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,WAAW,CAAC,EAAE,OAAO,GACnB,IAAI,CAAC;KACR;IAED,UAAU,kBAAkB;QAC3B,oBAAoB,CACnB,QAAQ,CAAC,EAAE,6BAA6B,EAAE,EAC1C,OAAO,CAAC,EAAE,MAAM,EAChB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,WAAW,CAAC,EAAE,OAAO,GACnB,GAAG,CAAC;KACP;CACD;AAED,qBAAa,6BAA6B;IACzC,KAAK,EAAE,UAAU,CAAC;IAClB,cAAc,EAAE,mBAAmB,CAAC;IACpC,SAAS,EAAE,cAAc,CAAC;IAE1B,YAAY,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAAE,cAAc,EAI5F;IAED,YAAY,CAAC,QAAQ,EAAE,2BAA2B;;MA8BjD;IAED,eAAe,CAAC,QAAQ,EAAE,2BAA2B,uKAKpD;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,2BAA2B,CAAC,QAAQ,CAAC,uKAgC9E;IAED,iBAAiB,CAAC,QAAQ,EAAE,2BAA2B,GAAG,iBAAiB,CAgB1E;CACD"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { expect } from 'vitest';
|
|
2
|
+
import { LabelPreference } from '../index.js';
|
|
3
|
+
import * as m from './mock.js';
|
|
4
|
+
expect.extend({
|
|
5
|
+
toBeModerationResult(actual, expected, context = '', stringifiedResult = undefined, _ignoreCause = false) {
|
|
6
|
+
const fail = (msg) => ({
|
|
7
|
+
pass: false,
|
|
8
|
+
message: () => `${msg}.${stringifiedResult ? ` Full result: ${stringifiedResult}` : ''}`,
|
|
9
|
+
});
|
|
10
|
+
// let cause = actual.causes?.type as string
|
|
11
|
+
// if (actual.cause?.type === 'label') {
|
|
12
|
+
// cause = `label:${actual.cause.labelDef.id}`
|
|
13
|
+
// } else if (actual.cause?.type === 'muted') {
|
|
14
|
+
// if (actual.cause.source.type === 'list') {
|
|
15
|
+
// cause = 'muted-by-list'
|
|
16
|
+
// }
|
|
17
|
+
// } else if (actual.cause?.type === 'blocking') {
|
|
18
|
+
// if (actual.cause.source.type === 'list') {
|
|
19
|
+
// cause = 'blocking-by-list'
|
|
20
|
+
// }
|
|
21
|
+
// }
|
|
22
|
+
if (!expected) {
|
|
23
|
+
// if (!ignoreCause && actual.cause) {
|
|
24
|
+
// return fail(`${context} expected to be a no-op, got ${cause}`)
|
|
25
|
+
// }
|
|
26
|
+
if (actual.informs.length > 0) {
|
|
27
|
+
return fail(`${context} expected to be a no-op, got inform=true`);
|
|
28
|
+
}
|
|
29
|
+
if (actual.alerts.length > 0) {
|
|
30
|
+
return fail(`${context} expected to be a no-op, got alert=true`);
|
|
31
|
+
}
|
|
32
|
+
if (actual.blurs.length > 0) {
|
|
33
|
+
return fail(`${context} expected to be a no-op, got blur=true`);
|
|
34
|
+
}
|
|
35
|
+
if (actual.filters.length > 0) {
|
|
36
|
+
return fail(`${context} expected to be a no-op, got filter=true`);
|
|
37
|
+
}
|
|
38
|
+
if (actual.noOverride) {
|
|
39
|
+
return fail(`${context} expected to be a no-op, got noOverride=true`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
// if (!ignoreCause && cause !== expected.cause) {
|
|
44
|
+
// return fail(`${context} expected to be ${expected.cause}, got ${cause}`)
|
|
45
|
+
// }
|
|
46
|
+
const expectedInform = expected.includes('inform');
|
|
47
|
+
if (!!(actual.informs.length > 0) !== expectedInform) {
|
|
48
|
+
return fail(`${context} expected to be inform=${expectedInform}, got ${actual.informs.length > 0 || false}`);
|
|
49
|
+
}
|
|
50
|
+
const expectedAlert = expected.includes('alert');
|
|
51
|
+
if (!!(actual.alerts.length > 0) !== expectedAlert) {
|
|
52
|
+
return fail(`${context} expected to be alert=${expectedAlert}, got ${actual.alerts.length > 0 || false}`);
|
|
53
|
+
}
|
|
54
|
+
const expectedBlur = expected.includes('blur');
|
|
55
|
+
if (!!(actual.blurs.length > 0) !== expectedBlur) {
|
|
56
|
+
return fail(`${context} expected to be blur=${expectedBlur}, got ${actual.blurs.length > 0 || false}`);
|
|
57
|
+
}
|
|
58
|
+
const expectedFilter = expected.includes('filter');
|
|
59
|
+
if (!!(actual.filters.length > 0) !== expectedFilter) {
|
|
60
|
+
return fail(`${context} expected to be filter=${expectedFilter}, got ${actual.filters.length > 0 || false}`);
|
|
61
|
+
}
|
|
62
|
+
const expectedNoOverride = expected.includes('noOverride');
|
|
63
|
+
if (!!actual.noOverride !== expectedNoOverride) {
|
|
64
|
+
return fail(`${context} expected to be noOverride=${expectedNoOverride}, got ${actual.noOverride || false}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return { pass: true, message: () => '' };
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
export class ModerationBehaviorSuiteRunner {
|
|
71
|
+
users;
|
|
72
|
+
configurations;
|
|
73
|
+
scenarios;
|
|
74
|
+
constructor(users, configurations, scenarios) {
|
|
75
|
+
this.users = users;
|
|
76
|
+
this.configurations = configurations;
|
|
77
|
+
this.scenarios = scenarios;
|
|
78
|
+
}
|
|
79
|
+
postScenario(scenario) {
|
|
80
|
+
if (scenario.subject !== 'post') {
|
|
81
|
+
throw new Error('Scenario subject must be "post"');
|
|
82
|
+
}
|
|
83
|
+
const author = this.profileView(scenario.author, scenario.labels);
|
|
84
|
+
return m.postView({
|
|
85
|
+
record: m.post({
|
|
86
|
+
text: 'Post text',
|
|
87
|
+
}),
|
|
88
|
+
author,
|
|
89
|
+
labels: (scenario.labels.post || []).map((val) => m.label({ val, uri: `at://${author.did}/app.bsky.feed.post/fake` })),
|
|
90
|
+
embed: scenario.quoteAuthor
|
|
91
|
+
? m.embedRecordView({
|
|
92
|
+
record: m.post({
|
|
93
|
+
text: 'Quoted post text',
|
|
94
|
+
}),
|
|
95
|
+
labels: (scenario.labels.quotedPost || []).map((val) => m.label({
|
|
96
|
+
val,
|
|
97
|
+
uri: `at://${author.did}/app.bsky.feed.post/fake`,
|
|
98
|
+
})),
|
|
99
|
+
author: this.profileView(scenario.quoteAuthor, {
|
|
100
|
+
account: scenario.labels.quotedAccount,
|
|
101
|
+
}),
|
|
102
|
+
})
|
|
103
|
+
: undefined,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
profileScenario(scenario) {
|
|
107
|
+
if (scenario.subject !== 'profile') {
|
|
108
|
+
throw new Error('Scenario subject must be "profile"');
|
|
109
|
+
}
|
|
110
|
+
return this.profileView(scenario.author, scenario.labels);
|
|
111
|
+
}
|
|
112
|
+
profileView(name, scenarioLabels) {
|
|
113
|
+
const def = this.users[name];
|
|
114
|
+
const labels = [];
|
|
115
|
+
if (scenarioLabels.account) {
|
|
116
|
+
for (const l of scenarioLabels.account) {
|
|
117
|
+
labels.push(m.label({ val: l, uri: `did:web:${name}` }));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (scenarioLabels.profile) {
|
|
121
|
+
for (const l of scenarioLabels.profile) {
|
|
122
|
+
labels.push(m.label({
|
|
123
|
+
val: l,
|
|
124
|
+
uri: `at://did:web:${name}/app.bsky.actor.profile/self`,
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return m.profileView({
|
|
129
|
+
handle: `${name}.test`,
|
|
130
|
+
labels,
|
|
131
|
+
viewer: m.actorViewerState({
|
|
132
|
+
muted: def.muted || def.mutedByList,
|
|
133
|
+
mutedByList: def.mutedByList ? m.listViewBasic({ name: 'Fake List' }) : undefined,
|
|
134
|
+
blockedBy: def.blockedBy,
|
|
135
|
+
blocking: def.blocking || def.blockingByList ? 'at://did:web:self.test/app.bsky.graph.block/fake' : undefined,
|
|
136
|
+
blockingByList: def.blockingByList ? m.listViewBasic({ name: 'Fake List' }) : undefined,
|
|
137
|
+
}),
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
moderationOptions(scenario) {
|
|
141
|
+
return {
|
|
142
|
+
viewerDid: this.configurations[scenario.cfg].authed === false ? undefined : 'did:web:self.test',
|
|
143
|
+
prefs: {
|
|
144
|
+
adultContentEnabled: Boolean(this.configurations[scenario.cfg]?.adultContentEnabled),
|
|
145
|
+
globalLabelPrefs: this.configurations[scenario.cfg].settings || {},
|
|
146
|
+
prefsByLabelers: {
|
|
147
|
+
'did:plc:fake-labeler': {
|
|
148
|
+
labelPrefs: {},
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
hiddenPosts: [],
|
|
152
|
+
keywordFilters: [],
|
|
153
|
+
temporaryMutes: [],
|
|
154
|
+
},
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=moderation-behavior.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moderation-behavior.js","sourceRoot":"","sources":["../../lib/_test-util/moderation-behavior.ts"],"names":[],"mappings":"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"}
|
package/dist/behaviors.d.ts
CHANGED
|
@@ -1,33 +1,36 @@
|
|
|
1
|
-
export declare
|
|
1
|
+
export declare const LabelTarget: {
|
|
2
2
|
/** label is intended for account's content */
|
|
3
|
-
Content
|
|
3
|
+
readonly Content: "content";
|
|
4
4
|
/** label is intended for account's profile */
|
|
5
|
-
Profile
|
|
5
|
+
readonly Profile: "profile";
|
|
6
6
|
/** label is intended for account's content and profile */
|
|
7
|
-
Account
|
|
8
|
-
}
|
|
9
|
-
export
|
|
7
|
+
readonly Account: "account";
|
|
8
|
+
};
|
|
9
|
+
export type LabelTarget = (typeof LabelTarget)[keyof typeof LabelTarget];
|
|
10
|
+
export declare const DisplayContext: {
|
|
10
11
|
/** content in expanded view */
|
|
11
|
-
ContentView
|
|
12
|
+
readonly ContentView: "contentView";
|
|
12
13
|
/** images or video contained in content */
|
|
13
|
-
ContentMedia
|
|
14
|
+
readonly ContentMedia: "contentMedia";
|
|
14
15
|
/** content in a list/feed */
|
|
15
|
-
ContentList
|
|
16
|
+
readonly ContentList: "contentList";
|
|
16
17
|
/** profile in expanded view */
|
|
17
|
-
ProfileView
|
|
18
|
+
readonly ProfileView: "profileView";
|
|
18
19
|
/** profile's avatar or banner */
|
|
19
|
-
ProfileMedia
|
|
20
|
+
readonly ProfileMedia: "profileMedia";
|
|
20
21
|
/** profile in a list */
|
|
21
|
-
ProfileList
|
|
22
|
-
}
|
|
23
|
-
export
|
|
22
|
+
readonly ProfileList: "profileList";
|
|
23
|
+
};
|
|
24
|
+
export type DisplayContext = (typeof DisplayContext)[keyof typeof DisplayContext];
|
|
25
|
+
export declare const ModerationAction: {
|
|
24
26
|
/** should cause blurring */
|
|
25
|
-
Blur
|
|
27
|
+
readonly Blur: "blur";
|
|
26
28
|
/** should cause an alert */
|
|
27
|
-
Alert
|
|
29
|
+
readonly Alert: "alert";
|
|
28
30
|
/** should cause a notice */
|
|
29
|
-
Inform
|
|
30
|
-
}
|
|
31
|
+
readonly Inform: "inform";
|
|
32
|
+
};
|
|
33
|
+
export type ModerationAction = (typeof ModerationAction)[keyof typeof ModerationAction];
|
|
31
34
|
export type BehaviorMapping = {
|
|
32
35
|
[C in DisplayContext]?: ModerationAction;
|
|
33
36
|
};
|
package/dist/behaviors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behaviors.d.ts","sourceRoot":"","sources":["../lib/behaviors.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"behaviors.d.ts","sourceRoot":"","sources":["../lib/behaviors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;IACvB,8CAA8C;;IAE9C,8CAA8C;;IAE9C,0DAA0D;;CAEjD,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEzE,eAAO,MAAM,cAAc;IAC1B,+BAA+B;;IAE/B,2CAA2C;;IAE3C,6BAA6B;;IAG7B,+BAA+B;;IAE/B,iCAAiC;;IAEjC,wBAAwB;;CAEf,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAElF,eAAO,MAAM,gBAAgB;IAC5B,4BAA4B;;IAE5B,4BAA4B;;IAE5B,4BAA4B;;CAEnB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAExF,MAAM,MAAM,eAAe,GAAG;KAAG,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,gBAAgB;CAAE,CAAC;AAC3E,MAAM,MAAM,mBAAmB,GAAG;KAAG,CAAC,IAAI,WAAW,GAAG,eAAe;CAAE,CAAC;AAE1E,eAAO,MAAM,cAAc,EAAE,eAO5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAM3B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,eAGnC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAG3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAoB,CAAC"}
|
package/dist/behaviors.js
CHANGED
|
@@ -1,36 +1,33 @@
|
|
|
1
|
-
export
|
|
2
|
-
(function (LabelTarget) {
|
|
1
|
+
export const LabelTarget = {
|
|
3
2
|
/** label is intended for account's content */
|
|
4
|
-
|
|
3
|
+
Content: 'content',
|
|
5
4
|
/** label is intended for account's profile */
|
|
6
|
-
|
|
5
|
+
Profile: 'profile',
|
|
7
6
|
/** label is intended for account's content and profile */
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
export
|
|
11
|
-
(function (DisplayContext) {
|
|
7
|
+
Account: 'account',
|
|
8
|
+
};
|
|
9
|
+
export const DisplayContext = {
|
|
12
10
|
/** content in expanded view */
|
|
13
|
-
|
|
11
|
+
ContentView: 'contentView',
|
|
14
12
|
/** images or video contained in content */
|
|
15
|
-
|
|
13
|
+
ContentMedia: 'contentMedia',
|
|
16
14
|
/** content in a list/feed */
|
|
17
|
-
|
|
15
|
+
ContentList: 'contentList',
|
|
18
16
|
/** profile in expanded view */
|
|
19
|
-
|
|
17
|
+
ProfileView: 'profileView',
|
|
20
18
|
/** profile's avatar or banner */
|
|
21
|
-
|
|
19
|
+
ProfileMedia: 'profileMedia',
|
|
22
20
|
/** profile in a list */
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
export
|
|
26
|
-
(function (ModerationAction) {
|
|
21
|
+
ProfileList: 'profileList',
|
|
22
|
+
};
|
|
23
|
+
export const ModerationAction = {
|
|
27
24
|
/** should cause blurring */
|
|
28
|
-
|
|
25
|
+
Blur: 'blur',
|
|
29
26
|
/** should cause an alert */
|
|
30
|
-
|
|
27
|
+
Alert: 'alert',
|
|
31
28
|
/** should cause a notice */
|
|
32
|
-
|
|
33
|
-
}
|
|
29
|
+
Inform: 'inform',
|
|
30
|
+
};
|
|
34
31
|
export const BLOCK_BEHAVIOR = {
|
|
35
32
|
[DisplayContext.ProfileList]: ModerationAction.Blur,
|
|
36
33
|
[DisplayContext.ProfileView]: ModerationAction.Alert,
|
package/dist/behaviors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behaviors.js","sourceRoot":"","sources":["../lib/behaviors.ts"],"names":[],"mappings":"AAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"behaviors.js","sourceRoot":"","sources":["../lib/behaviors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B,8CAA8C;IAC9C,OAAO,EAAE,SAAS;IAClB,8CAA8C;IAC9C,OAAO,EAAE,SAAS;IAClB,0DAA0D;IAC1D,OAAO,EAAE,SAAS;CACT,CAAC;AAGX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,+BAA+B;IAC/B,WAAW,EAAE,aAAa;IAC1B,2CAA2C;IAC3C,YAAY,EAAE,cAAc;IAC5B,6BAA6B;IAC7B,WAAW,EAAE,aAAa;IAE1B,+BAA+B;IAC/B,WAAW,EAAE,aAAa;IAC1B,iCAAiC;IACjC,YAAY,EAAE,cAAc;IAC5B,wBAAwB;IACxB,WAAW,EAAE,aAAa;CACjB,CAAC;AAGX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,4BAA4B;IAC5B,IAAI,EAAE,MAAM;IACZ,4BAA4B;IAC5B,KAAK,EAAE,OAAO;IACd,4BAA4B;IAC5B,MAAM,EAAE,QAAQ;CACP,CAAC;AAMX,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC9C,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,IAAI;IACnD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,KAAK;IACpD,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,IAAI;IAEpD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,IAAI;IACnD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,IAAI;CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC7C,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,MAAM;IACrD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,KAAK;IAEpD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,IAAI;IACnD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,MAAM;CACrD,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAoB;IACrD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,IAAI;IACnD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,IAAI;CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC7C,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,IAAI;IACnD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,IAAI;CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAoB,EAAE,CAAC"}
|
package/dist/decision.d.ts
CHANGED
|
@@ -1,43 +1,44 @@
|
|
|
1
1
|
import type { AppBskyGraphDefs } from '@atcute/bluesky';
|
|
2
2
|
import type { Did } from '@atcute/lexicons';
|
|
3
|
-
import { type BehaviorMapping, type LabelTarget } from './behaviors.
|
|
4
|
-
import type {
|
|
5
|
-
import type
|
|
6
|
-
import {
|
|
7
|
-
export declare
|
|
3
|
+
import { type BehaviorMapping, type LabelTarget } from './behaviors.ts';
|
|
4
|
+
import type { KeywordFilter } from './keyword-filter.ts';
|
|
5
|
+
import { LabelPreference, type InterpretedLabelDefinition } from './label.ts';
|
|
6
|
+
import type { Label, ModerationOptions } from './types.ts';
|
|
7
|
+
export declare const ModerationCauseType: {
|
|
8
8
|
/** caused by a label */
|
|
9
|
-
Label
|
|
9
|
+
readonly Label: 1;
|
|
10
10
|
/** caused by viewer blocking the subject */
|
|
11
|
-
Blocking
|
|
11
|
+
readonly Blocking: 2;
|
|
12
12
|
/** caused by subject blocking the viewer */
|
|
13
|
-
BlockedBy
|
|
13
|
+
readonly BlockedBy: 3;
|
|
14
14
|
/** caused by viewer having a (permanent) mute on subject */
|
|
15
|
-
MutedPermanent
|
|
15
|
+
readonly MutedPermanent: 4;
|
|
16
16
|
/** caused by a temporary mute */
|
|
17
|
-
MutedTemporary
|
|
17
|
+
readonly MutedTemporary: 5;
|
|
18
18
|
/** caused by a keyword mute */
|
|
19
|
-
MutedKeyword
|
|
19
|
+
readonly MutedKeyword: 6;
|
|
20
20
|
/** caused by a hidden post */
|
|
21
|
-
Hidden
|
|
22
|
-
}
|
|
21
|
+
readonly Hidden: 7;
|
|
22
|
+
};
|
|
23
|
+
export type ModerationCauseType = (typeof ModerationCauseType)[keyof typeof ModerationCauseType];
|
|
23
24
|
export interface BlockingModerationCause {
|
|
24
|
-
type: ModerationCauseType.Blocking;
|
|
25
|
+
type: typeof ModerationCauseType.Blocking;
|
|
25
26
|
priority: 3;
|
|
26
27
|
source: AppBskyGraphDefs.ListViewBasic | null;
|
|
27
28
|
downgraded: boolean;
|
|
28
29
|
}
|
|
29
30
|
export interface BlockedByModerationCause {
|
|
30
|
-
type: ModerationCauseType.BlockedBy;
|
|
31
|
+
type: typeof ModerationCauseType.BlockedBy;
|
|
31
32
|
priority: 4;
|
|
32
33
|
downgraded: boolean;
|
|
33
34
|
}
|
|
34
35
|
export interface HiddenModerationCause {
|
|
35
|
-
type: ModerationCauseType.Hidden;
|
|
36
|
+
type: typeof ModerationCauseType.Hidden;
|
|
36
37
|
priority: 6;
|
|
37
38
|
downgraded: boolean;
|
|
38
39
|
}
|
|
39
40
|
export interface LabelModerationCause {
|
|
40
|
-
type: ModerationCauseType.Label;
|
|
41
|
+
type: typeof ModerationCauseType.Label;
|
|
41
42
|
priority: 1 | 2 | 5 | 7 | 8;
|
|
42
43
|
source: Did | null;
|
|
43
44
|
label: Label;
|
|
@@ -49,18 +50,18 @@ export interface LabelModerationCause {
|
|
|
49
50
|
downgraded: boolean;
|
|
50
51
|
}
|
|
51
52
|
export interface MutedPermanentModerationCause {
|
|
52
|
-
type: ModerationCauseType.MutedPermanent;
|
|
53
|
+
type: typeof ModerationCauseType.MutedPermanent;
|
|
53
54
|
priority: 6;
|
|
54
55
|
source: AppBskyGraphDefs.ListViewBasic | null;
|
|
55
56
|
downgraded: boolean;
|
|
56
57
|
}
|
|
57
58
|
export interface MutedTemporaryModerationCause {
|
|
58
|
-
type: ModerationCauseType.MutedTemporary;
|
|
59
|
+
type: typeof ModerationCauseType.MutedTemporary;
|
|
59
60
|
priority: 6;
|
|
60
61
|
downgraded: boolean;
|
|
61
62
|
}
|
|
62
63
|
export interface MutedKeywordModerationCause {
|
|
63
|
-
type: ModerationCauseType.MutedKeyword;
|
|
64
|
+
type: typeof ModerationCauseType.MutedKeyword;
|
|
64
65
|
priority: 6;
|
|
65
66
|
source: KeywordFilter;
|
|
66
67
|
downgraded: boolean;
|
|
@@ -71,17 +72,17 @@ export interface ModerationDecision {
|
|
|
71
72
|
isMe: boolean;
|
|
72
73
|
causes: ModerationCause[];
|
|
73
74
|
}
|
|
74
|
-
export declare const createModerationDecision: (authorDid:
|
|
75
|
+
export declare const createModerationDecision: (authorDid: `did:${string}:${string}`, { viewerDid }: ModerationOptions) => ModerationDecision;
|
|
75
76
|
type FalsyValue = 0 | '' | false | null | undefined;
|
|
76
|
-
export declare const mergeModerationDecisions: (
|
|
77
|
+
export declare const mergeModerationDecisions: (sources_0: ModerationDecision, sources_1: ModerationDecision | FalsyValue, ...sources: (ModerationDecision | FalsyValue)[]) => ModerationDecision;
|
|
77
78
|
export declare const considerHidden: (decision: ModerationDecision) => void;
|
|
78
79
|
export declare const considerBlocking: (decision: ModerationDecision, source: AppBskyGraphDefs.ListViewBasic | null) => void;
|
|
79
80
|
export declare const considerBlockedBy: (decision: ModerationDecision) => void;
|
|
80
81
|
export declare const considerPermanentMute: (decision: ModerationDecision, source: AppBskyGraphDefs.ListViewBasic | null) => void;
|
|
81
82
|
export declare const considerTemporaryMute: (decision: ModerationDecision, { prefs }: ModerationOptions) => void;
|
|
82
83
|
export declare const considerKeywordMute: (decision: ModerationDecision, source: KeywordFilter) => void;
|
|
83
|
-
export declare const considerLabels: (decision: ModerationDecision, target: LabelTarget, labels: Label[] | undefined, opts: ModerationOptions) => void;
|
|
84
|
-
export declare const considerLabel: (decision: ModerationDecision, target: LabelTarget, label: Label, { viewerDid, prefs, labelDefs }: ModerationOptions) => void;
|
|
84
|
+
export declare const considerLabels: (decision: ModerationDecision, target: LabelTarget, labels: import("@atcute/atproto/types/label/defs").Label[] | undefined, opts: ModerationOptions) => void;
|
|
85
|
+
export declare const considerLabel: (decision: ModerationDecision, target: LabelTarget, label: import("@atcute/atproto/types/label/defs").Label, { viewerDid, prefs, labelDefs }: ModerationOptions) => void;
|
|
85
86
|
export declare const downgradeDecision: <T extends ModerationDecision | undefined>(decision: T) => T;
|
|
86
87
|
export {};
|
|
87
88
|
//# sourceMappingURL=decision.d.ts.map
|
package/dist/decision.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision.d.ts","sourceRoot":"","sources":["../lib/decision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAoC,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1G,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"decision.d.ts","sourceRoot":"","sources":["../lib/decision.ts"],"names":[],"mappings":"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"}
|