graze-client 0.3.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,7 +6,21 @@ This is a simple Typescript package for interacting with the [Graze](https://gra
6
6
  npm install graze-client
7
7
  ```
8
8
 
9
- It is a bit hastily put together and under development (not all APIs are implemented), but it works. Currently it is only deployed as ESM with Typescript declarations.
9
+ ## Features
10
+
11
+ 1. **getFeeds:** Get all your graze feeds.
12
+ 1. **getFeed:** Get a specific feed.
13
+ 1. **hidePost:** Hide a post from a feed.
14
+ 1. **updateAlgorithm:** Update an algorithm.
15
+ 1. **publishAlgorithm:** Publish an algorithm.
16
+ 1. **Algorithm Builder:** A custom utility to make building an algorithm easier. See the example below.
17
+
18
+ ### This is a WIP
19
+
20
+ This package is under development, so if you find bugs, please report. Known issues include:
21
+
22
+ 1. Not all graze operators or APIs are implemented. I have only implemented what I need so far, so feed free to make a PR adding more.
23
+ 2. Not everything is documented, but typescript is your friend. It you use this in an editor like VSCode, you should get good autocomplete hints for types.
10
24
 
11
25
  ## Usage
12
26
 
@@ -17,38 +31,67 @@ There are two exports:
17
31
  ### 1. A promise-based `GrazeService`
18
32
 
19
33
  ```ts
20
- import { GrazeService } from "graze-client";
34
+ import { GrazeService, F, Algo, FullForm } from "graze-client";
21
35
 
22
36
  const graze = new GrazeService({
23
37
  apiUrl: "https://api.graze.social",
24
- cookie: "my-graze-cookie",
38
+ cookie: "<change this>",
25
39
  userId: 15,
26
40
  });
27
41
 
42
+ // get feets
28
43
  const myFeeds = await graze.getFeeds();
29
44
  const feed = await graze.getFeed({ path: { feedId: 1234 } });
30
45
  // hide a post
31
46
  await graze.hidePost({
32
47
  payload: { algo_id: 1234, at_uri: "at://<did>/app.bsky.feed.post/<rkey>" },
33
48
  });
34
- // update an algorithm
35
- const hasVideo: Form.Filter = {
36
- embed_type: ["==", "video"],
37
- };
38
- const hasKeyword: Form.Filter = {
39
- regex_matches: ["text", /Hello World!/.source, true],
40
- };
41
- const res = await graze.updateAlgorithm({
42
- record_name: "my-feed",
43
- display_name: "My Feed",
49
+
50
+ // build a complex algorithm
51
+
52
+ const hasNoBadContent = F.and(
53
+ F.isContentOk(0.9),
54
+ F.hasNoNSFWLabels,
55
+ F.isNotListMember("my-blocklist-url")
56
+ );
57
+
58
+ const algo = Algo.filter(
59
+ // the top level filter will combine elements in an "and" block
60
+ hasNoBadContent,
61
+ F.hasVideo,
62
+ F.or(
63
+ F.posterFollows("samuel.bsky.team"),
64
+ F.isListMember("my-whitelist-url"),
65
+ F.and(
66
+ F.regexMatches("text", "my-keyword-regex"),
67
+ F.regexMatches("embed.alt", "my-keyword-regex"),
68
+ F.regexMatches("embed.external.title", "my-keyword-regex"),
69
+ F.regexMatches("embed.external.description", "my-keyword-regex"),
70
+ F.isPost
71
+ ),
72
+ F.or(
73
+ // nested logic blocks will be automatically flattened, so this will
74
+ // be brought up one level since it is logically equivalent.
75
+ F.regexNegationMatches("text", "my-negative-keyword-regex")
76
+ )
77
+ )
78
+ );
79
+
80
+ const manifest: FullForm = {
81
+ algorithm_manifest: algo,
82
+ id: 12,
44
83
  user_id: 1,
84
+ display_name: "My Fancy Feed",
85
+ // file: add a file blob here to update the image
86
+ description: "This is a fancy feed with lots of logic for fun and profit.",
45
87
  order: "new",
46
- id: 1234,
47
- algorithm_manifest: {
48
- filter: { and: [hasVideo, hasKeyword] },
49
- },
50
- });
88
+ // CAUTION: this will change the feed slug and cause you to lose existing follows.
89
+ // but if you do it, don't worry you can set it back and it will be fixed : ).
90
+ record_name: "my-fancy-feed",
91
+ };
51
92
 
93
+ // send the algorithm to graze
94
+ const response = await graze.updateAlgorithm(manifest);
52
95
  // publish the algorithm
53
96
  const res = await graze.publishAlgorithm({ path: { feedId: 1234 } });
54
97
  ```
@@ -134,6 +134,13 @@ declare const GrazeClient_base: Effect.Service.Class<GrazeClient, "GrazeClient",
134
134
  };
135
135
  readonly withResponse?: WithResponse;
136
136
  }) => Effect.Effect<WithResponse extends true ? [unknown, import("@effect/platform/HttpClientResponse").HttpClientResponse] : unknown, import("@effect/platform/HttpApiError").HttpApiDecodeError | import("@effect/platform/HttpClientError").HttpClientError, never>;
137
+ unhidePost: <WithResponse extends boolean = false>(request: {
138
+ readonly payload: {
139
+ readonly algo_id: number;
140
+ readonly at_uri: string;
141
+ };
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>;
137
144
  }, import("effect/ConfigError").ConfigError, HttpClient.HttpClient>;
138
145
  readonly dependencies: readonly [import("effect/Layer").Layer<HttpClient.HttpClient, never, never>];
139
146
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"GrazeClient.d.ts","sourceRoot":"","sources":["../../src/GrazeClient.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,UAAU,EAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAgB,MAAM,EAAoB,MAAM,QAAQ,CAAC;AAEhE,OAAO,KAAK,IAAI,MAAM,oCAAoC,CAAC;;;gCA0E1B,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;CAAG"}
@@ -5,6 +5,7 @@ export declare class GrazeService {
5
5
  getFeed: Promisify<typeof GrazeClient.Service.getFeed>;
6
6
  getFeeds: Promisify<typeof GrazeClient.Service.getFeeds>;
7
7
  hidePost: Promisify<typeof GrazeClient.Service.hidePost>;
8
+ unhidePost: Promisify<typeof GrazeClient.Service.unhidePost>;
8
9
  updateAlgorithm: Promisify<typeof GrazeClient.Service.updateAlgorithm>;
9
10
  publishAlgorithm: Promisify<typeof GrazeClient.Service.publishAlgorithm>;
10
11
  constructor({ apiUrl, cookie, userId, }: {
@@ -13,5 +14,6 @@ export declare class GrazeService {
13
14
  userId: number;
14
15
  });
15
16
  }
16
- export {};
17
+ export * from "./schema/index.js";
18
+ export { F, Algo } from "./builder.js";
17
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,MAAM,EAAS,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAC5B,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,GACvC,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GACtC,KAAK,CAAC;AAEV,qBAAa,YAAY;IACvB,OAAO,EAAE,SAAS,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,QAAQ,EAAE,SAAS,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzD,QAAQ,EAAE,SAAS,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzD,eAAe,EAAE,SAAS,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACvE,gBAAgB,EAAE,SAAS,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAE7D,EACV,MAAM,EACN,MAAM,EACN,MAAM,GACP,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB;CAmBF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,MAAM,EAAS,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAC5B,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,GACvC,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GACtC,KAAK,CAAC;AAEV,qBAAa,YAAY;IACvB,OAAO,EAAE,SAAS,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,QAAQ,EAAE,SAAS,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzD,QAAQ,EAAE,SAAS,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzD,UAAU,EAAE,SAAS,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7D,eAAe,EAAE,SAAS,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACvE,gBAAgB,EAAE,SAAS,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAE7D,EACV,MAAM,EACN,MAAM,EACN,MAAM,GACP,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB;CAoBF;AA6BD,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC"}
@@ -82,6 +82,11 @@ export declare const HidePostBody: S.Struct<{
82
82
  at_uri: typeof S.String;
83
83
  }>;
84
84
  export type HidePostBody = typeof HidePostBody.Type;
85
+ export declare const UnhidePostBody: S.Struct<{
86
+ algo_id: typeof S.Number;
87
+ at_uri: typeof S.String;
88
+ }>;
89
+ export type UnhidePostBody = typeof UnhidePostBody.Type;
85
90
  export declare const AlgorithWithStats: S.Struct<{
86
91
  stats: S.Struct<{
87
92
  page_renders: typeof S.Number;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/schema/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;AAErC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;EAqB3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAkB5D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;EAG7B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAC;AAEhE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAyC,CAAC;AACtE,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC;AAE1D,eAAO,MAAM,YAAY;;;EAGvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAIpD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;EAO5B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAC/D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/schema/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;AAErC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;EAqB3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAkB5D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;EAG7B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAC;AAEhE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAyC,CAAC;AACtE,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC;AAE1D,eAAO,MAAM,YAAY;;;EAGvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD,eAAO,MAAM,cAAc;;;EAGzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAIxD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;EAO5B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAC/D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AlgoUpdateResponse, GetAlgoResponse, GetAlgorithmsResponse, HidePostBody, } from "./schema/shared.js";
1
+ import { AlgoUpdateResponse, GetAlgoResponse, GetAlgorithmsResponse, HidePostBody, UnhidePostBody, } from "./schema/shared.js";
2
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";
@@ -33,6 +33,9 @@ const GrazeApiGroup = HttpApiGroup.make("graze", { topLevel: true })
33
33
  .add(HttpApiEndpoint.get("publishAlgorithm") `/app/publish_algo/${FeedIdParam}`.addSuccess(Schema.Unknown))
34
34
  .add(HttpApiEndpoint.post("hidePost") `/app/hide_post`
35
35
  .setPayload(HidePostBody)
36
+ .addSuccess(Schema.Unknown))
37
+ .add(HttpApiEndpoint.post("unhidePost") `/app/unhide_post`
38
+ .setPayload(UnhidePostBody)
36
39
  .addSuccess(Schema.Unknown));
37
40
  class GrazeApiDef extends HttpApi.make("grazeApi").add(GrazeApiGroup) {
38
41
  }
@@ -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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"}
@@ -4,6 +4,7 @@ export class GrazeService {
4
4
  getFeed;
5
5
  getFeeds;
6
6
  hidePost;
7
+ unhidePost;
7
8
  updateAlgorithm;
8
9
  publishAlgorithm;
9
10
  constructor({ apiUrl, cookie, userId, }) {
@@ -19,6 +20,7 @@ export class GrazeService {
19
20
  this.getFeed = api.getFeed;
20
21
  this.getFeeds = api.getFeeds;
21
22
  this.hidePost = api.hidePost;
23
+ this.unhidePost = api.unhidePost;
22
24
  this.updateAlgorithm = api.updateAlgorithm;
23
25
  this.publishAlgorithm = api.publishAlgorithm;
24
26
  }
@@ -28,14 +30,18 @@ const setup = Effect.gen(function* () {
28
30
  const getFeed = (...args) => client.getFeed(...args).pipe(Effect.runPromise);
29
31
  const getFeeds = (...args) => client.getFeeds(...args).pipe(Effect.runPromise);
30
32
  const hidePost = (...args) => client.hidePost(...args).pipe(Effect.runPromise);
33
+ const unhidePost = (...args) => client.unhidePost(...args).pipe(Effect.runPromise);
31
34
  const updateAlgorithm = (...args) => client.updateAlgorithm(...args).pipe(Effect.runPromise);
32
35
  const publishAlgorithm = (...args) => client.publishAlgorithm(...args).pipe(Effect.runPromise);
33
36
  return {
34
37
  getFeed,
35
38
  getFeeds,
36
39
  hidePost,
40
+ unhidePost,
37
41
  updateAlgorithm,
38
42
  publishAlgorithm,
39
43
  };
40
44
  });
45
+ export * from "./schema/index.js";
46
+ export { F, Algo } from "./builder.js";
41
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQ/C,MAAM,OAAO,YAAY;IACvB,OAAO,CAAgD;IACvD,QAAQ,CAAiD;IACzD,QAAQ,CAAiD;IACzD,eAAe,CAAwD;IACvE,gBAAgB,CAAyD;IAEzE,YAAY,EACV,MAAM,EACN,MAAM,EACN,MAAM,GAKP;QACC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC;YACrB,CAAC,eAAe,EAAE,MAAM,CAAC;YACzB,CAAC,cAAc,EAAE,MAAM,CAAC;YACxB,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;SACrC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CACrB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EACnC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CACtB,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC;IAClC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAuC,EAAE,EAAE,CAC7D,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAwC,EAAE,EAAE,CAC/D,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAwC,EAAE,EAAE,CAC/D,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,CACtB,GAAG,IAA+C,EAClD,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,gBAAgB,GAAG,CACvB,GAAG,IAAgD,EACnD,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE9D,OAAO;QACL,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,eAAe;QACf,gBAAgB;KACjB,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,10 @@ export const HidePostBody = S.Struct({
44
44
  algo_id: S.Number,
45
45
  at_uri: S.String,
46
46
  });
47
+ export const UnhidePostBody = S.Struct({
48
+ algo_id: S.Number,
49
+ at_uri: S.String,
50
+ });
47
51
  // ----------------------- Get Algorithms Response -----------------------
48
52
  export const AlgorithWithStats = S.Struct({
49
53
  ...PartialAlgorithm.fields,
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/schema/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/schema/shared.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.3.3",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "A Typescript Graze API client.",
@@ -3,6 +3,7 @@ import {
3
3
  GetAlgoResponse,
4
4
  GetAlgorithmsResponse,
5
5
  HidePostBody,
6
+ UnhidePostBody,
6
7
  } from "./schema/shared.js";
7
8
  import {
8
9
  FetchHttpClient,
@@ -69,6 +70,11 @@ const GrazeApiGroup = HttpApiGroup.make("graze", { topLevel: true })
69
70
  HttpApiEndpoint.post("hidePost")`/app/hide_post`
70
71
  .setPayload(HidePostBody)
71
72
  .addSuccess(Schema.Unknown)
73
+ )
74
+ .add(
75
+ HttpApiEndpoint.post("unhidePost")`/app/unhide_post`
76
+ .setPayload(UnhidePostBody)
77
+ .addSuccess(Schema.Unknown)
72
78
  );
73
79
 
74
80
  class GrazeApiDef extends HttpApi.make("grazeApi").add(GrazeApiGroup) {}
package/src/index.ts CHANGED
@@ -11,6 +11,7 @@ export class GrazeService {
11
11
  getFeed: Promisify<typeof GrazeClient.Service.getFeed>;
12
12
  getFeeds: Promisify<typeof GrazeClient.Service.getFeeds>;
13
13
  hidePost: Promisify<typeof GrazeClient.Service.hidePost>;
14
+ unhidePost: Promisify<typeof GrazeClient.Service.unhidePost>;
14
15
  updateAlgorithm: Promisify<typeof GrazeClient.Service.updateAlgorithm>;
15
16
  publishAlgorithm: Promisify<typeof GrazeClient.Service.publishAlgorithm>;
16
17
 
@@ -38,6 +39,7 @@ export class GrazeService {
38
39
  this.getFeed = api.getFeed;
39
40
  this.getFeeds = api.getFeeds;
40
41
  this.hidePost = api.hidePost;
42
+ this.unhidePost = api.unhidePost;
41
43
  this.updateAlgorithm = api.updateAlgorithm;
42
44
  this.publishAlgorithm = api.publishAlgorithm;
43
45
  }
@@ -51,6 +53,8 @@ const setup = Effect.gen(function* () {
51
53
  client.getFeeds(...args).pipe(Effect.runPromise);
52
54
  const hidePost = (...args: Parameters<typeof client.hidePost>) =>
53
55
  client.hidePost(...args).pipe(Effect.runPromise);
56
+ const unhidePost = (...args: Parameters<typeof client.unhidePost>) =>
57
+ client.unhidePost(...args).pipe(Effect.runPromise);
54
58
  const updateAlgorithm = (
55
59
  ...args: Parameters<typeof client.updateAlgorithm>
56
60
  ) => client.updateAlgorithm(...args).pipe(Effect.runPromise);
@@ -62,7 +66,11 @@ const setup = Effect.gen(function* () {
62
66
  getFeed,
63
67
  getFeeds,
64
68
  hidePost,
69
+ unhidePost,
65
70
  updateAlgorithm,
66
71
  publishAlgorithm,
67
72
  };
68
73
  });
74
+
75
+ export * from "./schema/index.js";
76
+ export { F, Algo } from "./builder.js";
@@ -55,6 +55,12 @@ export const HidePostBody = S.Struct({
55
55
  });
56
56
  export type HidePostBody = typeof HidePostBody.Type;
57
57
 
58
+ export const UnhidePostBody = S.Struct({
59
+ algo_id: S.Number,
60
+ at_uri: S.String,
61
+ });
62
+ export type UnhidePostBody = typeof UnhidePostBody.Type;
63
+
58
64
  // ----------------------- Get Algorithms Response -----------------------
59
65
 
60
66
  export const AlgorithWithStats = S.Struct({