@atproto/api 0.15.14 → 0.15.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.
@@ -1 +1 @@
1
- {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../src/moderation/subjects/post.ts"],"names":[],"mappings":";;AAeA,gCAUC;AAzBD,yCAOqB;AAErB,0CAAgD;AAChD,4CAA2C;AAE3C,uCAAyC;AACzC,uCAAyC;AAEzC,SAAgB,UAAU,CACxB,OAA8B,EAC9B,IAAoB;IAEpB,OAAO,6BAAkB,CAAC,KAAK,CAC7B,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAC5B,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,EAC7C,IAAA,uBAAa,EAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EACnC,IAAA,uBAAa,EAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CACpC,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CACpB,OAA8B,EAC9B,IAAoB;IAEpB,MAAM,GAAG,GAAG,IAAI,6BAAkB,EAAE,CAAA;IAEpC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC9B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IACD,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;IAC/D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACd,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;IACnE,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,WAAW,CAClB,KAIqB,EACrB,IAAoB;IAEpB,IAAI,KAAK,EAAE,CAAC;QACV,IACE,CAAC,2BAAkB,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/B,oCAA2B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,2BAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAC7C,CAAC;YACD,aAAa;YACb,OAAO,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC7C,CAAC;aAAM,IACL,oCAA2B,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,2BAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EACpD,CAAC;YACD,yBAAyB;YACzB,OAAO,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACpD,CAAC;aAAM,IACL,CAAC,2BAAkB,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/B,oCAA2B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,2BAAkB,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAC9C,CAAC;YACD,qBAAqB;YACrB,OAAO,uBAAuB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACpD,CAAC;aAAM,IACL,oCAA2B,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,2BAAkB,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EACrD,CAAC;YACD,iCAAiC;YACjC,OAAO,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAsC,EACtC,IAAoB;IAEpB,MAAM,GAAG,GAAG,IAAI,6BAAkB,EAAE,CAAA;IACpC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC9B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IACD,OAAO,6BAAkB,CAAC,KAAK,CAC7B,GAAG,EACH,IAAA,uBAAa,EAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EACnC,IAAA,uBAAa,EAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CACpC,CAAA;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAuC,EACvC,IAAoB;IAEpB,MAAM,GAAG,GAAG,IAAI,6BAAkB,EAAE,CAAA;IACpC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC9B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;YACvC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QACxD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;YAC1C,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QAC9D,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;IACD,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAClD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,eAAe,CACtB,OAA8B,EAC9B,WAAiC;IAEjC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QACzB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IACE,2BAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YACxC,2BAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;YACrD,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAC9C,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IACE,oCAA2B,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YACjD,2BAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5D,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EACrD,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,eAAe,CACtB,OAA8B,EAC9B,UAAoD;IAEpD,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QACxB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAA;IAEjC,IAAI,wBAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAgC,CAAA;QACrD,YAAY;QACZ,IACE,IAAA,wBAAY,EAAC;YACX,UAAU;YACV,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,KAAK,EAAE,UAAU;SAClB,CAAC,EACF,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,2BAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,cAAc;YACd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACtC,IACE,IAAA,wBAAY,EAAC;oBACX,UAAU;oBACV,IAAI,EAAE,KAAK,CAAC,GAAG;oBACf,SAAS,EAAE,IAAI,CAAC,KAAK;oBACrB,KAAK,EAAE,UAAU;iBAClB,CAAC,EACF,CAAC;oBACD,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;IACzB,IAAI,KAAK,EAAE,CAAC;QACV,aAAa;QACb,IACE,CAAC,2BAAkB,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/B,oCAA2B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,2BAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAC7C,CAAC;YACD,IAAI,wBAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAA+B,CAAA;gBACjE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAA;gBAEvC,mBAAmB;gBACnB,IACE,IAAA,wBAAY,EAAC;oBACX,UAAU;oBACV,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,MAAM,EAAE,YAAY,CAAC,MAAM;oBAC3B,WAAW,EAAE,YAAY,CAAC,IAAI;oBAC9B,SAAS,EAAE,YAAY,CAAC,KAAK;oBAC7B,KAAK,EAAE,WAAW;iBACnB,CAAC,EACF,CAAC;oBACD,OAAO,IAAI,CAAA;gBACb,CAAC;gBAED,uBAAuB;gBACvB,IAAI,2BAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;wBAC9C,IACE,IAAA,wBAAY,EAAC;4BACX,UAAU;4BACV,IAAI,EAAE,KAAK,CAAC,GAAG;4BACf,SAAS,EAAE,YAAY,CAAC,KAAK;4BAC7B,KAAK,EAAE,WAAW;yBACnB,CAAC,EACF,CAAC;4BACD,OAAO,IAAI,CAAA;wBACb,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,0BAA0B;gBAC1B,IAAI,6BAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpD,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,KAAK,CAAA;oBACvC,IACE,IAAA,wBAAY,EAAC;wBACX,UAAU;wBACV,IAAI,EAAE,QAAQ,CAAC,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,WAAW;wBACjD,SAAS,EAAE,EAAE;wBACb,KAAK,EAAE,WAAW;qBACnB,CAAC,EACF,CAAC;wBACD,OAAO,IAAI,CAAA;oBACb,CAAC;gBACH,CAAC;gBAED,IAAI,oCAA2B,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3D,sDAAsD;oBACtD,IAAI,6BAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1D,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAA;wBAC7C,IACE,IAAA,wBAAY,EAAC;4BACX,UAAU;4BACV,IAAI,EAAE,QAAQ,CAAC,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,WAAW;4BACjD,SAAS,EAAE,EAAE;4BACb,KAAK,EAAE,WAAW;yBACnB,CAAC,EACF,CAAC;4BACD,OAAO,IAAI,CAAA;wBACb,CAAC;oBACH,CAAC;oBAED,mDAAmD;oBACnD,IAAI,2BAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBACxD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;4BACpD,IACE,IAAA,wBAAY,EAAC;gCACX,UAAU;gCACV,IAAI,EAAE,KAAK,CAAC,GAAG;gCACf,SAAS,EAAE,wBAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC;oCACtD,CAAC,CAAC,YAAY,CAAC,KAAK;oCACpB,CAAC,CAAC,EAAE;gCACN,KAAK,EAAE,WAAW;6BACnB,CAAC,EACF,CAAC;gCACD,OAAO,IAAI,CAAA;4BACb,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,YAAY;aACP,IAAI,6BAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;YAC1B,IACE,IAAA,wBAAY,EAAC;gBACX,UAAU;gBACV,IAAI,EAAE,QAAQ,CAAC,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,WAAW;gBACjD,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,UAAU;aAClB,CAAC,EACF,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QACD,wBAAwB;aACnB,IACH,oCAA2B,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,2BAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EACpD,CAAC;YACD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAA;YAE9C,mBAAmB;YACnB,IAAI,wBAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAA+B,CAAA;gBAChE,IACE,IAAA,wBAAY,EAAC;oBACX,UAAU;oBACV,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,WAAW,EAAE,IAAI,CAAC,IAAI;oBACtB,SAAS,EAAE,IAAI,CAAC,KAAK;oBACrB,KAAK,EAAE,WAAW;iBACnB,CAAC,EACF,CAAC;oBACD,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;YAED,qBAAqB;YACrB,IAAI,2BAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBACvC,IACE,IAAA,wBAAY,EAAC;wBACX,UAAU;wBACV,IAAI,EAAE,KAAK,CAAC,GAAG;wBACf,SAAS,EAAE,wBAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;4BACjD,CAAC,CAAE,OAAO,CAAC,MAAiC,CAAC,KAAK;4BAClD,CAAC,CAAC,EAAE;wBACN,KAAK,EAAE,WAAW;qBACnB,CAAC,EACF,CAAC;wBACD,OAAO,IAAI,CAAA;oBACb,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,6BAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,KAAK,CAAA;gBAChC,IACE,IAAA,wBAAY,EAAC;oBACX,UAAU;oBACV,IAAI,EAAE,QAAQ,CAAC,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,WAAW;oBACjD,SAAS,EAAE,EAAE;oBACb,KAAK,EAAE,WAAW;iBACnB,CAAC,EACF,CAAC;oBACD,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../src/moderation/subjects/post.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { AppBskyActorDefs, AppBskyFeedDefs, AppBskyGraphDefs, AppBskyNotificationListNotifications, ChatBskyActorDefs, ComAtprotoLabelDefs } from '../client/index';
2
2
  import { KnownLabelValue } from './const/labels';
3
+ import { MuteWordMatch } from './mutewords';
3
4
  export declare const CUSTOM_LABEL_VALUE_RE: RegExp;
4
5
  export interface ModerationBehavior {
5
6
  profileList?: 'blur' | 'alert' | 'inform';
@@ -83,6 +84,7 @@ export type ModerationCause = {
83
84
  source: ModerationCauseSource;
84
85
  priority: 6;
85
86
  downgraded?: boolean;
87
+ matches: MuteWordMatch[];
86
88
  } | {
87
89
  type: 'hidden';
88
90
  source: ModerationCauseSource;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/moderation/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/moderation/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/moderation/types.ts"],"names":[],"mappings":";;;AAUA,SAAS;AACT,IAAI;AAES,QAAA,qBAAqB,GAAG,WAAW,CAAA;AAenC,QAAA,cAAc,GAAuB;IAChD,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,OAAO;IACpB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;CACpB,CAAA;AACY,QAAA,aAAa,GAAuB;IAC/C,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,OAAO;IACpB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,QAAQ;CACtB,CAAA;AACY,QAAA,iBAAiB,GAAuB;IACnD,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;CACpB,CAAA;AACY,QAAA,aAAa,GAAuB;IAC/C,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;CACpB,CAAA;AACY,QAAA,aAAa,GAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/moderation/types.ts"],"names":[],"mappings":";;;AAWA,SAAS;AACT,IAAI;AAES,QAAA,qBAAqB,GAAG,WAAW,CAAA;AAenC,QAAA,cAAc,GAAuB;IAChD,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,OAAO;IACpB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;CACpB,CAAA;AACY,QAAA,aAAa,GAAuB;IAC/C,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,OAAO;IACpB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,QAAQ;CACtB,CAAA;AACY,QAAA,iBAAiB,GAAuB;IACnD,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;CACpB,CAAA;AACY,QAAA,aAAa,GAAuB;IAC/C,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;CACpB,CAAA;AACY,QAAA,aAAa,GAAuB,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/api",
3
- "version": "0.15.14",
3
+ "version": "0.15.16",
4
4
  "license": "MIT",
5
5
  "description": "Client library for atproto and Bluesky",
6
6
  "keywords": [
@@ -9734,9 +9734,9 @@ export const schemaDict = {
9734
9734
  },
9735
9735
  chatPreference: {
9736
9736
  type: 'object',
9737
- required: ['filter', 'push'],
9737
+ required: ['include', 'push'],
9738
9738
  properties: {
9739
- filter: {
9739
+ include: {
9740
9740
  type: 'string',
9741
9741
  knownValues: ['all', 'accepted'],
9742
9742
  },
@@ -9747,9 +9747,9 @@ export const schemaDict = {
9747
9747
  },
9748
9748
  filterablePreference: {
9749
9749
  type: 'object',
9750
- required: ['filter', 'list', 'push'],
9750
+ required: ['include', 'list', 'push'],
9751
9751
  properties: {
9752
- filter: {
9752
+ include: {
9753
9753
  type: 'string',
9754
9754
  knownValues: ['all', 'follows'],
9755
9755
  },
@@ -30,7 +30,7 @@ export function validateRecordDeleted<V>(v: V) {
30
30
 
31
31
  export interface ChatPreference {
32
32
  $type?: 'app.bsky.notification.defs#chatPreference'
33
- filter: 'all' | 'accepted' | (string & {})
33
+ include: 'all' | 'accepted' | (string & {})
34
34
  push: boolean
35
35
  }
36
36
 
@@ -46,7 +46,7 @@ export function validateChatPreference<V>(v: V) {
46
46
 
47
47
  export interface FilterablePreference {
48
48
  $type?: 'app.bsky.notification.defs#filterablePreference'
49
- filter: 'all' | 'follows' | (string & {})
49
+ include: 'all' | 'follows' | (string & {})
50
50
  list: boolean
51
51
  push: boolean
52
52
  }
@@ -1,5 +1,6 @@
1
1
  import { AppBskyGraphDefs } from '../client/index'
2
2
  import { LABELS } from './const/labels'
3
+ import { MuteWordMatch } from './mutewords'
3
4
  import {
4
5
  BLOCK_BEHAVIOR,
5
6
  CUSTOM_LABEL_VALUE_RE,
@@ -195,12 +196,13 @@ export class ModerationDecision {
195
196
  }
196
197
  }
197
198
 
198
- addMutedWord(mutedWord: boolean) {
199
- if (mutedWord) {
199
+ addMutedWord(matches: MuteWordMatch[] | undefined) {
200
+ if (matches?.length) {
200
201
  this.causes.push({
201
202
  type: 'mute-word',
202
203
  source: { type: 'user' },
203
204
  priority: 6,
205
+ matches,
204
206
  })
205
207
  }
206
208
  }
@@ -16,7 +16,7 @@ import {
16
16
 
17
17
  export { ModerationUI } from './ui'
18
18
  export { ModerationDecision } from './decision'
19
- export { hasMutedWord } from './mutewords'
19
+ export { hasMutedWord, matchMuteWords } from './mutewords'
20
20
  export {
21
21
  interpretLabelValueDefinition,
22
22
  interpretLabelValueDefinitions,
@@ -21,21 +21,38 @@ const LANGUAGE_EXCEPTIONS = [
21
21
  'vi', // Vietnamese
22
22
  ]
23
23
 
24
- export function hasMutedWord({
25
- mutedWords,
26
- text,
27
- facets,
28
- outlineTags,
29
- languages,
30
- actor,
31
- }: {
24
+ export type MuteWordMatch = {
25
+ /**
26
+ * The `AppBskyActorDefs.MutedWord` that matched.
27
+ */
28
+ word: AppBskyActorDefs.MutedWord
29
+ /**
30
+ * The string that matched the muted word.
31
+ */
32
+ predicate: string
33
+ }
34
+
35
+ export type Params = {
32
36
  mutedWords: AppBskyActorDefs.MutedWord[]
33
37
  text: string
34
38
  facets?: AppBskyRichtextFacet.Main[]
35
39
  outlineTags?: string[]
36
40
  languages?: string[]
37
41
  actor?: AppBskyActorDefs.ProfileView | AppBskyActorDefs.ProfileViewBasic
38
- }) {
42
+ }
43
+
44
+ /**
45
+ * Checks if the given text matches any of the muted words, returning an array
46
+ * of matches. If no matches are found, returns `undefined`.
47
+ */
48
+ export function matchMuteWords({
49
+ mutedWords,
50
+ text,
51
+ facets,
52
+ outlineTags,
53
+ languages,
54
+ actor,
55
+ }: Params): MuteWordMatch[] | undefined {
39
56
  const exception = LANGUAGE_EXCEPTIONS.includes(languages?.[0] || '')
40
57
  const tags = ([] as string[])
41
58
  .concat(outlineTags || [])
@@ -46,38 +63,54 @@ export function hasMutedWord({
46
63
  )
47
64
  .map((t) => t.toLowerCase())
48
65
 
49
- for (const mute of mutedWords) {
50
- const mutedWord = mute.value.toLowerCase()
66
+ const matches: MuteWordMatch[] = []
67
+
68
+ outer: for (const muteWord of mutedWords) {
69
+ const mutedWord = muteWord.value.toLowerCase()
51
70
  const postText = text.toLowerCase()
52
71
 
53
72
  // expired, ignore
54
- if (mute.expiresAt && mute.expiresAt < new Date().toISOString()) continue
73
+ if (muteWord.expiresAt && muteWord.expiresAt < new Date().toISOString())
74
+ continue
55
75
 
56
76
  if (
57
- mute.actorTarget === 'exclude-following' &&
77
+ muteWord.actorTarget === 'exclude-following' &&
58
78
  Boolean(actor?.viewer?.following)
59
79
  )
60
80
  continue
61
81
 
62
82
  // `content` applies to tags as well
63
- if (tags.includes(mutedWord)) return true
83
+ if (tags.includes(mutedWord)) {
84
+ matches.push({ word: muteWord, predicate: muteWord.value })
85
+ continue
86
+ }
64
87
  // rest of the checks are for `content` only
65
- if (!mute.targets.includes('content')) continue
88
+ if (!muteWord.targets.includes('content')) continue
66
89
  // single character or other exception, has to use includes
67
- if ((mutedWord.length === 1 || exception) && postText.includes(mutedWord))
68
- return true
90
+ if ((mutedWord.length === 1 || exception) && postText.includes(mutedWord)) {
91
+ matches.push({ word: muteWord, predicate: muteWord.value })
92
+ continue
93
+ }
69
94
  // too long
70
95
  if (mutedWord.length > postText.length) continue
71
96
  // exact match
72
- if (mutedWord === postText) return true
97
+ if (mutedWord === postText) {
98
+ matches.push({ word: muteWord, predicate: muteWord.value })
99
+ continue
100
+ }
73
101
  // any muted phrase with space or punctuation
74
- if (/(?:\s|\p{P})+?/u.test(mutedWord) && postText.includes(mutedWord))
75
- return true
102
+ if (/(?:\s|\p{P})+?/u.test(mutedWord) && postText.includes(mutedWord)) {
103
+ matches.push({ word: muteWord, predicate: muteWord.value })
104
+ continue
105
+ }
76
106
 
77
107
  // check individual character groups
78
108
  const words = postText.split(REGEX.WORD_BOUNDARY)
79
109
  for (const word of words) {
80
- if (word === mutedWord) return true
110
+ if (word === mutedWord) {
111
+ matches.push({ word: muteWord, predicate: word })
112
+ continue outer
113
+ }
81
114
 
82
115
  // compare word without leading/trailing punctuation, but allow internal
83
116
  // punctuation (such as `s@ssy`)
@@ -86,23 +119,52 @@ export function hasMutedWord({
86
119
  '',
87
120
  )
88
121
 
89
- if (mutedWord === wordTrimmedPunctuation) return true
122
+ if (mutedWord === wordTrimmedPunctuation) {
123
+ matches.push({ word: muteWord, predicate: word })
124
+ continue outer
125
+ }
126
+
90
127
  if (mutedWord.length > wordTrimmedPunctuation.length) continue
91
128
 
92
129
  if (/\p{P}+/u.test(wordTrimmedPunctuation)) {
130
+ /**
131
+ * Exit case for any punctuation within the predicate that we _do_
132
+ * allow e.g. `and/or` should not match `Andor`.
133
+ */
134
+ if (/[/]+/.test(wordTrimmedPunctuation)) {
135
+ continue outer
136
+ }
137
+
93
138
  const spacedWord = wordTrimmedPunctuation.replace(/\p{P}+/gu, ' ')
94
- if (spacedWord === mutedWord) return true
139
+ if (spacedWord === mutedWord) {
140
+ matches.push({ word: muteWord, predicate: word })
141
+ continue outer
142
+ }
95
143
 
96
144
  const contiguousWord = spacedWord.replace(/\s/gu, '')
97
- if (contiguousWord === mutedWord) return true
145
+ if (contiguousWord === mutedWord) {
146
+ matches.push({ word: muteWord, predicate: word })
147
+ continue outer
148
+ }
98
149
 
99
150
  const wordParts = wordTrimmedPunctuation.split(/\p{P}+/u)
100
151
  for (const wordPart of wordParts) {
101
- if (wordPart === mutedWord) return true
152
+ if (wordPart === mutedWord) {
153
+ matches.push({ word: muteWord, predicate: word })
154
+ continue outer
155
+ }
102
156
  }
103
157
  }
104
158
  }
105
159
  }
106
160
 
107
- return false
161
+ return matches.length ? matches : undefined
162
+ }
163
+
164
+ /**
165
+ * Checks if the given text matches any of the muted words, returning a boolean
166
+ * if any matches are found.
167
+ */
168
+ export function hasMutedWord(params: Params) {
169
+ return !!matchMuteWords(params)
108
170
  }
@@ -8,7 +8,7 @@ import {
8
8
  } from '../../client'
9
9
  import { $Typed } from '../../client/util'
10
10
  import { ModerationDecision } from '../decision'
11
- import { hasMutedWord } from '../mutewords'
11
+ import { MuteWordMatch, matchMuteWords } from '../mutewords'
12
12
  import { ModerationOpts, ModerationSubjectPost } from '../types'
13
13
  import { decideAccount } from './account'
14
14
  import { decideProfile } from './profile'
@@ -40,7 +40,7 @@ function decideSubject(
40
40
  }
41
41
  acc.addHidden(checkHiddenPost(subject, opts.prefs.hiddenPosts))
42
42
  if (!acc.isMe) {
43
- acc.addMutedWord(checkMutedWords(subject, opts.prefs.mutedWords))
43
+ acc.addMutedWord(matchAllMuteWords(subject, opts.prefs.mutedWords))
44
44
  }
45
45
 
46
46
  return acc
@@ -160,44 +160,43 @@ function checkHiddenPost(
160
160
  return false
161
161
  }
162
162
 
163
- function checkMutedWords(
163
+ function matchAllMuteWords(
164
164
  subject: ModerationSubjectPost,
165
165
  mutedWords: AppBskyActorDefs.MutedWord[] | undefined,
166
- ) {
166
+ ): MuteWordMatch[] | undefined {
167
167
  if (!mutedWords?.length) {
168
- return false
168
+ return
169
169
  }
170
170
 
171
171
  const postAuthor = subject.author
172
172
 
173
173
  if (AppBskyFeedPost.isRecord(subject.record)) {
174
174
  const post = subject.record as AppBskyFeedPost.Record
175
+
176
+ const matches = matchMuteWords({
177
+ mutedWords,
178
+ text: post.text,
179
+ facets: post.facets,
180
+ outlineTags: post.tags,
181
+ languages: post.langs,
182
+ actor: postAuthor,
183
+ })
175
184
  // post text
176
- if (
177
- hasMutedWord({
178
- mutedWords,
179
- text: post.text,
180
- facets: post.facets,
181
- outlineTags: post.tags,
182
- languages: post.langs,
183
- actor: postAuthor,
184
- })
185
- ) {
186
- return true
185
+ if (matches) {
186
+ return matches
187
187
  }
188
188
 
189
189
  if (post.embed && AppBskyEmbedImages.isMain(post.embed)) {
190
190
  // post images
191
191
  for (const image of post.embed.images) {
192
- if (
193
- hasMutedWord({
194
- mutedWords,
195
- text: image.alt,
196
- languages: post.langs,
197
- actor: postAuthor,
198
- })
199
- ) {
200
- return true
192
+ const matches = matchMuteWords({
193
+ mutedWords,
194
+ text: image.alt,
195
+ languages: post.langs,
196
+ actor: postAuthor,
197
+ })
198
+ if (matches) {
199
+ return matches
201
200
  }
202
201
  }
203
202
  }
@@ -214,33 +213,31 @@ function checkMutedWords(
214
213
  if (AppBskyFeedPost.isRecord(embed.record.value)) {
215
214
  const embeddedPost = embed.record.value as AppBskyFeedPost.Record
216
215
  const embedAuthor = embed.record.author
216
+ const matches = matchMuteWords({
217
+ mutedWords,
218
+ text: embeddedPost.text,
219
+ facets: embeddedPost.facets,
220
+ outlineTags: embeddedPost.tags,
221
+ languages: embeddedPost.langs,
222
+ actor: embedAuthor,
223
+ })
217
224
 
218
225
  // quoted post text
219
- if (
220
- hasMutedWord({
221
- mutedWords,
222
- text: embeddedPost.text,
223
- facets: embeddedPost.facets,
224
- outlineTags: embeddedPost.tags,
225
- languages: embeddedPost.langs,
226
- actor: embedAuthor,
227
- })
228
- ) {
229
- return true
226
+ if (matches) {
227
+ return matches
230
228
  }
231
229
 
232
230
  // quoted post's images
233
231
  if (AppBskyEmbedImages.isMain(embeddedPost.embed)) {
234
232
  for (const image of embeddedPost.embed.images) {
235
- if (
236
- hasMutedWord({
237
- mutedWords,
238
- text: image.alt,
239
- languages: embeddedPost.langs,
240
- actor: embedAuthor,
241
- })
242
- ) {
243
- return true
233
+ const matches = matchMuteWords({
234
+ mutedWords,
235
+ text: image.alt,
236
+ languages: embeddedPost.langs,
237
+ actor: embedAuthor,
238
+ })
239
+ if (matches) {
240
+ return matches
244
241
  }
245
242
  }
246
243
  }
@@ -248,15 +245,14 @@ function checkMutedWords(
248
245
  // quoted post's link card
249
246
  if (AppBskyEmbedExternal.isMain(embeddedPost.embed)) {
250
247
  const { external } = embeddedPost.embed
251
- if (
252
- hasMutedWord({
253
- mutedWords,
254
- text: external.title + ' ' + external.description,
255
- languages: [],
256
- actor: embedAuthor,
257
- })
258
- ) {
259
- return true
248
+ const matches = matchMuteWords({
249
+ mutedWords,
250
+ text: external.title + ' ' + external.description,
251
+ languages: [],
252
+ actor: embedAuthor,
253
+ })
254
+ if (matches) {
255
+ return matches
260
256
  }
261
257
  }
262
258
 
@@ -264,32 +260,30 @@ function checkMutedWords(
264
260
  // quoted post's link card when it did a quote + media
265
261
  if (AppBskyEmbedExternal.isMain(embeddedPost.embed.media)) {
266
262
  const { external } = embeddedPost.embed.media
267
- if (
268
- hasMutedWord({
269
- mutedWords,
270
- text: external.title + ' ' + external.description,
271
- languages: [],
272
- actor: embedAuthor,
273
- })
274
- ) {
275
- return true
263
+ const matches = matchMuteWords({
264
+ mutedWords,
265
+ text: external.title + ' ' + external.description,
266
+ languages: [],
267
+ actor: embedAuthor,
268
+ })
269
+ if (matches) {
270
+ return matches
276
271
  }
277
272
  }
278
273
 
279
274
  // quoted post's images when it did a quote + media
280
275
  if (AppBskyEmbedImages.isMain(embeddedPost.embed.media)) {
281
276
  for (const image of embeddedPost.embed.media.images) {
282
- if (
283
- hasMutedWord({
284
- mutedWords,
285
- text: image.alt,
286
- languages: AppBskyFeedPost.isRecord(embeddedPost.record)
287
- ? embeddedPost.langs
288
- : [],
289
- actor: embedAuthor,
290
- })
291
- ) {
292
- return true
277
+ const matches = matchMuteWords({
278
+ mutedWords,
279
+ text: image.alt,
280
+ languages: AppBskyFeedPost.isRecord(embeddedPost.record)
281
+ ? embeddedPost.langs
282
+ : [],
283
+ actor: embedAuthor,
284
+ })
285
+ if (matches) {
286
+ return matches
293
287
  }
294
288
  }
295
289
  }
@@ -299,15 +293,14 @@ function checkMutedWords(
299
293
  // link card
300
294
  else if (AppBskyEmbedExternal.isView(embed)) {
301
295
  const { external } = embed
302
- if (
303
- hasMutedWord({
304
- mutedWords,
305
- text: external.title + ' ' + external.description,
306
- languages: [],
307
- actor: postAuthor,
308
- })
309
- ) {
310
- return true
296
+ const matches = matchMuteWords({
297
+ mutedWords,
298
+ text: external.title + ' ' + external.description,
299
+ languages: [],
300
+ actor: postAuthor,
301
+ })
302
+ if (matches) {
303
+ return matches
311
304
  }
312
305
  }
313
306
  // quote post with media
@@ -320,52 +313,48 @@ function checkMutedWords(
320
313
  // quoted post text
321
314
  if (AppBskyFeedPost.isRecord(embed.record.record.value)) {
322
315
  const post = embed.record.record.value as AppBskyFeedPost.Record
323
- if (
324
- hasMutedWord({
325
- mutedWords,
326
- text: post.text,
327
- facets: post.facets,
328
- outlineTags: post.tags,
329
- languages: post.langs,
330
- actor: embedAuthor,
331
- })
332
- ) {
333
- return true
316
+ const matches = matchMuteWords({
317
+ mutedWords,
318
+ text: post.text,
319
+ facets: post.facets,
320
+ outlineTags: post.tags,
321
+ languages: post.langs,
322
+ actor: embedAuthor,
323
+ })
324
+ if (matches) {
325
+ return matches
334
326
  }
335
327
  }
336
328
 
337
329
  // quoted post images
338
330
  if (AppBskyEmbedImages.isView(embed.media)) {
339
331
  for (const image of embed.media.images) {
340
- if (
341
- hasMutedWord({
342
- mutedWords,
343
- text: image.alt,
344
- languages: AppBskyFeedPost.isRecord(subject.record)
345
- ? (subject.record as AppBskyFeedPost.Record).langs
346
- : [],
347
- actor: embedAuthor,
348
- })
349
- ) {
350
- return true
332
+ const matches = matchMuteWords({
333
+ mutedWords,
334
+ text: image.alt,
335
+ languages: AppBskyFeedPost.isRecord(subject.record)
336
+ ? (subject.record as AppBskyFeedPost.Record).langs
337
+ : [],
338
+ actor: embedAuthor,
339
+ })
340
+ if (matches) {
341
+ return matches
351
342
  }
352
343
  }
353
344
  }
354
345
 
355
346
  if (AppBskyEmbedExternal.isView(embed.media)) {
356
347
  const { external } = embed.media
357
- if (
358
- hasMutedWord({
359
- mutedWords,
360
- text: external.title + ' ' + external.description,
361
- languages: [],
362
- actor: embedAuthor,
363
- })
364
- ) {
365
- return true
348
+ const matches = matchMuteWords({
349
+ mutedWords,
350
+ text: external.title + ' ' + external.description,
351
+ languages: [],
352
+ actor: embedAuthor,
353
+ })
354
+ if (matches) {
355
+ return matches
366
356
  }
367
357
  }
368
358
  }
369
359
  }
370
- return false
371
360
  }