graze-client 0.4.0 → 0.6.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.
@@ -27,7 +27,7 @@ declare const GrazeClient_base: Effect.Service.Class<GrazeClient, "GrazeClient",
27
27
  readonly updated_at: Date;
28
28
  readonly deleted_at: Date | null;
29
29
  };
30
- }, import("@effect/platform/HttpApiError").HttpApiDecodeError | import("@effect/platform/HttpClientError").HttpClientError | import("effect/ParseResult").ParseError, never>;
30
+ }, unknown, never>;
31
31
  getFeeds: () => Effect.Effect<{
32
32
  readonly page: number;
33
33
  readonly page_size: number;
@@ -60,7 +60,7 @@ declare const GrazeClient_base: Effect.Service.Class<GrazeClient, "GrazeClient",
60
60
  readonly post_renders: number;
61
61
  };
62
62
  }[];
63
- }, import("@effect/platform/HttpApiError").HttpApiDecodeError | import("@effect/platform/HttpClientError").HttpClientError, never>;
63
+ }, unknown, never>;
64
64
  getFeed: <WithResponse extends boolean = false>(request: {
65
65
  readonly path: {
66
66
  readonly feedId: number;
@@ -120,27 +120,27 @@ declare const GrazeClient_base: Effect.Service.Class<GrazeClient, "GrazeClient",
120
120
  readonly subscriber_lists: unknown;
121
121
  readonly draft_algorithm_manifest: unknown;
122
122
  readonly algorithm_manifest: unknown;
123
- }, import("@effect/platform/HttpApiError").HttpApiDecodeError | import("@effect/platform/HttpClientError").HttpClientError, never>;
123
+ }, unknown, never>;
124
124
  publishAlgorithm: <WithResponse extends boolean = false>(request: {
125
125
  readonly path: {
126
126
  readonly feedId: number;
127
127
  };
128
128
  readonly withResponse?: WithResponse;
129
- }) => Effect.Effect<WithResponse extends true ? [unknown, import("@effect/platform/HttpClientResponse").HttpClientResponse] : unknown, import("@effect/platform/HttpApiError").HttpApiDecodeError | import("@effect/platform/HttpClientError").HttpClientError, never>;
129
+ }) => Effect.Effect<WithResponse extends true ? [unknown, import("@effect/platform/HttpClientResponse").HttpClientResponse] : unknown, unknown, never>;
130
130
  hidePost: <WithResponse extends boolean = false>(request: {
131
131
  readonly payload: {
132
132
  readonly algo_id: number;
133
133
  readonly at_uri: string;
134
134
  };
135
135
  readonly withResponse?: WithResponse;
136
- }) => Effect.Effect<WithResponse extends true ? [unknown, import("@effect/platform/HttpClientResponse").HttpClientResponse] : unknown, import("@effect/platform/HttpApiError").HttpApiDecodeError | import("@effect/platform/HttpClientError").HttpClientError, never>;
136
+ }) => Effect.Effect<WithResponse extends true ? [unknown, import("@effect/platform/HttpClientResponse").HttpClientResponse] : unknown, unknown, never>;
137
137
  unhidePost: <WithResponse extends boolean = false>(request: {
138
138
  readonly payload: {
139
139
  readonly algo_id: number;
140
140
  readonly at_uri: string;
141
141
  };
142
142
  readonly withResponse?: WithResponse;
143
- }) => Effect.Effect<WithResponse extends true ? [unknown, import("@effect/platform/HttpClientResponse").HttpClientResponse] : unknown, import("@effect/platform/HttpApiError").HttpApiDecodeError | import("@effect/platform/HttpClientError").HttpClientError, never>;
143
+ }) => Effect.Effect<WithResponse extends true ? [unknown, import("@effect/platform/HttpClientResponse").HttpClientResponse] : unknown, unknown, never>;
144
144
  }, import("effect/ConfigError").ConfigError, HttpClient.HttpClient>;
145
145
  readonly dependencies: readonly [import("effect/Layer").Layer<HttpClient.HttpClient, never, never>];
