@atcute/bluesky-moderation 1.0.2 → 2.0.1
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/dist/decision.d.ts +6 -5
- package/dist/decision.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/keyword-filter.d.ts +1 -1
- package/dist/keyword-filter.d.ts +1 -1
- package/dist/label.d.ts +4 -2
- package/dist/label.js.map +1 -1
- package/dist/subjects/list.d.ts +1 -1
- package/dist/subjects/list.js +5 -9
- package/dist/subjects/list.js.map +1 -1
- package/dist/subjects/post.js +1 -1
- package/dist/subjects/post.js.map +1 -1
- package/dist/types.d.ts +8 -6
- package/lib/decision.ts +5 -4
- package/lib/index.ts +0 -2
- package/lib/internal/keyword-filter.ts +1 -1
- package/lib/keyword-filter.ts +1 -1
- package/lib/label.ts +5 -3
- package/lib/subjects/list.ts +8 -14
- package/lib/subjects/post.ts +11 -13
- package/lib/types.ts +8 -8
- package/package.json +10 -7
package/dist/decision.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { AppBskyGraphDefs
|
|
1
|
+
import type { AppBskyGraphDefs } from '@atcute/bluesky';
|
|
2
|
+
import type { Did } from '@atcute/lexicons';
|
|
2
3
|
import { type BehaviorMapping, type LabelTarget } from './behaviors.js';
|
|
3
4
|
import type { Label, ModerationOptions } from './types.js';
|
|
4
5
|
import type { KeywordFilter } from './keyword-filter.js';
|
|
@@ -38,7 +39,7 @@ export interface HiddenModerationCause {
|
|
|
38
39
|
export interface LabelModerationCause {
|
|
39
40
|
type: ModerationCauseType.Label;
|
|
40
41
|
priority: 1 | 2 | 5 | 7 | 8;
|
|
41
|
-
source:
|
|
42
|
+
source: Did | null;
|
|
42
43
|
label: Label;
|
|
43
44
|
labelDef: InterpretedLabelDefinition;
|
|
44
45
|
target: LabelTarget;
|
|
@@ -66,13 +67,13 @@ export interface MutedKeywordModerationCause {
|
|
|
66
67
|
}
|
|
67
68
|
export type ModerationCause = BlockedByModerationCause | BlockingModerationCause | HiddenModerationCause | LabelModerationCause | MutedKeywordModerationCause | MutedPermanentModerationCause | MutedTemporaryModerationCause;
|
|
68
69
|
export interface ModerationDecision {
|
|
69
|
-
authorDid:
|
|
70
|
+
authorDid: Did;
|
|
70
71
|
isMe: boolean;
|
|
71
72
|
causes: ModerationCause[];
|
|
72
73
|
}
|
|
73
|
-
export declare const createModerationDecision: (authorDid:
|
|
74
|
+
export declare const createModerationDecision: (authorDid: Did, { viewerDid }: ModerationOptions) => ModerationDecision;
|
|
74
75
|
type FalsyValue = 0 | '' | false | null | undefined;
|
|
75
|
-
export declare const mergeModerationDecisions: (
|
|
76
|
+
export declare const mergeModerationDecisions: (...sources: [ModerationDecision, ModerationDecision | FalsyValue, ...(ModerationDecision | FalsyValue)[]]) => ModerationDecision;
|
|
76
77
|
export declare const considerHidden: (decision: ModerationDecision) => void;
|
|
77
78
|
export declare const considerBlocking: (decision: ModerationDecision, source: AppBskyGraphDefs.ListViewBasic | null) => void;
|
|
78
79
|
export declare const considerBlockedBy: (decision: ModerationDecision) => void;
|
package/dist/decision.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision.js","sourceRoot":"","sources":["../lib/decision.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"decision.js","sourceRoot":"","sources":["../lib/decision.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import '@atcute/bluesky/lexicons';
|
|
2
1
|
export { DisplayContext, LabelTarget, ModerationAction, type BehaviorMapping, type LabelBehaviorMatrix, } from './behaviors.js';
|
|
3
2
|
export { ModerationCauseType, type BlockedByModerationCause, type BlockingModerationCause, type HiddenModerationCause, type LabelModerationCause, type ModerationCause, type ModerationDecision, type MutedKeywordModerationCause, type MutedPermanentModerationCause, type MutedTemporaryModerationCause, } from './decision.js';
|
|
4
3
|
export { createKeywordPattern, interpretMutedWordPreference, interpretMutedWordPreferences, KeywordFilterFlags, type KeywordFilter, type KeywordMatch, } from './keyword-filter.js';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import '@atcute/bluesky/lexicons';
|
|
2
1
|
export { DisplayContext, LabelTarget, ModerationAction, } from './behaviors.js';
|
|
3
2
|
export { ModerationCauseType, } from './decision.js';
|
|
4
3
|
export { createKeywordPattern, interpretMutedWordPreference, interpretMutedWordPreferences, KeywordFilterFlags, } from './keyword-filter.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,WAAW,EACX,gBAAgB,GAGhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,mBAAmB,GAUnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACN,oBAAoB,EACpB,4BAA4B,EAC5B,6BAA6B,EAC7B,kBAAkB,GAGlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,SAAS,EACT,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,EAC7B,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,aAAa,GAIb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAUN,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,sBAAsB,EAA4B,MAAM,SAAS,CAAC;AAE3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AppBskyActorDefs } from '@atcute/
|
|
1
|
+
import type { AppBskyActorDefs } from '@atcute/bluesky';
|
|
2
2
|
import { type KeywordFilter } from '../keyword-filter.js';
|
|
3
3
|
export declare const matchesKeywordFilters: ({ filters, text, tags, actor, }: {
|
|
4
4
|
filters: KeywordFilter[];
|
package/dist/keyword-filter.d.ts
CHANGED
package/dist/label.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ComAtprotoLabelDefs } from '@atcute/atproto';
|
|
2
|
+
import type { AppBskyLabelerDefs } from '@atcute/bluesky';
|
|
3
|
+
import type { Did } from '@atcute/lexicons';
|
|
2
4
|
import { type LabelBehaviorMatrix } from './behaviors.js';
|
|
3
5
|
export declare const enum LabelPreference {
|
|
4
6
|
/** ignore this label */
|
|
@@ -70,4 +72,4 @@ export declare const BUILTIN_LABELS: InterpretedLabelMapping;
|
|
|
70
72
|
export declare const isCustomLabelValue: (value: string) => boolean;
|
|
71
73
|
export declare const interpretLabelValueDefinition: (def: ComAtprotoLabelDefs.LabelValueDefinition) => InterpretedLabelDefinition;
|
|
72
74
|
export declare const interpretLabelerDefinition: (labeler: AppBskyLabelerDefs.LabelerViewDetailed) => InterpretedLabelMapping;
|
|
73
|
-
export declare const interpretLabelerDefinitions: (labelers: AppBskyLabelerDefs.LabelerViewDetailed[]) => Record<
|
|
75
|
+
export declare const interpretLabelerDefinitions: (labelers: AppBskyLabelerDefs.LabelerViewDetailed[]) => Record<Did, InterpretedLabelMapping>;
|
package/dist/label.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.js","sourceRoot":"","sources":["../lib/label.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../lib/label.ts"],"names":[],"mappings":"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"}
|
package/dist/subjects/list.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type ModerationDecision } from '../decision.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ListSubject, ModerationOptions } from '../types.js';
|
|
3
3
|
export declare const moderateList: (subject: ListSubject, opts: ModerationOptions) => ModerationDecision;
|
package/dist/subjects/list.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { parseCanonicalResourceUri } from '@atcute/lexicons';
|
|
1
2
|
import { LabelTarget } from '../behaviors.js';
|
|
2
3
|
import { considerLabels, createModerationDecision, mergeModerationDecisions, } from '../decision.js';
|
|
3
4
|
import { moderateProfile } from './profile.js';
|
|
4
|
-
const ATURI_RE = /^at:\/\/([a-zA-Z0-9._:%-]+)\//;
|
|
5
5
|
export const moderateList = (subject, opts) => {
|
|
6
6
|
if ('creator' in subject) {
|
|
7
7
|
const creator = subject.creator;
|
|
@@ -10,15 +10,11 @@ export const moderateList = (subject, opts) => {
|
|
|
10
10
|
return mergeModerationDecisions(decision, moderateProfile(creator, opts));
|
|
11
11
|
}
|
|
12
12
|
else {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const match = ATURI_RE.exec(subject.uri);
|
|
17
|
-
if (!match) {
|
|
18
|
-
throw new Error(`can't parse at-uri from user list`);
|
|
19
|
-
}
|
|
20
|
-
creatorDid = match[1];
|
|
13
|
+
const uri = parseCanonicalResourceUri(subject.uri);
|
|
14
|
+
if (!uri.ok) {
|
|
15
|
+
throw new Error(`can't parse at-uri from user list (${uri.error})`);
|
|
21
16
|
}
|
|
17
|
+
const creatorDid = uri.value.repo;
|
|
22
18
|
const decision = createModerationDecision(creatorDid, opts);
|
|
23
19
|
considerLabels(decision, LabelTarget.Content, subject.labels, opts);
|
|
24
20
|
return decision;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../lib/subjects/list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../lib/subjects/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACN,cAAc,EACd,wBAAwB,EACxB,wBAAwB,GAExB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAoB,EAAE,IAAuB,EAAsB,EAAE;IACjG,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAEhC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7D,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEpE,OAAO,wBAAwB,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACP,MAAM,GAAG,GAAG,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAElC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5D,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEpE,OAAO,QAAQ,CAAC;IACjB,CAAC;AACF,CAAC,CAAC"}
|
package/dist/subjects/post.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { unwrapEmbed, unwrapRecordEmbed } from '@atcute/bluesky';
|
|
1
|
+
import { AppBskyActorDefs, AppBskyFeedDefs, AppBskyFeedPost, AppBskyGraphStarterpack, unwrapEmbed, unwrapRecordEmbed, } from '@atcute/bluesky';
|
|
2
2
|
import { LabelTarget } from '../behaviors.js';
|
|
3
3
|
import { considerBlockedBy, considerBlocking, considerHidden, considerKeywordMute, considerLabels, createModerationDecision, downgradeDecision, mergeModerationDecisions, } from '../decision.js';
|
|
4
4
|
import { matchesKeywordFilters } from '../internal/keyword-filter.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../lib/subjects/post.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../lib/subjects/post.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ComAtprotoLabelDefs } from '@atcute/atproto';
|
|
2
|
+
import type { AppBskyActorDefs, AppBskyFeedDefs, AppBskyGraphDefs, AppBskyNotificationListNotifications, ChatBskyActorDefs } from '@atcute/bluesky';
|
|
3
|
+
import type { CanonicalResourceUri, Did } from '@atcute/lexicons';
|
|
2
4
|
import type { KeywordFilter } from './keyword-filter.js';
|
|
3
5
|
import type { InterpretedLabelMapping, LabelPreference } from './label.js';
|
|
4
6
|
export type Label = ComAtprotoLabelDefs.Label;
|
|
@@ -13,23 +15,23 @@ export interface ModerationPreferences {
|
|
|
13
15
|
globalLabelPrefs?: Record<string, LabelPreference | undefined>;
|
|
14
16
|
/** preferences for labelers */
|
|
15
17
|
prefsByLabelers?: {
|
|
16
|
-
[D in
|
|
18
|
+
[D in Did]?: LabelerPreference;
|
|
17
19
|
};
|
|
18
20
|
/** list of hidden posts */
|
|
19
|
-
hiddenPosts?:
|
|
21
|
+
hiddenPosts?: CanonicalResourceUri[];
|
|
20
22
|
/** list of temporarily muted users */
|
|
21
|
-
temporaryMutes?:
|
|
23
|
+
temporaryMutes?: Did[];
|
|
22
24
|
/** list of keyword filters */
|
|
23
25
|
keywordFilters?: KeywordFilter[];
|
|
24
26
|
}
|
|
25
27
|
export interface ModerationOptions {
|
|
26
28
|
/** DID of the viewer */
|
|
27
|
-
viewerDid:
|
|
29
|
+
viewerDid: Did | undefined;
|
|
28
30
|
/** moderation preferences */
|
|
29
31
|
prefs: ModerationPreferences;
|
|
30
32
|
/** interpreted label definitions from labelers */
|
|
31
33
|
labelDefs?: {
|
|
32
|
-
[D in
|
|
34
|
+
[D in Did]?: InterpretedLabelMapping;
|
|
33
35
|
};
|
|
34
36
|
}
|
|
35
37
|
export type FeedGeneratorSubject = AppBskyFeedDefs.GeneratorView;
|
package/lib/decision.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { AppBskyGraphDefs
|
|
1
|
+
import type { AppBskyGraphDefs } from '@atcute/bluesky';
|
|
2
|
+
import type { Did } from '@atcute/lexicons';
|
|
2
3
|
|
|
3
4
|
import { DisplayContext, ModerationAction, type BehaviorMapping, type LabelTarget } from './behaviors.js';
|
|
4
5
|
import type { Label, LabelerPreference, ModerationOptions } from './types.js';
|
|
@@ -60,7 +61,7 @@ export interface HiddenModerationCause {
|
|
|
60
61
|
export interface LabelModerationCause {
|
|
61
62
|
type: ModerationCauseType.Label;
|
|
62
63
|
priority: 1 | 2 | 5 | 7 | 8;
|
|
63
|
-
source:
|
|
64
|
+
source: Did | null;
|
|
64
65
|
|
|
65
66
|
label: Label;
|
|
66
67
|
labelDef: InterpretedLabelDefinition;
|
|
@@ -106,13 +107,13 @@ export type ModerationCause =
|
|
|
106
107
|
| MutedTemporaryModerationCause;
|
|
107
108
|
|
|
108
109
|
export interface ModerationDecision {
|
|
109
|
-
authorDid:
|
|
110
|
+
authorDid: Did;
|
|
110
111
|
isMe: boolean;
|
|
111
112
|
causes: ModerationCause[];
|
|
112
113
|
}
|
|
113
114
|
|
|
114
115
|
export const createModerationDecision = (
|
|
115
|
-
authorDid:
|
|
116
|
+
authorDid: Did,
|
|
116
117
|
{ viewerDid }: ModerationOptions,
|
|
117
118
|
): ModerationDecision => {
|
|
118
119
|
return {
|
package/lib/index.ts
CHANGED
package/lib/keyword-filter.ts
CHANGED
package/lib/label.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ComAtprotoLabelDefs } from '@atcute/atproto';
|
|
2
|
+
import type { AppBskyLabelerDefs } from '@atcute/bluesky';
|
|
3
|
+
import type { Did } from '@atcute/lexicons';
|
|
2
4
|
|
|
3
5
|
import { DisplayContext, LabelTarget, ModerationAction, type LabelBehaviorMatrix } from './behaviors.js';
|
|
4
6
|
|
|
@@ -342,8 +344,8 @@ export const interpretLabelerDefinition = (
|
|
|
342
344
|
|
|
343
345
|
export const interpretLabelerDefinitions = (
|
|
344
346
|
labelers: AppBskyLabelerDefs.LabelerViewDetailed[],
|
|
345
|
-
): Record<
|
|
346
|
-
const labelDefs: Record<
|
|
347
|
+
): Record<Did, InterpretedLabelMapping> => {
|
|
348
|
+
const labelDefs: Record<Did, InterpretedLabelMapping> = {};
|
|
347
349
|
|
|
348
350
|
for (const labeler of labelers) {
|
|
349
351
|
labelDefs[labeler.creator.did] = interpretLabelerDefinition(labeler);
|
package/lib/subjects/list.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { parseCanonicalResourceUri } from '@atcute/lexicons';
|
|
2
|
+
|
|
2
3
|
import { LabelTarget } from '../behaviors.js';
|
|
3
4
|
import {
|
|
4
5
|
considerLabels,
|
|
@@ -6,12 +7,10 @@ import {
|
|
|
6
7
|
mergeModerationDecisions,
|
|
7
8
|
type ModerationDecision,
|
|
8
9
|
} from '../decision.js';
|
|
9
|
-
import type {
|
|
10
|
+
import type { ListSubject, ModerationOptions } from '../types.js';
|
|
10
11
|
|
|
11
12
|
import { moderateProfile } from './profile.js';
|
|
12
13
|
|
|
13
|
-
const ATURI_RE = /^at:\/\/([a-zA-Z0-9._:%-]+)\//;
|
|
14
|
-
|
|
15
14
|
export const moderateList = (subject: ListSubject, opts: ModerationOptions): ModerationDecision => {
|
|
16
15
|
if ('creator' in subject) {
|
|
17
16
|
const creator = subject.creator;
|
|
@@ -21,18 +20,13 @@ export const moderateList = (subject: ListSubject, opts: ModerationOptions): Mod
|
|
|
21
20
|
|
|
22
21
|
return mergeModerationDecisions(decision, moderateProfile(creator, opts));
|
|
23
22
|
} else {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
{
|
|
28
|
-
const match = ATURI_RE.exec(subject.uri);
|
|
29
|
-
if (!match) {
|
|
30
|
-
throw new Error(`can't parse at-uri from user list`);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
creatorDid = match[1] as At.Did;
|
|
23
|
+
const uri = parseCanonicalResourceUri(subject.uri);
|
|
24
|
+
if (!uri.ok) {
|
|
25
|
+
throw new Error(`can't parse at-uri from user list (${uri.error})`);
|
|
34
26
|
}
|
|
35
27
|
|
|
28
|
+
const creatorDid = uri.value.repo;
|
|
29
|
+
|
|
36
30
|
const decision = createModerationDecision(creatorDid, opts);
|
|
37
31
|
considerLabels(decision, LabelTarget.Content, subject.labels, opts);
|
|
38
32
|
|
package/lib/subjects/post.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
1
|
+
import {
|
|
3
2
|
AppBskyActorDefs,
|
|
4
3
|
AppBskyFeedDefs,
|
|
5
4
|
AppBskyFeedPost,
|
|
6
5
|
AppBskyGraphStarterpack,
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
unwrapEmbed,
|
|
7
|
+
unwrapRecordEmbed,
|
|
8
|
+
} from '@atcute/bluesky';
|
|
9
|
+
import type { CanonicalResourceUri } from '@atcute/lexicons';
|
|
9
10
|
|
|
10
11
|
import { LabelTarget } from '../behaviors.js';
|
|
11
12
|
import {
|
|
@@ -90,15 +91,12 @@ const decideEmbed = (
|
|
|
90
91
|
}
|
|
91
92
|
};
|
|
92
93
|
|
|
93
|
-
const checkHiddenPost = (
|
|
94
|
-
subject: PostSubject,
|
|
95
|
-
hiddenPosts: At.CanonicalResourceUri[] | undefined,
|
|
96
|
-
): boolean => {
|
|
94
|
+
const checkHiddenPost = (subject: PostSubject, hiddenPosts: CanonicalResourceUri[] | undefined): boolean => {
|
|
97
95
|
if (!hiddenPosts?.length) {
|
|
98
96
|
return false;
|
|
99
97
|
}
|
|
100
98
|
|
|
101
|
-
if (hiddenPosts.includes(subject.uri as
|
|
99
|
+
if (hiddenPosts.includes(subject.uri as CanonicalResourceUri)) {
|
|
102
100
|
return true;
|
|
103
101
|
}
|
|
104
102
|
|
|
@@ -109,7 +107,7 @@ const checkHiddenPost = (
|
|
|
109
107
|
case 'app.bsky.embed.record#viewDetached':
|
|
110
108
|
case 'app.bsky.embed.record#viewNotFound':
|
|
111
109
|
case 'app.bsky.embed.record#viewRecord': {
|
|
112
|
-
return hiddenPosts.includes(subject.uri as
|
|
110
|
+
return hiddenPosts.includes(subject.uri as CanonicalResourceUri);
|
|
113
111
|
}
|
|
114
112
|
}
|
|
115
113
|
}
|
|
@@ -130,7 +128,7 @@ const checkKeywordFilters = (
|
|
|
130
128
|
const author = subject.author;
|
|
131
129
|
|
|
132
130
|
{
|
|
133
|
-
const record = subject.record as AppBskyFeedPost.
|
|
131
|
+
const record = subject.record as AppBskyFeedPost.Main;
|
|
134
132
|
|
|
135
133
|
const tags: string[] = [
|
|
136
134
|
...(record.tags ?? []),
|
|
@@ -235,7 +233,7 @@ const checkEmbedKeywordFilters = (
|
|
|
235
233
|
case 'app.bsky.embed.record#viewRecord': {
|
|
236
234
|
{
|
|
237
235
|
const author = link.author;
|
|
238
|
-
const record = link.value as AppBskyFeedPost.
|
|
236
|
+
const record = link.value as AppBskyFeedPost.Main;
|
|
239
237
|
|
|
240
238
|
const tags: string[] = [
|
|
241
239
|
...(record.tags ?? []),
|
|
@@ -295,7 +293,7 @@ const checkEmbedKeywordFilters = (
|
|
|
295
293
|
break;
|
|
296
294
|
}
|
|
297
295
|
case 'app.bsky.graph.defs#starterPackViewBasic': {
|
|
298
|
-
const record = link.record as AppBskyGraphStarterpack.
|
|
296
|
+
const record = link.record as AppBskyGraphStarterpack.Main;
|
|
299
297
|
|
|
300
298
|
if (
|
|
301
299
|
(match = matchesKeywordFilters({
|
package/lib/types.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import type { ComAtprotoLabelDefs } from '@atcute/atproto';
|
|
1
2
|
import type {
|
|
2
3
|
AppBskyActorDefs,
|
|
3
4
|
AppBskyFeedDefs,
|
|
4
5
|
AppBskyGraphDefs,
|
|
5
6
|
AppBskyNotificationListNotifications,
|
|
6
|
-
At,
|
|
7
7
|
ChatBskyActorDefs,
|
|
8
|
-
|
|
9
|
-
} from '@atcute/
|
|
8
|
+
} from '@atcute/bluesky';
|
|
9
|
+
import type { CanonicalResourceUri, Did } from '@atcute/lexicons';
|
|
10
10
|
|
|
11
11
|
import type { KeywordFilter } from './keyword-filter.js';
|
|
12
12
|
import type { InterpretedLabelMapping, LabelPreference } from './label.js';
|
|
@@ -25,12 +25,12 @@ export interface ModerationPreferences {
|
|
|
25
25
|
/** preferences for global-defined labels */
|
|
26
26
|
globalLabelPrefs?: Record<string, LabelPreference | undefined>;
|
|
27
27
|
/** preferences for labelers */
|
|
28
|
-
prefsByLabelers?: { [D in
|
|
28
|
+
prefsByLabelers?: { [D in Did]?: LabelerPreference };
|
|
29
29
|
|
|
30
30
|
/** list of hidden posts */
|
|
31
|
-
hiddenPosts?:
|
|
31
|
+
hiddenPosts?: CanonicalResourceUri[];
|
|
32
32
|
/** list of temporarily muted users */
|
|
33
|
-
temporaryMutes?:
|
|
33
|
+
temporaryMutes?: Did[];
|
|
34
34
|
|
|
35
35
|
/** list of keyword filters */
|
|
36
36
|
keywordFilters?: KeywordFilter[];
|
|
@@ -38,12 +38,12 @@ export interface ModerationPreferences {
|
|
|
38
38
|
|
|
39
39
|
export interface ModerationOptions {
|
|
40
40
|
/** DID of the viewer */
|
|
41
|
-
viewerDid:
|
|
41
|
+
viewerDid: Did | undefined;
|
|
42
42
|
/** moderation preferences */
|
|
43
43
|
prefs: ModerationPreferences;
|
|
44
44
|
|
|
45
45
|
/** interpreted label definitions from labelers */
|
|
46
|
-
labelDefs?: { [D in
|
|
46
|
+
labelDefs?: { [D in Did]?: InterpretedLabelMapping };
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
export type FeedGeneratorSubject = AppBskyFeedDefs.GeneratorView;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@atcute/bluesky-moderation",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "2.0.1",
|
|
5
5
|
"description": "interprets Bluesky's content moderation labels",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -19,14 +19,17 @@
|
|
|
19
19
|
},
|
|
20
20
|
"sideEffects": false,
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"@atcute/
|
|
23
|
-
"@atcute/
|
|
22
|
+
"@atcute/atproto": "^3.0.0",
|
|
23
|
+
"@atcute/bluesky": "^3.0.0"
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@atcute/lexicons": "^1.0.1"
|
|
24
27
|
},
|
|
25
28
|
"devDependencies": {
|
|
26
|
-
"@types/bun": "^1.2.
|
|
27
|
-
"vitest": "^3.
|
|
28
|
-
"@atcute/bluesky": "^
|
|
29
|
-
"@atcute/
|
|
29
|
+
"@types/bun": "^1.2.13",
|
|
30
|
+
"vitest": "^3.1.3",
|
|
31
|
+
"@atcute/bluesky": "^3.0.1",
|
|
32
|
+
"@atcute/atproto": "^3.0.1"
|
|
30
33
|
},
|
|
31
34
|
"scripts": {
|
|
32
35
|
"build": "tsc --project tsconfig.build.json",
|