graze-client 0.2.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/GrazeClient.js +71 -0
- package/build/cjs/GrazeClient.js.map +1 -0
- package/build/cjs/builder.js +91 -0
- package/build/cjs/builder.js.map +1 -0
- package/build/cjs/index.js +48 -0
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/schema/UpdateAlgorithmPayload.js +117 -0
- package/build/cjs/schema/UpdateAlgorithmPayload.js.map +1 -0
- package/build/cjs/schema/index.js +28 -0
- package/build/cjs/schema/index.js.map +1 -0
- package/build/cjs/schema/shared.js +69 -0
- package/build/cjs/schema/shared.js.map +1 -0
- package/build/dts/GrazeClient.d.ts +22 -22
- package/build/dts/builder.d.ts +42 -0
- package/build/dts/builder.d.ts.map +1 -0
- package/build/dts/schema/UpdateAlgorithmPayload.d.ts +27 -3
- package/build/dts/schema/UpdateAlgorithmPayload.d.ts.map +1 -1
- package/build/esm/GrazeClient.js +52 -58
- package/build/esm/GrazeClient.js.map +1 -1
- package/build/esm/builder.js +85 -0
- package/build/esm/builder.js.map +1 -0
- package/build/esm/index.js +35 -35
- package/build/esm/index.js.map +1 -1
- package/build/esm/schema/UpdateAlgorithmPayload.js +78 -68
- package/build/esm/schema/UpdateAlgorithmPayload.js.map +1 -1
- package/build/esm/schema/index.js.map +1 -1
- package/build/esm/schema/shared.js +51 -51
- package/build/esm/schema/shared.js.map +1 -1
- package/package.json +6 -14
- package/src/builder.ts +119 -0
- package/src/schema/UpdateAlgorithmPayload.ts +14 -2
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { AttributeComparison, AttributeName, AttributeValue, ContentModerationBlock, Filter, ListMemberFilter, RegexMatches, RegexNegationMatches, SocialGraph } from "./schema/index.js";
|
|
2
|
+
export declare const Algo: {
|
|
3
|
+
filter: (...filters: Filter[]) => {
|
|
4
|
+
filter: Filter;
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
export declare const F: {
|
|
8
|
+
and: (...filters: Filter[]) => {
|
|
9
|
+
and: Filter[];
|
|
10
|
+
};
|
|
11
|
+
or: (...filters: Filter[]) => {
|
|
12
|
+
or: Filter[];
|
|
13
|
+
};
|
|
14
|
+
regexMatches: (attribute: RegexMatches["regex_matches"][0], regex: string) => RegexMatches;
|
|
15
|
+
regexNegationMatches: (attribute: RegexNegationMatches["regex_negation_matches"][0], regex: string) => RegexNegationMatches;
|
|
16
|
+
attributeCompare: (attr: AttributeName, op: AttributeComparison, value: AttributeValue) => Filter;
|
|
17
|
+
isListMember: (uri: string) => ListMemberFilter;
|
|
18
|
+
isNotListMember: (uri: string) => ListMemberFilter;
|
|
19
|
+
socialGraph: (identifier: string, op: SocialGraph["social_graph"][1], relation: SocialGraph["social_graph"][2]) => SocialGraph;
|
|
20
|
+
posterIsFollowedBy: (identifier: string) => Readonly<{
|
|
21
|
+
social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
|
|
22
|
+
}>;
|
|
23
|
+
posterFollows: (identifier: string) => Readonly<{
|
|
24
|
+
social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
|
|
25
|
+
}>;
|
|
26
|
+
posterIsNotFollowedBy: (identifier: string) => Readonly<{
|
|
27
|
+
social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
|
|
28
|
+
}>;
|
|
29
|
+
posterDoesNotFollow: (identifier: string) => Readonly<{
|
|
30
|
+
social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
|
|
31
|
+
}>;
|
|
32
|
+
hasVideo: Readonly<{
|
|
33
|
+
embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
|
|
34
|
+
}>;
|
|
35
|
+
hasNoNSFWLabels: Readonly<{
|
|
36
|
+
entity_excludes: readonly ["labels", readonly ["porn", "sexual", "nudity"]];
|
|
37
|
+
}>;
|
|
38
|
+
isPost: Filter;
|
|
39
|
+
isReply: Filter;
|
|
40
|
+
isContentOk: (threshold?: number) => ContentModerationBlock;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -3,11 +3,11 @@ export declare const ListUri: typeof S.String;
|
|
|
3
3
|
export type ListUri = typeof ListUri.Type;
|
|
4
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"]>]>;
|
|
5
5
|
export type AttributeName = typeof AttributeName.Type;
|
|
6
|
-
export declare const AttributeComparison: S.Literal<["=="]>;
|
|
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;
|
|
10
|
+
export type Filter = And | Or | ListMemberFilter | AttributeCompare | RegexMatches | RegexNegationMatches | ContentModerationBlock | EntityExcludesLabels | EmbedType | SocialGraph;
|
|
11
11
|
export type And = Readonly<{
|
|
12
12
|
and: ReadonlyArray<Filter>;
|
|
13
13
|
}>;
|
|
@@ -42,6 +42,9 @@ export type EmbedType = Readonly<{
|
|
|
42
42
|
"video" | "image" | "link" | "post" | "gif" | "image_group"
|
|
43
43
|
];
|
|
44
44
|
}>;
|
|
45
|
+
export type SocialGraph = Readonly<{
|
|
46
|
+
social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
|
|
47
|
+
}>;
|
|
45
48
|
export declare const Filter: S.Union<[S.suspend<Readonly<{
|
|
46
49
|
and: ReadonlyArray<Filter>;
|
|
47
50
|
}>, Readonly<{
|
|
@@ -78,6 +81,10 @@ export declare const Filter: S.Union<[S.suspend<Readonly<{
|
|
|
78
81
|
embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
|
|
79
82
|
}>, Readonly<{
|
|
80
83
|
embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
|
|
84
|
+
}>, never>, S.suspend<Readonly<{
|
|
85
|
+
social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
|
|
86
|
+
}>, Readonly<{
|
|
87
|
+
social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
|
|
81
88
|
}>, never>]>;
|
|
82
89
|
export declare const Or: S.Struct<{
|
|
83
90
|
or: S.Array$<S.Union<[S.suspend<Readonly<{
|
|
@@ -116,6 +123,10 @@ export declare const Or: S.Struct<{
|
|
|
116
123
|
embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
|
|
117
124
|
}>, Readonly<{
|
|
118
125
|
embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
|
|
126
|
+
}>, never>, S.suspend<Readonly<{
|
|
127
|
+
social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
|
|
128
|
+
}>, Readonly<{
|
|
129
|
+
social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
|
|
119
130
|
}>, never>]>>;
|
|
120
131
|
}>;
|
|
121
132
|
export declare const And: S.Struct<{
|
|
@@ -155,13 +166,17 @@ export declare const And: S.Struct<{
|
|
|
155
166
|
embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
|
|
156
167
|
}>, Readonly<{
|
|
157
168
|
embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
|
|
169
|
+
}>, never>, S.suspend<Readonly<{
|
|
170
|
+
social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
|
|
171
|
+
}>, Readonly<{
|
|
172
|
+
social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
|
|
158
173
|
}>, never>]>>;
|
|
159
174
|
}>;
|
|
160
175
|
export declare const ListMemberFilter: S.Struct<{
|
|
161
176
|
list_member: S.Tuple<[typeof S.String, S.Literal<["in", "not_in"]>]>;
|
|
162
177
|
}>;
|
|
163
178
|
export declare const AttributeCompare: S.Struct<{
|
|
164
|
-
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]>;
|
|
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]>;
|
|
165
180
|
}>;
|
|
166
181
|
export declare const RegexMatches: S.Struct<{
|
|
167
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>]>;
|
|
@@ -178,6 +193,9 @@ export declare const EntityExcludesLabels: S.Struct<{
|
|
|
178
193
|
export declare const EmbedType: S.Struct<{
|
|
179
194
|
embed_type: S.Tuple<[S.Literal<["==", "!="]>, S.Literal<["video", "image", "link", "post", "gif", "image_group"]>]>;
|
|
180
195
|
}>;
|
|
196
|
+
export declare const SocialGraph: S.Struct<{
|
|
197
|
+
social_graph: S.Tuple<[typeof S.String, S.Literal<["in", "not_in"]>, S.Literal<["follows", "followers"]>]>;
|
|
198
|
+
}>;
|
|
181
199
|
export declare const SortSettings: S.Struct<{
|
|
182
200
|
time_window: typeof S.Number;
|
|
183
201
|
decay_penalty: typeof S.Number;
|
|
@@ -238,6 +256,10 @@ export declare const AlgorithmManifest: S.Struct<{
|
|
|
238
256
|
embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
|
|
239
257
|
}>, Readonly<{
|
|
240
258
|
embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
|
|
259
|
+
}>, never>, S.suspend<Readonly<{
|
|
260
|
+
social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
|
|
261
|
+
}>, Readonly<{
|
|
262
|
+
social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
|
|
241
263
|
}>, never>]>;
|
|
242
264
|
sort_settings: S.optional<S.Struct<{
|
|
243
265
|
time_window: typeof S.Number;
|
|
@@ -287,6 +309,8 @@ export declare const FullForm: S.Struct<{
|
|
|
287
309
|
entity_excludes: readonly ["labels", readonly ["porn", "sexual", "nudity"]];
|
|
288
310
|
}> | Readonly<{
|
|
289
311
|
embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
|
|
312
|
+
}> | Readonly<{
|
|
313
|
+
social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
|
|
290
314
|
}>;
|
|
291
315
|
readonly sort_settings?: {
|
|
292
316
|
readonly time_window: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateAlgorithmPayload.d.ts","sourceRoot":"","sources":["../../../src/schema/UpdateAlgorithmPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;AAIrC,eAAO,MAAM,OAAO,iBAAW,CAAC;AAChC,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC;AAE1C,eAAO,MAAM,aAAa,6PASzB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AACtD,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"UpdateAlgorithmPayload.d.ts","sourceRoot":"","sources":["../../../src/schema/UpdateAlgorithmPayload.ts"],"names":[],"mappings":"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"}
|
package/build/esm/GrazeClient.js
CHANGED
|
@@ -1,67 +1,61 @@
|
|
|
1
|
-
import { AlgoUpdateResponse, GetAlgoResponse, GetAlgorithmsResponse, HidePostBody
|
|
2
|
-
import { FetchHttpClient, HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup, HttpApiSchema, HttpClient, HttpClientRequest
|
|
1
|
+
import { AlgoUpdateResponse, GetAlgoResponse, GetAlgorithmsResponse, HidePostBody } from "./schema/shared.js";
|
|
2
|
+
import { FetchHttpClient, HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup, HttpApiSchema, HttpClient, HttpClientRequest } from "@effect/platform";
|
|
3
3
|
import { Config, Data, Effect, Redacted, Schema } from "effect";
|
|
4
4
|
import * as Form from "./schema/UpdateAlgorithmPayload.js";
|
|
5
5
|
function isStringOrBlob(val) {
|
|
6
|
-
|
|
6
|
+
return typeof val === "string" || val instanceof Blob;
|
|
7
7
|
}
|
|
8
|
-
const encodeForm =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
8
|
+
const encodeForm = obj => Effect.gen(function* () {
|
|
9
|
+
const encoded = yield* Schema.encode(Form.FullForm)(obj);
|
|
10
|
+
const formData = new FormData();
|
|
11
|
+
for (const key in encoded) {
|
|
12
|
+
if (encoded.hasOwnProperty(key)) {
|
|
13
|
+
const val = encoded[key];
|
|
14
|
+
if (isStringOrBlob(val)) {
|
|
15
|
+
formData.append(key, val);
|
|
16
|
+
}
|
|
18
17
|
}
|
|
19
|
-
|
|
18
|
+
}
|
|
19
|
+
return formData;
|
|
20
20
|
});
|
|
21
|
-
const UserIdParam = HttpApiSchema.param("userId", Schema.NumberFromString);
|
|
22
|
-
const FeedIdParam = HttpApiSchema.param("feedId", Schema.NumberFromString);
|
|
23
|
-
const GrazeApiGroup = HttpApiGroup.make("graze", {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
.
|
|
34
|
-
.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const client = yield* HttpApiClient.make(GrazeApiDef, {
|
|
43
|
-
baseUrl: baseUrl.toString(),
|
|
44
|
-
transformClient: (client) => client.pipe(HttpClient.filterStatusOk, HttpClient.mapRequest(HttpClientRequest.setHeaders({
|
|
45
|
-
cookie: Redacted.value(cookie),
|
|
46
|
-
}))),
|
|
47
|
-
});
|
|
48
|
-
const updateAlgorithm = (data) => Effect.gen(function* () {
|
|
49
|
-
const formData = yield* encodeForm(data);
|
|
50
|
-
return yield* client.updateAlgorithm({ payload: formData });
|
|
21
|
+
const UserIdParam = /*#__PURE__*/HttpApiSchema.param("userId", Schema.NumberFromString);
|
|
22
|
+
const FeedIdParam = /*#__PURE__*/HttpApiSchema.param("feedId", Schema.NumberFromString);
|
|
23
|
+
const GrazeApiGroup = /*#__PURE__*/HttpApiGroup.make("graze", {
|
|
24
|
+
topLevel: true
|
|
25
|
+
}).add(HttpApiEndpoint.get("getFeeds")`/app/my_feeds`.addSuccess(GetAlgorithmsResponse).setPayload(Schema.Struct({
|
|
26
|
+
user_id: UserIdParam
|
|
27
|
+
}))).add(HttpApiEndpoint.get("getFeed")`/app/my_feeds/${FeedIdParam}`.addSuccess(GetAlgoResponse)).add(HttpApiEndpoint.post("updateAlgorithm")`/app/edit_algo_image`.setPayload(HttpApiSchema.Multipart(Form.FullForm)).addSuccess(AlgoUpdateResponse)).add(HttpApiEndpoint.get("publishAlgorithm")`/app/publish_algo/${FeedIdParam}`.addSuccess(Schema.Unknown)).add(/*#__PURE__*/HttpApiEndpoint.post("hidePost")`/app/hide_post`.setPayload(HidePostBody).addSuccess(Schema.Unknown));
|
|
28
|
+
class GrazeApiDef extends /*#__PURE__*/HttpApi.make("grazeApi").add(GrazeApiGroup) {}
|
|
29
|
+
const grazeLive = /*#__PURE__*/Effect.gen(function* () {
|
|
30
|
+
const baseUrl = yield* Config.url("GRAZE_API_URL");
|
|
31
|
+
const cookie = yield* Config.redacted("GRAZE_COOKIE");
|
|
32
|
+
const client = yield* HttpApiClient.make(GrazeApiDef, {
|
|
33
|
+
baseUrl: baseUrl.toString(),
|
|
34
|
+
transformClient: client => client.pipe(HttpClient.filterStatusOk, HttpClient.mapRequest(HttpClientRequest.setHeaders({
|
|
35
|
+
cookie: Redacted.value(cookie)
|
|
36
|
+
})))
|
|
37
|
+
});
|
|
38
|
+
const updateAlgorithm = data => Effect.gen(function* () {
|
|
39
|
+
const formData = yield* encodeForm(data);
|
|
40
|
+
return yield* client.updateAlgorithm({
|
|
41
|
+
payload: formData
|
|
51
42
|
});
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
43
|
+
});
|
|
44
|
+
const userId = yield* Config.integer("GRAZE_USER_ID");
|
|
45
|
+
const getFeeds = () => client.getFeeds({
|
|
46
|
+
payload: {
|
|
47
|
+
user_id: userId
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
return {
|
|
51
|
+
...client,
|
|
52
|
+
updateAlgorithm,
|
|
53
|
+
getFeeds
|
|
54
|
+
};
|
|
59
55
|
});
|
|
60
|
-
export class GrazeClient extends Effect.Service()("GrazeClient", {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}) {
|
|
64
|
-
}
|
|
65
|
-
export class GrazeError extends Data.TaggedError("GrazeError") {
|
|
66
|
-
}
|
|
56
|
+
export class GrazeClient extends /*#__PURE__*/Effect.Service()("GrazeClient", {
|
|
57
|
+
effect: grazeLive,
|
|
58
|
+
dependencies: [FetchHttpClient.layer]
|
|
59
|
+
}) {}
|
|
60
|
+
export class GrazeError extends /*#__PURE__*/Data.TaggedError("GrazeError") {}
|
|
67
61
|
//# sourceMappingURL=GrazeClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GrazeClient.js","
|
|
1
|
+
{"version":3,"file":"GrazeClient.js","names":["AlgoUpdateResponse","GetAlgoResponse","GetAlgorithmsResponse","HidePostBody","FetchHttpClient","HttpApi","HttpApiClient","HttpApiEndpoint","HttpApiGroup","HttpApiSchema","HttpClient","HttpClientRequest","Config","Data","Effect","Redacted","Schema","Form","isStringOrBlob","val","Blob","encodeForm","obj","gen","encoded","encode","FullForm","formData","FormData","key","hasOwnProperty","append","UserIdParam","param","NumberFromString","FeedIdParam","GrazeApiGroup","make","topLevel","add","get","addSuccess","setPayload","Struct","user_id","post","Multipart","Unknown","GrazeApiDef","grazeLive","baseUrl","url","cookie","redacted","client","toString","transformClient","pipe","filterStatusOk","mapRequest","setHeaders","value","updateAlgorithm","data","payload","userId","integer","getFeeds","GrazeClient","Service","effect","dependencies","layer","GrazeError","TaggedError"],"sources":["../../src/GrazeClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
const and = (...filters) => {
|
|
2
|
+
const flatFilters = [];
|
|
3
|
+
filters.forEach(f => {
|
|
4
|
+
if ("and" in f) {
|
|
5
|
+
// Automatically flatten nested ands.
|
|
6
|
+
flatFilters.push(...f.and);
|
|
7
|
+
} else {
|
|
8
|
+
flatFilters.push(f);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
return {
|
|
12
|
+
and: flatFilters
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
const or = (...filters) => {
|
|
16
|
+
const flatFilters = [];
|
|
17
|
+
filters.forEach(f => {
|
|
18
|
+
if ("or" in f) {
|
|
19
|
+
flatFilters.push(...f.or);
|
|
20
|
+
} else {
|
|
21
|
+
flatFilters.push(f);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
return {
|
|
25
|
+
or: flatFilters
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
const regexMatches = (attribute, regex) => ({
|
|
29
|
+
regex_matches: [attribute, regex, true]
|
|
30
|
+
});
|
|
31
|
+
const regexNegationMatches = (attribute, regex) => ({
|
|
32
|
+
regex_negation_matches: [attribute, regex, true]
|
|
33
|
+
});
|
|
34
|
+
const isListMember = uri => ({
|
|
35
|
+
list_member: [uri, "in"]
|
|
36
|
+
});
|
|
37
|
+
const isNotListMember = uri => ({
|
|
38
|
+
list_member: [uri, "not_in"]
|
|
39
|
+
});
|
|
40
|
+
const socialGraph = (identifier, op, relation) => ({
|
|
41
|
+
social_graph: [identifier, op, relation]
|
|
42
|
+
});
|
|
43
|
+
const posterIsFollowedBy = identifier => socialGraph(identifier, "in", "followers");
|
|
44
|
+
const posterFollows = identifier => socialGraph(identifier, "in", "follows");
|
|
45
|
+
const posterIsNotFollowedBy = identifier => socialGraph(identifier, "not_in", "followers");
|
|
46
|
+
const posterDoesNotFollow = identifier => socialGraph(identifier, "not_in", "follows");
|
|
47
|
+
const hasVideo = {
|
|
48
|
+
embed_type: ["==", "video"]
|
|
49
|
+
};
|
|
50
|
+
const hasNoNSFWLabels = {
|
|
51
|
+
entity_excludes: ["labels", ["porn", "sexual", "nudity"]]
|
|
52
|
+
};
|
|
53
|
+
const attributeCompare = (attr, op, value) => ({
|
|
54
|
+
attribute_compare: [attr, op, value]
|
|
55
|
+
});
|
|
56
|
+
const isPost = /*#__PURE__*/attributeCompare("reply", "==", null);
|
|
57
|
+
const isReply = /*#__PURE__*/attributeCompare("reply", "!=", null);
|
|
58
|
+
const isContentOk = (threshold = 0.9) => ({
|
|
59
|
+
content_moderation: ["OK", ">=", threshold]
|
|
60
|
+
});
|
|
61
|
+
export const Algo = {
|
|
62
|
+
filter: (...filters) => ({
|
|
63
|
+
filter: and(...filters)
|
|
64
|
+
})
|
|
65
|
+
};
|
|
66
|
+
export const F = {
|
|
67
|
+
and,
|
|
68
|
+
or,
|
|
69
|
+
regexMatches,
|
|
70
|
+
regexNegationMatches,
|
|
71
|
+
attributeCompare,
|
|
72
|
+
isListMember,
|
|
73
|
+
isNotListMember,
|
|
74
|
+
socialGraph,
|
|
75
|
+
posterIsFollowedBy,
|
|
76
|
+
posterFollows,
|
|
77
|
+
posterIsNotFollowedBy,
|
|
78
|
+
posterDoesNotFollow,
|
|
79
|
+
hasVideo,
|
|
80
|
+
hasNoNSFWLabels,
|
|
81
|
+
isPost,
|
|
82
|
+
isReply,
|
|
83
|
+
isContentOk
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.js","names":["and","filters","flatFilters","forEach","f","push","or","regexMatches","attribute","regex","regex_matches","regexNegationMatches","regex_negation_matches","isListMember","uri","list_member","isNotListMember","socialGraph","identifier","op","relation","social_graph","posterIsFollowedBy","posterFollows","posterIsNotFollowedBy","posterDoesNotFollow","hasVideo","embed_type","hasNoNSFWLabels","entity_excludes","attributeCompare","attr","value","attribute_compare","isPost","isReply","isContentOk","threshold","content_moderation","Algo","filter","F"],"sources":["../../src/builder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/build/esm/index.js
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
import { ConfigProvider, Effect, Layer } from "effect";
|
|
2
2
|
import { GrazeClient } from "src/GrazeClient.js";
|
|
3
3
|
export class GrazeService {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
4
|
+
getFeed;
|
|
5
|
+
getFeeds;
|
|
6
|
+
hidePost;
|
|
7
|
+
updateAlgorithm;
|
|
8
|
+
publishAlgorithm;
|
|
9
|
+
constructor({
|
|
10
|
+
apiUrl,
|
|
11
|
+
cookie,
|
|
12
|
+
userId
|
|
13
|
+
}) {
|
|
14
|
+
const envMap = new Map([["GRAZE_API_URL", apiUrl], ["GRAZE_COOKIE", cookie], ["GRAZE_USER_ID", userId.toString()]]);
|
|
15
|
+
const provider = ConfigProvider.fromMap(envMap);
|
|
16
|
+
const layer = Layer.setConfigProvider(provider);
|
|
17
|
+
const make = setup.pipe(Effect.provide(layer), Effect.provide(GrazeClient.Default));
|
|
18
|
+
const api = Effect.runSync(make);
|
|
19
|
+
this.getFeed = api.getFeed;
|
|
20
|
+
this.getFeeds = api.getFeeds;
|
|
21
|
+
this.hidePost = api.hidePost;
|
|
22
|
+
this.updateAlgorithm = api.updateAlgorithm;
|
|
23
|
+
this.publishAlgorithm = api.publishAlgorithm;
|
|
24
|
+
}
|
|
25
25
|
}
|
|
26
|
-
const setup = Effect.gen(function* () {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
26
|
+
const setup = /*#__PURE__*/Effect.gen(function* () {
|
|
27
|
+
const client = yield* GrazeClient;
|
|
28
|
+
const getFeed = (...args) => client.getFeed(...args).pipe(Effect.runPromise);
|
|
29
|
+
const getFeeds = (...args) => client.getFeeds(...args).pipe(Effect.runPromise);
|
|
30
|
+
const hidePost = (...args) => client.hidePost(...args).pipe(Effect.runPromise);
|
|
31
|
+
const updateAlgorithm = (...args) => client.updateAlgorithm(...args).pipe(Effect.runPromise);
|
|
32
|
+
const publishAlgorithm = (...args) => client.publishAlgorithm(...args).pipe(Effect.runPromise);
|
|
33
|
+
return {
|
|
34
|
+
getFeed,
|
|
35
|
+
getFeeds,
|
|
36
|
+
hidePost,
|
|
37
|
+
updateAlgorithm,
|
|
38
|
+
publishAlgorithm
|
|
39
|
+
};
|
|
40
40
|
});
|
|
41
41
|
//# sourceMappingURL=index.js.map
|
package/build/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","names":["ConfigProvider","Effect","Layer","GrazeClient","GrazeService","getFeed","getFeeds","hidePost","updateAlgorithm","publishAlgorithm","constructor","apiUrl","cookie","userId","envMap","Map","toString","provider","fromMap","layer","setConfigProvider","make","setup","pipe","provide","Default","api","runSync","gen","client","args","runPromise"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,cAAc,EAAEC,MAAM,EAAEC,KAAK,QAAQ,QAAQ;AACtD,SAASC,WAAW,QAAQ,oBAAoB;AAQhD,OAAM,MAAOC,YAAY;EACvBC,OAAO;EACPC,QAAQ;EACRC,QAAQ;EACRC,eAAe;EACfC,gBAAgB;EAEhBC,YAAY;IACVC,MAAM;IACNC,MAAM;IACNC;EAAM,CAKP;IACC,MAAMC,MAAM,GAAG,IAAIC,GAAG,CAAC,CACrB,CAAC,eAAe,EAAEJ,MAAM,CAAC,EACzB,CAAC,cAAc,EAAEC,MAAM,CAAC,EACxB,CAAC,eAAe,EAAEC,MAAM,CAACG,QAAQ,EAAE,CAAC,CACrC,CAAC;IACF,MAAMC,QAAQ,GAAGjB,cAAc,CAACkB,OAAO,CAACJ,MAAM,CAAC;IAC/C,MAAMK,KAAK,GAAGjB,KAAK,CAACkB,iBAAiB,CAACH,QAAQ,CAAC;IAC/C,MAAMI,IAAI,GAAGC,KAAK,CAACC,IAAI,CACrBtB,MAAM,CAACuB,OAAO,CAACL,KAAK,CAAC,EACrBlB,MAAM,CAACuB,OAAO,CAACrB,WAAW,CAACsB,OAAO,CAAC,CACpC;IACD,MAAMC,GAAG,GAAGzB,MAAM,CAAC0B,OAAO,CAACN,IAAI,CAAC;IAChC,IAAI,CAAChB,OAAO,GAAGqB,GAAG,CAACrB,OAAO;IAC1B,IAAI,CAACC,QAAQ,GAAGoB,GAAG,CAACpB,QAAQ;IAC5B,IAAI,CAACC,QAAQ,GAAGmB,GAAG,CAACnB,QAAQ;IAC5B,IAAI,CAACC,eAAe,GAAGkB,GAAG,CAAClB,eAAe;IAC1C,IAAI,CAACC,gBAAgB,GAAGiB,GAAG,CAACjB,gBAAgB;EAC9C;;AAGF,MAAMa,KAAK,gBAAGrB,MAAM,CAAC2B,GAAG,CAAC,aAAS;EAChC,MAAMC,MAAM,GAAG,OAAO1B,WAAW;EACjC,MAAME,OAAO,GAAGA,CAAC,GAAGyB,IAAuC,KACzDD,MAAM,CAACxB,OAAO,CAAC,GAAGyB,IAAI,CAAC,CAACP,IAAI,CAACtB,MAAM,CAAC8B,UAAU,CAAC;EACjD,MAAMzB,QAAQ,GAAGA,CAAC,GAAGwB,IAAwC,KAC3DD,MAAM,CAACvB,QAAQ,CAAC,GAAGwB,IAAI,CAAC,CAACP,IAAI,CAACtB,MAAM,CAAC8B,UAAU,CAAC;EAClD,MAAMxB,QAAQ,GAAGA,CAAC,GAAGuB,IAAwC,KAC3DD,MAAM,CAACtB,QAAQ,CAAC,GAAGuB,IAAI,CAAC,CAACP,IAAI,CAACtB,MAAM,CAAC8B,UAAU,CAAC;EAClD,MAAMvB,eAAe,GAAGA,CACtB,GAAGsB,IAA+C,KAC/CD,MAAM,CAACrB,eAAe,CAAC,GAAGsB,IAAI,CAAC,CAACP,IAAI,CAACtB,MAAM,CAAC8B,UAAU,CAAC;EAC5D,MAAMtB,gBAAgB,GAAGA,CACvB,GAAGqB,IAAgD,KAChDD,MAAM,CAACpB,gBAAgB,CAAC,GAAGqB,IAAI,CAAC,CAACP,IAAI,CAACtB,MAAM,CAAC8B,UAAU,CAAC;EAE7D,OAAO;IACL1B,OAAO;IACPC,QAAQ;IACRC,QAAQ;IACRC,eAAe;IACfC;GACD;AACH,CAAC,CAAC","ignoreList":[]}
|