146
146
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"GrazeClient.d.ts","sourceRoot":"","sources":["../../src/GrazeClient.ts"],"names":[],"mappings":"AAOA,OAAO,EAOL,UAAU,EAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAgB,MAAM,EAAoB,MAAM,QAAQ,CAAC;AAEhE,OAAO,KAAK,IAAI,MAAM,oCAAoC,CAAC;;;gCA+E1B,IAAI,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgB9C,qBAAa,WAAY,SAAQ,gBAG/B;CAED;;;;AAED,qBAAa,UAAW,SAAQ,gBAA+B;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;CAAG"}
1
+ {"version":3,"file":"GrazeClient.d.ts","sourceRoot":"","sources":["../../src/GrazeClient.ts"],"names":[],"mappings":"AAOA,OAAO,EAOL,UAAU,EAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAgB,MAAM,EAAoB,MAAM,QAAQ,CAAC;AAEhE,OAAO,KAAK,IAAI,MAAM,oCAAoC,CAAC;;;gCA+E1B,IAAI,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgB9C,qBAAa,WAAY,SAAQ,gBAG/B;CAED;;;;AAED,qBAAa,UAAW,SAAQ,gBAA+B;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;CAAI"}
@@ -1,4 +1,4 @@
1
- import { AttributeComparison, AttributeName, AttributeValue, ContentModerationBlock, Filter, ListMemberFilter, RegexMatches, RegexNegationMatches, SocialGraph } from "./schema/index.js";
1
+ import { AttributeComparison, AttributeName, AttributeValue, ContentModerationBlock, EmbedType, Filter, ListMemberFilter, RegexMatches, RegexNegationMatches, SocialGraph, TextMatchesAny, TextMatchesNone } from "./schema/index.js";
2
2
  export declare const Algo: {
3
3
  filter: (...filters: Filter[]) => {
4
4
  filter: Filter;
@@ -13,6 +13,18 @@ export declare const F: {
13
13
  };
14
14
  regexMatches: (attribute: RegexMatches["regex_matches"][0], regex: string) => RegexMatches;
15
15
  regexNegationMatches: (attribute: RegexNegationMatches["regex_negation_matches"][0], regex: string) => RegexNegationMatches;
16
+ textMatchesAny: ({ attribute, patterns, caseInsensitive, useRegex, }: {
17
+ attribute: AttributeName;
18
+ patterns: string[];
19
+ caseInsensitive?: boolean;
20
+ useRegex?: boolean;
21
+ }) => TextMatchesAny;
22
+ textMatchesNone: ({ attribute, patterns, caseInsensitive, useRegex, }: {
23
+ attribute: AttributeName;
24
+ patterns: string[];
25
+ caseInsensitive?: boolean;
26
+ useRegex?: boolean;
27
+ }) => TextMatchesNone;
16
28
  attributeCompare: (attr: AttributeName, op: AttributeComparison, value: AttributeValue) => Filter;
17
29
  isListMember: (uri: string) => ListMemberFilter;
18
30
  isNotListMember: (uri: string) => ListMemberFilter;
@@ -29,14 +41,17 @@ export declare const F: {
29
41
  posterDoesNotFollow: (identifier: string) => Readonly<{
30
42
  social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
31
43
  }>;
32
- hasVideo: Readonly<{
33
- embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
34
- }>;
44
+ hasVideo: Filter;
35
45
  hasNoNSFWLabels: Readonly<{
36
46
  entity_excludes: readonly ["labels", readonly ["porn", "sexual", "nudity"]];
37
47
  }>;
38
48
  isPost: Filter;
39
49
  isReply: Filter;
50
+ isQuote: Filter;
51
+ isNotReply: Filter;
52
+ isNotQuote: Filter;
40
53
  isContentOk: (threshold?: number) => ContentModerationBlock;
54
+ embedContains: (type: EmbedType["embed_type"][1]) => Filter;
55
+ embedDoesNotContain: (type: EmbedType["embed_type"][1]) => Filter;
41
56
  };
42
57
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,MAAM,EACN,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAoF3B,eAAO,MAAM,IAAI;yBACM,MAAM,EAAE,KAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;CAGnD,CAAC;AAEF,eAAO,MAAM,CAAC;sBAxFW,MAAM,EAAE;;;qBAYT,MAAM,EAAE;;;8BAanB,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SACpC,MAAM,KACZ,YAAY;sCAKF,oBAAoB,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,SACrD,MAAM,KACZ,oBAAoB;6BAkCf,aAAa,MACf,mBAAmB,SAChB,cAAc,KACpB,MAAM;wBAjCkB,MAAM,KAAG,gBAAgB;2BAGtB,MAAM,KAAG,gBAAgB;8BAIzC,MAAM,MACd,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YACxB,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KACvC,WAAW;qCAG0B,MAAM;;;gCAEX,MAAM;;;wCAEE,MAAM;;;sCAER,MAAM;;;;;;;;;;;8BAqBf,MAAM,KAAS,sBAAsB;CA4BpE,CAAC"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,SAAS,EACT,MAAM,EACN,gBAAgB,EAEhB,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,eAAe,EAChB,MAAM,mBAAmB,CAAC;AA+H3B,eAAO,MAAM,IAAI;yBACM,MAAM,EAAE,KAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;CAGnD,CAAC;AAEF,eAAO,MAAM,CAAC;sBAnIW,MAAM,EAAE;;;qBAYT,MAAM,EAAE;;;8BAanB,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SACpC,MAAM,KACZ,YAAY;sCAKF,oBAAoB,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,SACrD,MAAM,KACZ,oBAAoB;0EASpB;QACD,SAAS,EAAE,aAAa,CAAC;QACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,KAAG,cAAc;2EASf;QACD,SAAS,EAAE,aAAa,CAAC;QACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,KAAG,eAAe;6BA8CX,aAAa,MACf,mBAAmB,SAChB,cAAc,KACpB,MAAM;wBA7CkB,MAAM,KAAG,gBAAgB;2BAGtB,MAAM,KAAG,gBAAgB;8BAIzC,MAAM,MACd,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YACxB,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KACvC,WAAW;qCAG0B,MAAM;;;gCAEX,MAAM;;;wCAEE,MAAM;;;sCAER,MAAM;;;;;;;;;;;;8BAoCf,MAAM,KAAS,sBAAsB;0BAjCxC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAG,MAAM;gCAG7B,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAG,MAAM;CAiErE,CAAC"}
@@ -1,19 +1,24 @@
1
1
  import { Schema as S } from "effect";
2
2
  export declare const ListUri: typeof S.String;
3
3
  export type ListUri = typeof ListUri.Type;
4
- export declare const AttributeName: S.Union<[S.Literal<["text"]>, S.Literal<["reply"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.alt"]>, S.Literal<["embed"]>, S.Literal<["embed.external.uri"]>, S.Literal<["embed.external.title"]>, S.Literal<["embed.external.description"]>]>;
4
+ export declare const AttributeName: S.Union<[S.Literal<["text"]>, S.Literal<["reply"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.alt"]>, S.Literal<["embed"]>, S.Literal<["embed.external.uri"]>, S.Literal<["embed.external.title"]>, S.Literal<["embed.external.description"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.media.external.uri"]>, S.Literal<["embed.media.external.title"]>, S.Literal<["embed.media.external.description"]>, S.Literal<["embed.record.uri"]>, S.Literal<["langs[*"]>, S.Literal<["labels.values[*].val"]>, S.Literal<["facets[*].features[*].uri"]>]>;
5
5
  export type AttributeName = typeof AttributeName.Type;
6
6
  export declare const AttributeComparison: S.Literal<["==", "!=", ">", "<", ">=", "<="]>;
7
7
  export type AttributeComparison = typeof AttributeComparison.Type;
8
8
  export declare const AttributeValue: typeof S.Null;
9
9
  export type AttributeValue = typeof AttributeValue.Type;
10
- export type Filter = And | Or | ListMemberFilter | AttributeCompare | RegexMatches | RegexNegationMatches | ContentModerationBlock | EntityExcludesLabels | EmbedType | SocialGraph;
10
+ export declare const PostType: S.Literal<["reply", "quote"]>;
11
+ export type PostType = typeof PostType.Type;
12
+ export type Filter = And | Or | ListMemberFilter | AttributeCompare | RegexMatches | RegexNegationMatches | TextMatchesAny | TextMatchesNone | ContentModerationBlock | EntityExcludesLabels | EmbedType | SocialGraph | PostTypeFilter;
11
13
  export type And = Readonly<{
12
14
  and: ReadonlyArray<Filter>;
13
15
  }>;
14
16
  export type Or = Readonly<{
15
17
  or: ReadonlyArray<Filter>;
16
18
  }>;
19
+ export type PostTypeFilter = Readonly<{
20
+ post_type: readonly ["in" | "not_in", PostType];
21
+ }>;
17
22
  export type ListMemberFilter = Readonly<{
18
23
  list_member: readonly [ListUri, "in" | "not_in"];
19
24
  }>;
@@ -30,6 +35,12 @@ export type RegexMatches = Readonly<{
30
35
  export type RegexNegationMatches = Readonly<{
31
36
  regex_negation_matches: readonly [AttributeName, string, boolean];
32
37
  }>;
38
+ export type TextMatchesAny = Readonly<{
39
+ regex_any: readonly [AttributeName, readonly string[], boolean, boolean];
40
+ }>;
41
+ export type TextMatchesNone = Readonly<{
42
+ regex_none: readonly [AttributeName, readonly string[], boolean, boolean];
43
+ }>;
33
44
  export type ContentModerationBlock = Readonly<{
34
45
  content_moderation: readonly ["OK", ">=", number];
35
46
  }>;
@@ -69,6 +80,14 @@ export declare const Filter: S.Union<[S.suspend<Readonly<{
69
80
  regex_negation_matches: readonly [AttributeName, string, boolean];
70
81
  }>, Readonly<{
71
82
  regex_negation_matches: readonly [AttributeName, string, boolean];
83
+ }>, never>, S.suspend<Readonly<{
84
+ regex_any: readonly [AttributeName, readonly string[], boolean, boolean];
85
+ }>, Readonly<{
86
+ regex_any: readonly [AttributeName, readonly string[], boolean, boolean];
87
+ }>, never>, S.suspend<Readonly<{
88
+ regex_none: readonly [AttributeName, readonly string[], boolean, boolean];
89
+ }>, Readonly<{
90
+ regex_none: readonly [AttributeName, readonly string[], boolean, boolean];
72
91
  }>, never>, S.suspend<Readonly<{
73
92
  content_moderation: readonly ["OK", ">=", number];
74
93
  }>, Readonly<{
@@ -85,6 +104,10 @@ export declare const Filter: S.Union<[S.suspend<Readonly<{
85
104
  social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
86
105
  }>, Readonly<{
87
106
  social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
107
+ }>, never>, S.suspend<Readonly<{
108
+ post_type: readonly ["in" | "not_in", PostType];
109
+ }>, Readonly<{
110
+ post_type: readonly ["in" | "not_in", PostType];
88
111
  }>, never>]>;
89
112
  export declare const Or: S.Struct<{
90
113
  or: S.Array$<S.Union<[S.suspend<Readonly<{
@@ -111,6 +134,14 @@ export declare const Or: S.Struct<{
111
134
  regex_negation_matches: readonly [AttributeName, string, boolean];
112
135
  }>, Readonly<{
113
136
  regex_negation_matches: readonly [AttributeName, string, boolean];
137
+ }>, never>, S.suspend<Readonly<{
138
+ regex_any: readonly [AttributeName, readonly string[], boolean, boolean];
139
+ }>, Readonly<{
140
+ regex_any: readonly [AttributeName, readonly string[], boolean, boolean];
141
+ }>, never>, S.suspend<Readonly<{
142
+ regex_none: readonly [AttributeName, readonly string[], boolean, boolean];
143
+ }>, Readonly<{
144
+ regex_none: readonly [AttributeName, readonly string[], boolean, boolean];
114
145
  }>, never>, S.suspend<Readonly<{
115
146
  content_moderation: readonly ["OK", ">=", number];
116
147
  }>, Readonly<{
@@ -127,6 +158,10 @@ export declare const Or: S.Struct<{
127
158
  social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
128
159
  }>, Readonly<{
129
160
  social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
161
+ }>, never>, S.suspend<Readonly<{
162
+ post_type: readonly ["in" | "not_in", PostType];
163
+ }>, Readonly<{
164
+ post_type: readonly ["in" | "not_in", PostType];
130
165
  }>, never>]>>;
131
166
  }>;
132
167
  export declare const And: S.Struct<{
@@ -154,6 +189,14 @@ export declare const And: S.Struct<{
154
189
  regex_negation_matches: readonly [AttributeName, string, boolean];
155
190
  }>, Readonly<{
156
191
  regex_negation_matches: readonly [AttributeName, string, boolean];
192
+ }>, never>, S.suspend<Readonly<{
193
+ regex_any: readonly [AttributeName, readonly string[], boolean, boolean];
194
+ }>, Readonly<{
195
+ regex_any: readonly [AttributeName, readonly string[], boolean, boolean];
196
+ }>, never>, S.suspend<Readonly<{
197
+ regex_none: readonly [AttributeName, readonly string[], boolean, boolean];
198
+ }>, Readonly<{
199
+ regex_none: readonly [AttributeName, readonly string[], boolean, boolean];
157
200
  }>, never>, S.suspend<Readonly<{
158
201
  content_moderation: readonly ["OK", ">=", number];
159
202
  }>, Readonly<{
@@ -170,19 +213,32 @@ export declare const And: S.Struct<{
170
213
  social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
171
214
  }>, Readonly<{
172
215
  social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
216
+ }>, never>, S.suspend<Readonly<{
217
+ post_type: readonly ["in" | "not_in", PostType];
218
+ }>, Readonly<{
219
+ post_type: readonly ["in" | "not_in", PostType];
173
220
  }>, never>]>>;
174
221
  }>;
222
+ export declare const PostTypeFilter: S.Struct<{
223
+ post_type: S.Tuple<[S.Literal<["in", "not_in"]>, S.Literal<["reply", "quote"]>]>;
224
+ }>;
175
225
  export declare const ListMemberFilter: S.Struct<{
176
226
  list_member: S.Tuple<[typeof S.String, S.Literal<["in", "not_in"]>]>;
177
227
  }>;
178
228
  export declare const AttributeCompare: S.Struct<{
179
- attribute_compare: S.Tuple<[S.Union<[S.Literal<["text"]>, S.Literal<["reply"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.alt"]>, S.Literal<["embed"]>, S.Literal<["embed.external.uri"]>, S.Literal<["embed.external.title"]>, S.Literal<["embed.external.description"]>]>, S.Literal<["==", "!=", ">", "<", ">=", "<="]>, typeof S.Null]>;
229
+ attribute_compare: S.Tuple<[S.Union<[S.Literal<["text"]>, S.Literal<["reply"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.alt"]>, S.Literal<["embed"]>, S.Literal<["embed.external.uri"]>, S.Literal<["embed.external.title"]>, S.Literal<["embed.external.description"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.media.external.uri"]>, S.Literal<["embed.media.external.title"]>, S.Literal<["embed.media.external.description"]>, S.Literal<["embed.record.uri"]>, S.Literal<["langs[*"]>, S.Literal<["labels.values[*].val"]>, S.Literal<["facets[*].features[*].uri"]>]>, S.Literal<["==", "!=", ">", "<", ">=", "<="]>, typeof S.Null]>;
180
230
  }>;
181
231
  export declare const RegexMatches: S.Struct<{
182
- regex_matches: S.Tuple<[S.Union<[S.Literal<["text"]>, S.Literal<["reply"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.alt"]>, S.Literal<["embed"]>, S.Literal<["embed.external.uri"]>, S.Literal<["embed.external.title"]>, S.Literal<["embed.external.description"]>]>, S.SchemaClass<string, string, never>, S.SchemaClass<boolean, boolean, never>]>;
232
+ regex_matches: S.Tuple<[S.Union<[S.Literal<["text"]>, S.Literal<["reply"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.alt"]>, S.Literal<["embed"]>, S.Literal<["embed.external.uri"]>, S.Literal<["embed.external.title"]>, S.Literal<["embed.external.description"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.media.external.uri"]>, S.Literal<["embed.media.external.title"]>, S.Literal<["embed.media.external.description"]>, S.Literal<["embed.record.uri"]>, S.Literal<["langs[*"]>, S.Literal<["labels.values[*].val"]>, S.Literal<["facets[*].features[*].uri"]>]>, S.SchemaClass<string, string, never>, S.SchemaClass<boolean, boolean, never>]>;
183
233
  }>;
184
234
  export declare const RegexNegationMatches: S.Struct<{
185
- regex_negation_matches: S.Tuple<[S.Union<[S.Literal<["text"]>, S.Literal<["reply"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.alt"]>, S.Literal<["embed"]>, S.Literal<["embed.external.uri"]>, S.Literal<["embed.external.title"]>, S.Literal<["embed.external.description"]>]>, S.SchemaClass<string, string, never>, S.SchemaClass<boolean, boolean, never>]>;
235
+ regex_negation_matches: S.Tuple<[S.Union<[S.Literal<["text"]>, S.Literal<["reply"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.alt"]>, S.Literal<["embed"]>, S.Literal<["embed.external.uri"]>, S.Literal<["embed.external.title"]>, S.Literal<["embed.external.description"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.media.external.uri"]>, S.Literal<["embed.media.external.title"]>, S.Literal<["embed.media.external.description"]>, S.Literal<["embed.record.uri"]>, S.Literal<["langs[*"]>, S.Literal<["labels.values[*].val"]>, S.Literal<["facets[*].features[*].uri"]>]>, S.SchemaClass<string, string, never>, S.SchemaClass<boolean, boolean, never>]>;
236
+ }>;
237
+ export declare const TextMatchesAny: S.Struct<{
238
+ regex_any: S.Tuple<[S.Union<[S.Literal<["text"]>, S.Literal<["reply"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.alt"]>, S.Literal<["embed"]>, S.Literal<["embed.external.uri"]>, S.Literal<["embed.external.title"]>, S.Literal<["embed.external.description"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.media.external.uri"]>, S.Literal<["embed.media.external.title"]>, S.Literal<["embed.media.external.description"]>, S.Literal<["embed.record.uri"]>, S.Literal<["langs[*"]>, S.Literal<["labels.values[*].val"]>, S.Literal<["facets[*].features[*].uri"]>]>, S.Array$<typeof S.String>, S.SchemaClass<boolean, boolean, never>, S.SchemaClass<boolean, boolean, never>]>;
239
+ }>;
240
+ export declare const TextMatchesNone: S.Struct<{
241
+ regex_none: S.Tuple<[S.Union<[S.Literal<["text"]>, S.Literal<["reply"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.alt"]>, S.Literal<["embed"]>, S.Literal<["embed.external.uri"]>, S.Literal<["embed.external.title"]>, S.Literal<["embed.external.description"]>, S.Literal<["embed.images[*].alt"]>, S.Literal<["embed.media.external.uri"]>, S.Literal<["embed.media.external.title"]>, S.Literal<["embed.media.external.description"]>, S.Literal<["embed.record.uri"]>, S.Literal<["langs[*"]>, S.Literal<["labels.values[*].val"]>, S.Literal<["facets[*].features[*].uri"]>]>, S.Array$<typeof S.String>, S.SchemaClass<boolean, boolean, never>, S.SchemaClass<boolean, boolean, never>]>;
186
242
  }>;
187
243
  export declare const ContentModerationBlock: S.Struct<{
188
244
  content_moderation: S.Tuple<[S.Literal<["OK"]>, S.Literal<[">="]>, S.SchemaClass<number, number, never>]>;
@@ -244,6 +300,14 @@ export declare const AlgorithmManifest: S.Struct<{
244
300
  regex_negation_matches: readonly [AttributeName, string, boolean];
245
301
  }>, Readonly<{
246
302
  regex_negation_matches: readonly [AttributeName, string, boolean];
303
+ }>, never>, S.suspend<Readonly<{
304
+ regex_any: readonly [AttributeName, readonly string[], boolean, boolean];
305
+ }>, Readonly<{
306
+ regex_any: readonly [AttributeName, readonly string[], boolean, boolean];
307
+ }>, never>, S.suspend<Readonly<{
308
+ regex_none: readonly [AttributeName, readonly string[], boolean, boolean];
309
+ }>, Readonly<{
310
+ regex_none: readonly [AttributeName, readonly string[], boolean, boolean];
247
311
  }>, never>, S.suspend<Readonly<{
248
312
  content_moderation: readonly ["OK", ">=", number];
249
313
  }>, Readonly<{
@@ -260,6 +324,10 @@ export declare const AlgorithmManifest: S.Struct<{
260
324
  social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
261
325
  }>, Readonly<{
262
326
  social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
327
+ }>, never>, S.suspend<Readonly<{
328
+ post_type: readonly ["in" | "not_in", PostType];
329
+ }>, Readonly<{
330
+ post_type: readonly ["in" | "not_in", PostType];
263
331
  }>, never>]>;
264
332
  sort_settings: S.optional<S.Struct<{
265
333
  time_window: typeof S.Number;
@@ -303,6 +371,10 @@ export declare const FullForm: S.Struct<{
303
371
  regex_matches: readonly [AttributeName, string, boolean];
304
372
  }> | Readonly<{
305
373
  regex_negation_matches: readonly [AttributeName, string, boolean];
374
+ }> | Readonly<{
375
+ regex_any: readonly [AttributeName, readonly string[], boolean, boolean];
376
+ }> | Readonly<{
377
+ regex_none: readonly [AttributeName, readonly string[], boolean, boolean];
306
378
  }> | Readonly<{
307
379
  content_moderation: readonly ["OK", ">=", number];
308
380
  }> | Readonly<{
@@ -311,6 +383,8 @@ export declare const FullForm: S.Struct<{
311
383
  embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
312
384
  }> | Readonly<{
313
385
  social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
386
+ }> | Readonly<{
387
+ post_type: readonly ["in" | "not_in", PostType];
314
388
  }>;
315
389
  readonly sort_settings?: {
316
390
  readonly time_window: number;
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateAlgorithmPayload.d.ts","sourceRoot":"","sources":["../../../src/schema/UpdateAlgorithmPayload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UpdateAlgorithmPayload.d.ts","sourceRoot":"","sources":["../../../src/schema/UpdateAlgorithmPayload.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ const GrazeApiGroup = HttpApiGroup.make("graze", { topLevel: true })
37
37
  .add(HttpApiEndpoint.post("unhidePost") `/app/unhide_post`
38
38
  .setPayload(UnhidePostBody)
39
39
  .addSuccess(Schema.Unknown));
40
- class GrazeApiDef extends HttpApi.make("grazeApi").add(GrazeApiGroup) {
40
+ class GrazeApiDef extends HttpApi.make("grazeApi").add(GrazeApiGroup).addError(Schema.Unknown) {
41
41
  }
42
42
  const grazeLive = Effect.gen(function* () {
43
43
  const baseUrl = yield* Config.url("GRAZE_API_URL");
@@ -1 +1 @@
1
- {"version":3,"file":"GrazeClient.js","sourceRoot":"","sources":["../../src/GrazeClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GrazeClient.js","sourceRoot":"","sources":["../../src/GrazeClient.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,12 @@ const regexMatches = (attribute, regex) => ({
29
29
  const regexNegationMatches = (attribute, regex) => ({
30
30
  regex_negation_matches: [attribute, regex, true],
31
31
  });
32
+ const textMatchesAny = ({ attribute, patterns, caseInsensitive = true, useRegex = false, }) => ({
33
+ regex_any: [attribute, patterns, caseInsensitive, useRegex],
34
+ });
35
+ const textMatchesNone = ({ attribute, patterns, caseInsensitive = true, useRegex = false, }) => ({
36
+ regex_none: [attribute, patterns, caseInsensitive, useRegex],
37
+ });
32
38
  const isListMember = (uri) => ({
33
39
  list_member: [uri, "in"],
34
40
  });
@@ -42,17 +48,30 @@ const posterIsFollowedBy = (identifier) => socialGraph(identifier, "in", "follow
42
48
  const posterFollows = (identifier) => socialGraph(identifier, "in", "follows");
43
49
  const posterIsNotFollowedBy = (identifier) => socialGraph(identifier, "not_in", "followers");
44
50
  const posterDoesNotFollow = (identifier) => socialGraph(identifier, "not_in", "follows");
45
- const hasVideo = {
46
- embed_type: ["==", "video"],
47
- };
51
+ const embedContains = (type) => ({
52
+ embed_type: ["==", type],
53
+ });
54
+ const embedDoesNotContain = (type) => ({
55
+ embed_type: ["!=", type],
56
+ });
57
+ const postTypeIs = (type) => ({
58
+ post_type: ["in", type],
59
+ });
60
+ const postTypeIsNot = (type) => ({
61
+ post_type: ["not_in", type],
62
+ });
63
+ const hasVideo = embedContains("video");
48
64
  const hasNoNSFWLabels = {
49
65
  entity_excludes: ["labels", ["porn", "sexual", "nudity"]],
50
66
  };
51
67
  const attributeCompare = (attr, op, value) => ({
52
68
  attribute_compare: [attr, op, value],
53
69
  });
54
- const isPost = attributeCompare("reply", "==", null);
55
- const isReply = attributeCompare("reply", "!=", null);
70
+ const isPost = postTypeIsNot("reply");
71
+ const isReply = postTypeIs("reply");
72
+ const isQuote = postTypeIs("quote");
73
+ const isNotReply = postTypeIsNot("reply");
74
+ const isNotQuote = postTypeIsNot("quote");
56
75
  const isContentOk = (threshold = 0.9) => ({
57
76
  content_moderation: ["OK", ">=", threshold],
58
77
  });
@@ -66,6 +85,8 @@ export const F = {
66
85
  or,
67
86
  regexMatches,
68
87
  regexNegationMatches,
88
+ textMatchesAny,
89
+ textMatchesNone,
69
90
  attributeCompare,
70
91
  isListMember,
71
92
  isNotListMember,
@@ -78,6 +99,11 @@ export const F = {
78
99
  hasNoNSFWLabels,
79
100
  isPost,
80
101
  isReply,
102
+ isQuote,
103
+ isNotReply,
104
+ isNotQuote,
81
105
  isContentOk,
106
+ embedContains,
107
+ embedDoesNotContain,
82
108
  };
83
109
  //# sourceMappingURL=builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/builder.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
1
  import { Schema as S } from "effect";
2
2
  // ------------------- Primitives ---------------------------------
3
3
  export const ListUri = S.String;
4
- export const AttributeName = S.Union(S.Literal("text"), S.Literal("reply"), S.Literal("embed.images[*].alt"), S.Literal("embed.alt"), S.Literal("embed"), S.Literal("embed.external.uri"), S.Literal("embed.external.title"), S.Literal("embed.external.description"));
4
+ export const AttributeName = S.Union(S.Literal("text"), S.Literal("reply"), S.Literal("embed.images[*].alt"), S.Literal("embed.alt"), S.Literal("embed"), S.Literal("embed.external.uri"), S.Literal("embed.external.title"), S.Literal("embed.external.description"), S.Literal("embed.images[*].alt"), S.Literal("embed.media.external.uri"), S.Literal("embed.media.external.title"), S.Literal("embed.media.external.description"), S.Literal("embed.record.uri"), S.Literal("langs[*"), S.Literal("labels.values[*].val"), S.Literal("facets[*].features[*].uri"));
5
5
  export const AttributeComparison = S.Literal("==", "!=", ">", "<", ">=", "<=");
6
6
  export const AttributeValue = S.Null;
7
- export const Filter = S.Union(S.suspend(() => And), S.suspend(() => Or), S.suspend(() => ListMemberFilter), S.suspend(() => AttributeCompare), S.suspend(() => RegexMatches), S.suspend(() => RegexNegationMatches), S.suspend(() => ContentModerationBlock), S.suspend(() => EntityExcludesLabels), S.suspend(() => EmbedType), S.suspend(() => SocialGraph));
7
+ export const PostType = S.Literal("reply", "quote");
8
+ export const Filter = S.Union(S.suspend(() => And), S.suspend(() => Or), S.suspend(() => ListMemberFilter), S.suspend(() => AttributeCompare), S.suspend(() => RegexMatches), S.suspend(() => RegexNegationMatches), S.suspend(() => TextMatchesAny), S.suspend(() => TextMatchesNone), S.suspend(() => ContentModerationBlock), S.suspend(() => EntityExcludesLabels), S.suspend(() => EmbedType), S.suspend(() => SocialGraph), S.suspend(() => PostTypeFilter));
8
9
  export const Or = S.Struct({ or: S.Array(Filter) });
9
10
  export const And = S.Struct({ and: S.Array(Filter) });
11
+ export const PostTypeFilter = S.Struct({
12
+ post_type: S.Tuple(S.Literal("in", "not_in"), PostType),
13
+ });
10
14
  export const ListMemberFilter = S.Struct({
11
15
  list_member: S.Tuple(ListUri, S.Literal("in", "not_in")),
12
16
  });
@@ -26,6 +30,22 @@ export const RegexMatches = S.Struct({
26
30
  export const RegexNegationMatches = S.Struct({
27
31
  regex_negation_matches: RegexMatchBase,
28
32
  });
33
+ const TextMatchBase = S.Tuple(AttributeName, S.Array(S.String).annotations({
34
+ title: "Text Patterns",
35
+ description: "List of possible text patterns to match against.",
36
+ }), S.Boolean.annotations({
37
+ title: "Case Insensitive?",
38
+ description: "True if the matching should be case insensitive.",
39
+ }), S.Boolean.annotations({
40
+ title: "Use Regex?",
41
+ description: "True if the values should be treated as regex patterns, false for literal strings.",
42
+ }));
43
+ export const TextMatchesAny = S.Struct({
44
+ regex_any: TextMatchBase,
45
+ });
46
+ export const TextMatchesNone = S.Struct({
47
+ regex_none: TextMatchBase,
48
+ });
29
49
  export const ContentModerationBlock = S.Struct({
30
50
  content_moderation: S.Tuple(S.Literal("OK"), S.Literal(">="), S.Number.annotations({
31
51
  title: "Threshold",
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateAlgorithmPayload.js","sourceRoot":"","sources":["../../../src/schema/UpdateAlgorithmPayload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UpdateAlgorithmPayload.js","sourceRoot":"","sources":["../../../src/schema/UpdateAlgorithmPayload.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graze-client",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "A Typescript Graze API client.",
@@ -24,7 +24,7 @@ function isStringOrBlob(val: unknown): val is string | Blob {
24
24
  }
25
25
 
26
26
  const encodeForm = (obj: Form.FullForm) =>
27
- Effect.gen(function* () {
27
+ Effect.gen(function*() {
28
28
  const encoded = yield* Schema.encode(Form.FullForm)(obj);
29
29
  const formData = new FormData();
30
30
  for (const key in encoded) {
@@ -77,9 +77,9 @@ const GrazeApiGroup = HttpApiGroup.make("graze", { topLevel: true })
77
77
  .addSuccess(Schema.Unknown)
78
78
  );
79
79
 
80
- class GrazeApiDef extends HttpApi.make("grazeApi").add(GrazeApiGroup) {}
80
+ class GrazeApiDef extends HttpApi.make("grazeApi").add(GrazeApiGroup).addError(Schema.Unknown) { }
81
81
 
82
- const grazeLive = Effect.gen(function* () {
82
+ const grazeLive = Effect.gen(function*() {
83
83
  const baseUrl = yield* Config.url("GRAZE_API_URL");
84
84
  const cookie = yield* Config.redacted("GRAZE_COOKIE");
85
85
 
@@ -97,7 +97,7 @@ const grazeLive = Effect.gen(function* () {
97
97
  });
98
98
 
99
99
  const updateAlgorithm = (data: Form.FullForm) =>
100
- Effect.gen(function* () {
100
+ Effect.gen(function*() {
101
101
  const formData = yield* encodeForm(data);
102
102
  return yield* client.updateAlgorithm({ payload: formData });
103
103
  });
@@ -124,4 +124,4 @@ export class GrazeError extends Data.TaggedError("GrazeError")<{
124
124
  status: number;
125
125
  statusText: string;
126
126
  json: unknown;
127
- }> {}
127
+ }> { }
package/src/builder.ts CHANGED
@@ -3,11 +3,15 @@ import {
3
3
  AttributeName,
4
4
  AttributeValue,
5
5
  ContentModerationBlock,
6
+ EmbedType,
6
7
  Filter,
7
8
  ListMemberFilter,
9
+ PostTypeFilter,
8
10
  RegexMatches,
9
11
  RegexNegationMatches,
10
12
  SocialGraph,
13
+ TextMatchesAny,
14
+ TextMatchesNone,
11
15
  } from "./schema/index.js";
12
16
 
13
17
  const and = (...filters: Filter[]) => {
@@ -48,6 +52,34 @@ const regexNegationMatches = (
48
52
  regex_negation_matches: [attribute, regex, true],
49
53
  });
50
54
 
55
+ const textMatchesAny = ({
56
+ attribute,
57
+ patterns,
58
+ caseInsensitive = true,
59
+ useRegex = false,
60
+ }: {
61
+ attribute: AttributeName;
62
+ patterns: string[];
63
+ caseInsensitive?: boolean;
64
+ useRegex?: boolean;
65
+ }): TextMatchesAny => ({
66
+ regex_any: [attribute, patterns, caseInsensitive, useRegex],
67
+ });
68
+
69
+ const textMatchesNone = ({
70
+ attribute,
71
+ patterns,
72
+ caseInsensitive = true,
73
+ useRegex = false,
74
+ }: {
75
+ attribute: AttributeName;
76
+ patterns: string[];
77
+ caseInsensitive?: boolean;
78
+ useRegex?: boolean;
79
+ }): TextMatchesNone => ({
80
+ regex_none: [attribute, patterns, caseInsensitive, useRegex],
81
+ });
82
+
51
83
  const isListMember = (uri: string): ListMemberFilter => ({
52
84
  list_member: [uri, "in"],
53
85
  });
@@ -70,9 +102,21 @@ const posterIsNotFollowedBy = (identifier: string) =>
70
102
  const posterDoesNotFollow = (identifier: string) =>
71
103
  socialGraph(identifier, "not_in", "follows");
72
104
 
73
- const hasVideo: Filter = {
74
- embed_type: ["==", "video"],
75
- };
105
+ const embedContains = (type: EmbedType["embed_type"][1]): Filter => ({
106
+ embed_type: ["==", type],
107
+ });
108
+ const embedDoesNotContain = (type: EmbedType["embed_type"][1]): Filter => ({
109
+ embed_type: ["!=", type],
110
+ });
111
+
112
+ const postTypeIs = (type: PostTypeFilter["post_type"][1]): Filter => ({
113
+ post_type: ["in", type],
114
+ });
115
+ const postTypeIsNot = (type: PostTypeFilter["post_type"][1]): Filter => ({
116
+ post_type: ["not_in", type],
117
+ });
118
+
119
+ const hasVideo: Filter = embedContains("video");
76
120
 
77
121
  const hasNoNSFWLabels: Filter = {
78
122
  entity_excludes: ["labels", ["porn", "sexual", "nudity"]],
@@ -85,8 +129,11 @@ const attributeCompare = (
85
129
  attribute_compare: [attr, op, value],
86
130
  });
87
131
 
88
- const isPost: Filter = attributeCompare("reply", "==", null);
89
- const isReply: Filter = attributeCompare("reply", "!=", null);
132
+ const isPost: Filter = postTypeIsNot("reply");
133
+ const isReply: Filter = postTypeIs("reply");
134
+ const isQuote: Filter = postTypeIs("quote");
135
+ const isNotReply: Filter = postTypeIsNot("reply");
136
+ const isNotQuote: Filter = postTypeIsNot("quote");
90
137
 
91
138
  const isContentOk = (threshold: number = 0.9): ContentModerationBlock => ({
92
139
  content_moderation: ["OK", ">=", threshold],
@@ -103,6 +150,8 @@ export const F = {
103
150
  or,
104
151
  regexMatches,
105
152
  regexNegationMatches,
153
+ textMatchesAny,
154
+ textMatchesNone,
106
155
  attributeCompare,
107
156
  isListMember,
108
157
  isNotListMember,
@@ -115,5 +164,10 @@ export const F = {
115
164
  hasNoNSFWLabels,
116
165
  isPost,
117
166
  isReply,
167
+ isQuote,
168
+ isNotReply,
169
+ isNotQuote,
118
170
  isContentOk,
171
+ embedContains,
172
+ embedDoesNotContain,
119
173
  };
@@ -13,13 +13,23 @@ export const AttributeName = S.Union(
13
13
  S.Literal("embed"),
14
14
  S.Literal("embed.external.uri"),
15
15
  S.Literal("embed.external.title"),
16
- S.Literal("embed.external.description")
16
+ S.Literal("embed.external.description"),
17
+ S.Literal("embed.images[*].alt"),
18
+ S.Literal("embed.media.external.uri"),
19
+ S.Literal("embed.media.external.title"),
20
+ S.Literal("embed.media.external.description"),
21
+ S.Literal("embed.record.uri"),
22
+ S.Literal("langs[*"),
23
+ S.Literal("labels.values[*].val"),
24
+ S.Literal("facets[*].features[*].uri")
17
25
  );
18
26
  export type AttributeName = typeof AttributeName.Type;
19
27
  export const AttributeComparison = S.Literal("==", "!=", ">", "<", ">=", "<=");
20
28
  export type AttributeComparison = typeof AttributeComparison.Type;
21
29
  export const AttributeValue = S.Null;
22
30
  export type AttributeValue = typeof AttributeValue.Type;
31
+ export const PostType = S.Literal("reply", "quote");
32
+ export type PostType = typeof PostType.Type;
23
33
 
24
34
  // ------------------- Filters ------------------------------------
25
35
 
@@ -30,13 +40,19 @@ export type Filter =
30
40
  | AttributeCompare
31
41
  | RegexMatches
32
42
  | RegexNegationMatches
43
+ | TextMatchesAny
44
+ | TextMatchesNone
33
45
  | ContentModerationBlock
34
46
  | EntityExcludesLabels
35
47
  | EmbedType
36
- | SocialGraph;
48
+ | SocialGraph
49
+ | PostTypeFilter;
37
50
 
38
51
  export type And = Readonly<{ and: ReadonlyArray<Filter> }>;
39
52
  export type Or = Readonly<{ or: ReadonlyArray<Filter> }>;
53
+ export type PostTypeFilter = Readonly<{
54
+ post_type: readonly ["in" | "not_in", PostType];
55
+ }>;
40
56
  export type ListMemberFilter = Readonly<{
41
57
  list_member: readonly [ListUri, "in" | "not_in"];
42
58
  }>;
@@ -53,6 +69,12 @@ export type RegexMatches = Readonly<{
53
69
  export type RegexNegationMatches = Readonly<{
54
70
  regex_negation_matches: readonly [AttributeName, string, boolean];
55
71
  }>;
72
+ export type TextMatchesAny = Readonly<{
73
+ regex_any: readonly [AttributeName, readonly string[], boolean, boolean];
74
+ }>;
75
+ export type TextMatchesNone = Readonly<{
76
+ regex_none: readonly [AttributeName, readonly string[], boolean, boolean];
77
+ }>;
56
78
  export type ContentModerationBlock = Readonly<{
57
79
  content_moderation: readonly ["OK", ">=", number];
58
80
  }>;
@@ -76,14 +98,20 @@ export const Filter = S.Union(
76
98
  S.suspend((): S.Schema<AttributeCompare> => AttributeCompare),
77
99
  S.suspend((): S.Schema<RegexMatches> => RegexMatches),
78
100
  S.suspend((): S.Schema<RegexNegationMatches> => RegexNegationMatches),
101
+ S.suspend((): S.Schema<TextMatchesAny> => TextMatchesAny),
102
+ S.suspend((): S.Schema<TextMatchesNone> => TextMatchesNone),
79
103
  S.suspend((): S.Schema<ContentModerationBlock> => ContentModerationBlock),
80
104
  S.suspend((): S.Schema<EntityExcludesLabels> => EntityExcludesLabels),
81
105
  S.suspend((): S.Schema<EmbedType> => EmbedType),
82
- S.suspend((): S.Schema<SocialGraph> => SocialGraph)
106
+ S.suspend((): S.Schema<SocialGraph> => SocialGraph),
107
+ S.suspend((): S.Schema<PostTypeFilter> => PostTypeFilter)
83
108
  );
84
109
 
85
110
  export const Or = S.Struct({ or: S.Array(Filter) });
86
111
  export const And = S.Struct({ and: S.Array(Filter) });
112
+ export const PostTypeFilter = S.Struct({
113
+ post_type: S.Tuple(S.Literal("in", "not_in"), PostType),
114
+ });
87
115
  export const ListMemberFilter = S.Struct({
88
116
  list_member: S.Tuple(ListUri, S.Literal("in", "not_in")),
89
117
  });
@@ -111,6 +139,28 @@ export const RegexMatches = S.Struct({
111
139
  export const RegexNegationMatches = S.Struct({
112
140
  regex_negation_matches: RegexMatchBase,
113
141
  });
142
+ const TextMatchBase = S.Tuple(
143
+ AttributeName,
144
+ S.Array(S.String).annotations({
145
+ title: "Text Patterns",
146
+ description: "List of possible text patterns to match against.",
147
+ }),
148
+ S.Boolean.annotations({
149
+ title: "Case Insensitive?",
150
+ description: "True if the matching should be case insensitive.",
151
+ }),
152
+ S.Boolean.annotations({
153
+ title: "Use Regex?",
154
+ description:
155
+ "True if the values should be treated as regex patterns, false for literal strings.",
156
+ })
157
+ );
158
+ export const TextMatchesAny = S.Struct({
159
+ regex_any: TextMatchBase,
160
+ });
161
+ export const TextMatchesNone = S.Struct({
162
+ regex_none: TextMatchBase,
163
+ });
114
164
  export const ContentModerationBlock = S.Struct({
115
165
  content_moderation: S.Tuple(
116
166
  S.Literal("OK"),