@nocoo/zhe 1.24.0 → 1.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -59,7 +59,7 @@ Save a link through the website, Webhook, API, or `zhe create`. The Connector pi
59
59
 
60
60
  Use Node.js ≥ 22.16. OpenCLI is included as a pinned dependency; install its [browser extension](https://github.com/jackwener/opencli), sign in to X in that browser, and install FFmpeg with `ffprobe` on PATH (`brew install ffmpeg` on macOS).
61
61
 
62
- On Zhe's API Keys page, create one key with `links:read` and `connector:write`. Add `links:write` to create links from the CLI too. Then:
62
+ On Zhe's API Keys page, create a key with `connector:write`; that is the only scope the Connector needs. Login accepts any valid key, including keys with a single read or write scope. Other commands enforce their own permissions: add `links:read` to list links and `links:write` to create them. Then:
63
63
 
64
64
  ```bash
65
65
  zhe login
@@ -69,7 +69,11 @@ zhe connector start
69
69
 
70
70
  The Connector reads the same login configuration on every poll. Its permission expires 30 days after key creation; rotate the key through the API Keys page, then run `zhe logout` and `zhe login`. Revoking the key stops further Connector mutations. The background service contains no key or X cookies.
71
71
 
72
- On Linux or Windows, run `zhe connector watch` under your normal process supervisor. Keep the browser extension connected and the machine awake. Failed media does not prevent saving the post text; retry is available on the card. The current limits are 64 MiB per video and 10 MiB per image. Protected accounts and browser challenges are not supported.
72
+ On Linux or Windows, run `zhe connector watch` under your normal process supervisor. Keep the browser extension connected and the machine awake. Failed media does not prevent saving the post text; retry is available in the post details. The current limits are 64 MiB per video and 10 MiB per image. Protected accounts and browser challenges are not supported.
73
+
74
+ `watch` shows timestamped queue counts, the current link/post and retry attempt, text capture, media download percentages, verification, uploads, and poster generation. Slow stages continue to report activity every 10 seconds. Results include elapsed time and session totals for complete/partial/failed jobs, archived/skipped media, and confirmed upload bytes. Processing is serial, with a 20-second wait after each poll finishes. `Ctrl+C` prints the final totals and stops.
75
+
76
+ Use `zhe connector watch --json` for newline-delimited JSON events, or `zhe connector once` for a single job. `once --json` and `status --json` also support scripted use. Background logs contain no ANSI animation, API keys, browser cookies, post text, or raw upstream errors.
73
77
 
74
78
  Archived files use Zhe's existing R2 file-sharing behavior. Delete a video to remove its poster too; delete a bookmark to remove all of its archived attachments. Removing an attachment explicitly prevents a later retry from restoring it.
75
79
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * HTTP client for zhe.to API v1
3
3
  */
4
- import type { DownloadedMedia, MediaReservation, XJob } from "../connector/types.js";
4
+ import type { ConnectorStatus, DownloadedMedia, MediaReservation, XJob } from "../connector/types.js";
5
5
  import type { CreateFolderRequest, CreateIdeaRequest, CreateLinkRequest, CreateTagRequest, FolderResponse, FoldersResponse, IdeaResponse, IdeasResponse, LinkResponse, LinksResponse, ListIdeasParams, ListLinksParams, TagResponse, TagsResponse, UpdateFolderRequest, UpdateIdeaRequest, UpdateLinkRequest, UpdateTagRequest } from "./types.js";
6
6
  export declare class ApiClient {
7
7
  private baseUrl;
@@ -62,7 +62,7 @@ export declare class ApiClient {
62
62
  */
63
63
  deleteTag(id: string): Promise<void>;
64
64
  /**
65
- * Verify API key by making a test request
65
+ * Verify identity without requiring links:read or granting any extra scope.
66
66
  */
67
67
  verifyKey(): Promise<boolean>;
68
68
  /**
@@ -85,14 +85,7 @@ export declare class ApiClient {
85
85
  * Delete an idea
86
86
  */
87
87
  deleteIdea(id: number): Promise<void>;
88
- connectorStatus(): Promise<{
89
- states: {
90
- state: string;
91
- count: number;
92
- }[];
93
- keyPrefix: string;
94
- expiresAt: number;
95
- }>;
88
+ connectorStatus(signal?: AbortSignal): Promise<ConnectorStatus>;
96
89
  claimXJob(signal?: AbortSignal): Promise<{
97
90
  job: XJob | null;
98
91
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -166,7 +166,7 @@ export class ApiClient {
166
166
  await this.request("DELETE", `/tags/${id}`);
167
167
  }
168
168
  /**
169
- * Verify API key by making a test request
169
+ * Verify identity without requiring links:read or granting any extra scope.
170
170
  */
171
171
  async verifyKey() {
172
172
  try {
@@ -175,9 +175,13 @@ export class ApiClient {
175
175
  }
176
176
  catch (error) {
177
177
  if (error instanceof ApiClientError) {
178
- if (error.status === 401 || error.status === 403) {
178
+ if (error.status === 401)
179
179
  return false;
180
- }
180
+ // This response is only emitted after the API has authenticated the key.
181
+ // Other 403 responses (for example, an edge denial) do not verify identity.
182
+ if (error.status === 403 &&
183
+ error.message === "Insufficient permissions. Required scope: links:read")
184
+ return true;
181
185
  }
182
186
  throw error;
183
187
  }
@@ -224,8 +228,8 @@ export class ApiClient {
224
228
  async deleteIdea(id) {
225
229
  await this.request("DELETE", `/ideas/${id}`);
226
230
  }
227
- connectorStatus() {
228
- return this.request("GET", "/connector");
231
+ connectorStatus(signal) {
232
+ return this.request("GET", "/connector", undefined, {}, signal);
229
233
  }
230
234
  claimXJob(signal) {
231
235
  return this.request("POST", "/connector", {}, {}, signal);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/commands/connector.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,gBAAgB,qDAkF3B,CAAC"}
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/commands/connector.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,gBAAgB,qDAyF3B,CAAC"}
@@ -5,6 +5,7 @@ import { join } from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import { promisify } from "node:util";
7
7
  import { defineCommand } from "@nocoo/base-cli";
8
+ import { ConnectorLogger } from "../connector/log.js";
8
9
  import { authenticatedClient, runOnce, watchConnector } from "../connector/runtime.js";
9
10
  const execute = promisify(execFile);
10
11
  const label = "ai.hexly.zhe.connector";
@@ -22,25 +23,34 @@ export const connectorCommand = defineCommand({
22
23
  subCommands: {
23
24
  status: defineCommand({
24
25
  meta: { name: "status", description: "Show Connector queue and shared CLI key expiry" },
25
- async run() {
26
- console.log(JSON.stringify(await authenticatedClient().connectorStatus(), null, 2));
26
+ args: { json: { type: "boolean", description: "Output JSON" } },
27
+ async run({ args }) {
28
+ const status = await authenticatedClient().connectorStatus();
29
+ if (args.json)
30
+ console.log(JSON.stringify(status, null, 2));
31
+ else
32
+ new ConnectorLogger().queue(status);
27
33
  },
28
34
  }),
29
35
  once: defineCommand({
30
36
  meta: { name: "once", description: "Process one saved X bookmark" },
31
- async run() {
32
- console.log(JSON.stringify(await runOnce()));
37
+ args: { json: { type: "boolean", description: "Output JSON progress and result" } },
38
+ async run({ args }) {
39
+ const log = new ConnectorLogger(Boolean(args.json));
40
+ const started = Date.now();
41
+ log.result(await runOnce(undefined, log.progress), Date.now() - started);
33
42
  },
34
43
  }),
35
44
  watch: defineCommand({
36
45
  meta: { name: "watch", description: "Poll saved X bookmarks every 20 seconds" },
37
- async run() {
46
+ args: { json: { type: "boolean", description: "Output newline-delimited JSON events" } },
47
+ async run({ args }) {
38
48
  const controller = new AbortController();
39
49
  const stop = () => controller.abort();
40
50
  process.once("SIGINT", stop);
41
51
  process.once("SIGTERM", stop);
42
52
  try {
43
- await watchConnector(controller.signal);
53
+ await watchConnector(controller.signal, Boolean(args.json));
44
54
  }
45
55
  finally {
46
56
  process.removeListener("SIGINT", stop);
@@ -1 +1 @@
1
- {"version":3,"file":"connector.js","sourceRoot":"","sources":["../../src/commands/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEvF,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACpC,MAAM,KAAK,GAAG,wBAAwB,CAAC;AACvC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC;AACrF,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,EAAE,CAC5B,KAAK;KACF,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;KACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;KACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;KACvB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAE/B,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;IAC5C,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,uEAAuE;KACrF;IACD,WAAW,EAAE;QACX,MAAM,EAAE,aAAa,CAAC;YACpB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;YACvF,KAAK,CAAC,GAAG;gBACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,mBAAmB,EAAE,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACtF,CAAC;SACF,CAAC;QACF,IAAI,EAAE,aAAa,CAAC;YAClB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,8BAA8B,EAAE;YACnE,KAAK,CAAC,GAAG;gBACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;SACF,CAAC;QACF,KAAK,EAAE,aAAa,CAAC;YACnB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,yCAAyC,EAAE;YAC/E,KAAK,CAAC,GAAG;gBACP,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC;wBAAS,CAAC;oBACT,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACvC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;SACF,CAAC;QACF,KAAK,EAAE,aAAa,CAAC;YACnB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,gDAAgD,EAAE;YACtF,KAAK,CAAC,GAAG;gBACP,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;oBAC/B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;gBACtF,MAAM,mBAAmB,EAAE,CAAC,eAAe,EAAE,CAAC;gBAC9C,KAAK,MAAM,OAAO,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;oBACzC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9D,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;gBACpD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7E,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBAC7C,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrD,MAAM,SAAS,CACb,SAAS,EAAE,EACX;;;0BAGgB,KAAK;oCACK,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;8DACzE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,eAAe,CAAC;;oCAElE,GAAG,CAAC,GAAG,CAAC,gDAAgD,GAAG,CAAC,GAAG,CAAC;gBACpF,EACN,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;gBACF,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;gBAC3C,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC9E,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CACT,gGAAgG,CACjG,CAAC;YACJ,CAAC;SACF,CAAC;QACF,IAAI,EAAE,aAAa,CAAC;YAClB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,+BAA+B,EAAE;YACpE,KAAK,CAAC,GAAG;gBACP,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;oBAC/B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBACrE,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CACjF,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;gBACF,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBAChD,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YACpC,CAAC;SACF,CAAC;KACH;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"connector.js","sourceRoot":"","sources":["../../src/commands/connector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,eAAO,MAAM,YAAY,qDA0DvB,CAAC"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,eAAO,MAAM,YAAY,qDA4DvB,CAAC"}
@@ -52,10 +52,10 @@ export const loginCommand = defineCommand({
52
52
  }
53
53
  // Save the key
54
54
  saveApiKey(apiKey);
55
- console.log(pc.green("✓ API Key saved (read access verified)"));
55
+ console.log(pc.green("✓ API Key saved (identity verified)"));
56
56
  console.log(` API Key: ${pc.cyan(maskApiKey(apiKey))}`);
57
57
  console.log();
58
- console.log(pc.dim("Note: Write operations require `links:write` scope."));
58
+ console.log(pc.dim("Commands require their own scopes. Connector only needs `connector:write`."));
59
59
  console.log(`To create an API Key, visit: ${pc.cyan("https://zhe.to/dashboard/api-keys")}`);
60
60
  },
61
61
  });
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type XMedia } from "./core.js";
2
2
  import type { DownloadedMedia } from "./types.js";
3
- export declare function downloadMedia(media: XMedia, directory: string, signal?: AbortSignal): Promise<DownloadedMedia>;
3
+ export declare function downloadMedia(media: XMedia, directory: string, signal?: AbortSignal, onProgress?: (phase: "download" | "verify", received: number, total: number) => void): Promise<DownloadedMedia>;
4
4
  export declare function makePoster(video: string, signal?: AbortSignal): Promise<DownloadedMedia | null>;
5
5
  //# sourceMappingURL=download.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/connector/download.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,MAAM,EACZ,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAyClD,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,CAAC,CA0G1B;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAkCjC"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/connector/download.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,MAAM,EACZ,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAyClD,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACnF,OAAO,CAAC,eAAe,CAAC,CAiH1B;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAkCjC"}
@@ -43,7 +43,7 @@ async function mediaResponse(media, signal) {
43
43
  }
44
44
  throw new ConnectorError("unsafe_redirect");
45
45
  }
46
- export async function downloadMedia(media, directory, signal) {
46
+ export async function downloadMedia(media, directory, signal, onProgress) {
47
47
  const video = media.type !== "PHOTO";
48
48
  const bounded = AbortSignal.any([AbortSignal.timeout(120_000), ...(signal ? [signal] : [])]);
49
49
  await mkdir(directory, { recursive: true, mode: 0o700 });
@@ -56,6 +56,8 @@ export async function downloadMedia(media, directory, signal) {
56
56
  const reader = body.getReader();
57
57
  const hash = createHash("sha256");
58
58
  let received = 0;
59
+ let lastProgress = Date.now();
60
+ onProgress?.("download", 0, size);
59
61
  let head = new Uint8Array();
60
62
  try {
61
63
  for (;;) {
@@ -74,6 +76,10 @@ export async function downloadMedia(media, directory, signal) {
74
76
  }
75
77
  hash.update(value);
76
78
  await file.writeFile(value);
79
+ if (received === size || Date.now() - lastProgress >= 1000) {
80
+ onProgress?.("download", received, size);
81
+ lastProgress = Date.now();
82
+ }
77
83
  }
78
84
  if (received !== size)
79
85
  throw new ConnectorError("size_mismatch");
@@ -85,6 +91,7 @@ export async function downloadMedia(media, directory, signal) {
85
91
  }
86
92
  await file.close();
87
93
  file = undefined;
94
+ onProgress?.("verify", received, size);
88
95
  let probe;
89
96
  try {
90
97
  const output = await execute("ffprobe", [
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/connector/download.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/connector/download.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { PollResult } from "./runtime.js";
2
+ import type { ConnectorProgress, ConnectorStatus } from "./types.js";
3
+ /** Only known codes become log text; upstream errors may contain cookies or response bodies. */
4
+ export declare function connectorErrorHint(error: unknown): string;
5
+ export declare class ConnectorLogger {
6
+ private json;
7
+ private started;
8
+ private lastProgress;
9
+ private active?;
10
+ private queueSnapshot;
11
+ private totalMedia;
12
+ private stats;
13
+ constructor(json?: boolean);
14
+ private write;
15
+ start(): void;
16
+ queue(status: ConnectorStatus): void;
17
+ progress: (event: ConnectorProgress) => void;
18
+ tick(): void;
19
+ result(result: PollResult, durationMs: number, watching?: boolean): void;
20
+ offline(error: unknown): void;
21
+ private summary;
22
+ stop(): void;
23
+ }
24
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/connector/log.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA0BrE,gGAAgG;AAChG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUzD;AAED,qBAAa,eAAe;IAiBd,OAAO,CAAC,IAAI;IAhBxB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,MAAM,CAAC,CAAoB;IACnC,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CASX;IAEF,YAAoB,IAAI,UAAQ,EAAI;IAEpC,OAAO,CAAC,KAAK;IAkBb,KAAK,SAKJ;IAED,KAAK,CAAC,MAAM,EAAE,eAAe,QAU5B;IAED,QAAQ,UAAW,iBAAiB,UAclC;IAEF,IAAI,SAMH;IAED,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,UAAQ,QAkB9D;IAED,OAAO,CAAC,KAAK,EAAE,OAAO,QAOrB;IAED,OAAO,CAAC,OAAO;IAKf,IAAI,SAMH;CACF"}
@@ -0,0 +1,145 @@
1
+ import { formatDuration, formatSize, pc } from "@nocoo/base-cli";
2
+ import { ApiClientError } from "../api/client.js";
3
+ import { CLI_VERSION } from "../version.js";
4
+ import { ConnectorError } from "./core.js";
5
+ const fallbackHint = "Connector processing failed. Check the connection and retry.";
6
+ const hints = {
7
+ 0: "Cannot reach Zhe. Check the network connection.",
8
+ 401: "API Key missing, invalid or revoked. Run `zhe login` with a valid key.",
9
+ 403: "Connector permission missing or expired. Use a key with `connector:write` created within 30 days.",
10
+ 409: "This job's lease is no longer valid; it will not be overwritten.",
11
+ 429: "API rate limit reached. Waiting before the next poll.",
12
+ needs_login: "Connect the OpenCLI browser extension and sign in to X.",
13
+ opencli_unavailable: "OpenCLI is unavailable. Check its browser extension and connection.",
14
+ unsupported_opencli_version: "OpenCLI version mismatch. Reinstall the Zhe CLI dependencies.",
15
+ adapter_contract_changed: "OpenCLI adapter changed. Update the Zhe CLI.",
16
+ post_unavailable: "The saved X post is unavailable or protected.",
17
+ invalid_post_id: "The saved X post ID is invalid.",
18
+ invalid_media: "Media has an unsupported type or exceeds the size limit.",
19
+ decode_failed: "Media verification failed. Check FFmpeg and ffprobe are installed.",
20
+ download_failed: "Media download failed. The saved text is retained for retry.",
21
+ size_mismatch: "Media download was incomplete or its size changed.",
22
+ unsafe_redirect: "The media redirect could not be verified.",
23
+ unsafe_media_address: "The media address could not be verified.",
24
+ media_dns_unavailable: "Media DNS lookup failed. Check the network connection.",
25
+ interrupted: "Processing interrupted; unfinished work can be retried.",
26
+ connector_error: fallbackHint,
27
+ };
28
+ /** Only known codes become log text; upstream errors may contain cookies or response bodies. */
29
+ export function connectorErrorHint(error) {
30
+ const code = error instanceof ApiClientError
31
+ ? error.status
32
+ : error instanceof ConnectorError
33
+ ? error.code
34
+ : error;
35
+ return (typeof code === "string" || typeof code === "number") && typeof hints[code] === "string"
36
+ ? hints[code]
37
+ : fallbackHint;
38
+ }
39
+ export class ConnectorLogger {
40
+ json;
41
+ started = Date.now();
42
+ lastProgress = Date.now();
43
+ active;
44
+ queueSnapshot = "";
45
+ totalMedia = 0;
46
+ stats = {
47
+ complete: 0,
48
+ partial: 0,
49
+ failed: 0,
50
+ interrupted: 0,
51
+ media: 0,
52
+ skipped: 0,
53
+ bytes: 0,
54
+ errors: 0,
55
+ };
56
+ constructor(json = false) {
57
+ this.json = json;
58
+ }
59
+ write(event, message, fields = {}) {
60
+ const time = new Date();
61
+ if (this.json) {
62
+ console.log(JSON.stringify({ time: time.toISOString(), event, message, ...fields }));
63
+ return;
64
+ }
65
+ const color = ["failed", "offline"].includes(event)
66
+ ? pc.red
67
+ : ["warning", "partial", "interrupted"].includes(event)
68
+ ? pc.yellow
69
+ : ["complete", "uploaded", "saved"].includes(event)
70
+ ? pc.green
71
+ : pc.cyan;
72
+ console.log(`${pc.dim(time.toLocaleTimeString("en-GB", { hour12: false }))} ${color(event.toUpperCase().padEnd(11))} ${message}`);
73
+ }
74
+ start() {
75
+ this.write("ready", `Zhe · X Connector ${CLI_VERSION} · one job at a time · 20s between polls · Ctrl+C to stop`);
76
+ }
77
+ queue(status) {
78
+ const states = Object.fromEntries(status.states.map(({ state, count }) => [state, count]));
79
+ const snapshot = JSON.stringify([states, status.expiresAt]);
80
+ if (snapshot === this.queueSnapshot)
81
+ return;
82
+ this.queueSnapshot = snapshot;
83
+ this.write("queue", `${["pending", "running", "complete", "partial", "failed", "unavailable"].map((state) => `${states[state] ?? 0} ${state}`).join(" · ")} · key expires ${new Date(status.expiresAt).toISOString().slice(0, 10)}`, { states, expiresAt: status.expiresAt });
84
+ }
85
+ progress = (event) => {
86
+ this.active = event;
87
+ this.lastProgress = Date.now();
88
+ if (event.stage === "claim")
89
+ this.totalMedia = 0;
90
+ if (event.stage === "capture")
91
+ this.totalMedia = event.total ?? 0;
92
+ if (event.stage === "uploaded")
93
+ this.stats.bytes += event.bytes ?? 0;
94
+ if (event.stage === "skipped")
95
+ this.stats.skipped++;
96
+ let message = event.message;
97
+ if (event.stage === "download" && event.bytes) {
98
+ const percent = Math.min(100, Math.floor(((event.received ?? 0) / event.bytes) * 100));
99
+ const filled = Math.floor(percent / 10);
100
+ message += ` [${"━".repeat(filled)}${"·".repeat(10 - filled)}] ${percent}% · ${formatSize(event.received ?? 0)} / ${formatSize(event.bytes)}`;
101
+ }
102
+ else if (event.bytes)
103
+ message += ` · ${formatSize(event.bytes)}`;
104
+ this.write(event.stage, message, { ...event, message });
105
+ };
106
+ tick() {
107
+ if (!this.active || Date.now() - this.lastProgress < 10_000)
108
+ return;
109
+ this.write("working", `${this.active.stage}: ${this.active.message} · still running (${formatDuration(Date.now() - this.lastProgress)} since last progress)`);
110
+ }
111
+ result(result, durationMs, watching = false) {
112
+ this.active = undefined;
113
+ const interrupted = result.error === "interrupted";
114
+ if (result.status !== "idle") {
115
+ this.stats[interrupted ? "interrupted" : result.status]++;
116
+ this.stats.media += result.media;
117
+ }
118
+ const detail = result.status === "idle"
119
+ ? "No job ready"
120
+ : `${result.media}/${this.totalMedia} media archived · ${formatDuration(durationMs)}${result.error ? ` · ${connectorErrorHint(result.errorStatus ?? result.error)}` : ""}`;
121
+ this.write(interrupted ? "interrupted" : result.status, `${detail}${watching ? " · next poll in 20s" : ""}`, { ...result, durationMs, stats: { ...this.stats } });
122
+ if (result.status !== "idle")
123
+ this.write("session", this.summary(), { stats: { ...this.stats } });
124
+ }
125
+ offline(error) {
126
+ this.active = undefined;
127
+ this.stats.errors++;
128
+ this.write("offline", `${connectorErrorHint(error)} Next poll in 20s.`, {
129
+ status: "offline",
130
+ code: error instanceof ApiClientError ? error.status : "connector_error",
131
+ });
132
+ }
133
+ summary() {
134
+ const s = this.stats;
135
+ return `${s.complete} complete · ${s.partial} partial · ${s.failed} failed · ${s.interrupted} interrupted · ${s.media} media · ${s.skipped} skipped · ${formatSize(s.bytes)} uploaded · ${s.errors} connection errors · uptime ${formatDuration(Date.now() - this.started)}`;
136
+ }
137
+ stop() {
138
+ this.active = undefined;
139
+ this.write("stopped", this.summary(), {
140
+ stats: { ...this.stats },
141
+ durationMs: Date.now() - this.started,
142
+ });
143
+ }
144
+ }
145
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/connector/log.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import { ApiClient } from "../api/client.js";
2
+ import type { ReportProgress } from "./types.js";
2
3
  export interface PollResult {
3
4
  status: "idle" | "complete" | "partial" | "failed";
4
5
  media: number;
5
6
  error?: string;
7
+ errorStatus?: number;
6
8
  }
7
9
  export declare function authenticatedClient(): ApiClient;
8
- export declare function processOne(client: ApiClient, parent?: AbortSignal): Promise<PollResult>;
9
- export declare function runOnce(signal?: AbortSignal): Promise<PollResult>;
10
- export declare function watchConnector(signal: AbortSignal): Promise<void>;
10
+ export declare function processOne(client: ApiClient, parent?: AbortSignal, progress?: ReportProgress): Promise<PollResult>;
11
+ export declare function runOnce(signal?: AbortSignal, progress?: ReportProgress): Promise<PollResult>;
12
+ export declare function watchConnector(signal: AbortSignal, json?: boolean): Promise<void>;
11
13
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/connector/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAO7D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,mBAAmB,IAAI,SAAS,CAI/C;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAkE7F;AAuBD,wBAAsB,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAGvE;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAcvE"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/connector/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAM7D,OAAO,KAAK,EAAqC,cAAc,EAAQ,MAAM,YAAY,CAAC;AAE1F,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,mBAAmB,IAAI,SAAS,CAI/C;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,UAAU,CAAC,CAuGrB;AAiCD,wBAAsB,OAAO,CAC3B,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,UAAU,CAAC,CAGrB;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BrF"}
@@ -6,6 +6,7 @@ import { ApiClient, ApiClientError } from "../api/client.js";
6
6
  import { getApiKey } from "../config.js";
7
7
  import { ConnectorError } from "./core.js";
8
8
  import { downloadMedia, makePoster } from "./download.js";
9
+ import { ConnectorLogger, connectorErrorHint } from "./log.js";
9
10
  import { readPost } from "./opencli.js";
10
11
  export function authenticatedClient() {
11
12
  const key = getApiKey();
@@ -13,10 +14,14 @@ export function authenticatedClient() {
13
14
  throw new ApiClientError(401, "Not authenticated. Run `zhe login` first.");
14
15
  return new ApiClient(key);
15
16
  }
16
- export async function processOne(client, parent) {
17
+ export async function processOne(client, parent, progress) {
17
18
  const { job } = await client.claimXJob(parent);
18
19
  if (!job)
19
20
  return { status: "idle", media: 0 };
21
+ progress?.({
22
+ stage: "claim",
23
+ message: `Link #${job.linkId} · X post ${job.postId} · attempt ${job.attempts}`,
24
+ });
20
25
  const controller = new AbortController();
21
26
  const signal = parent ? AbortSignal.any([parent, controller.signal]) : controller.signal;
22
27
  let renewing;
@@ -36,23 +41,46 @@ export async function processOne(client, parent) {
36
41
  let incomplete = false;
37
42
  try {
38
43
  dir = await mkdtemp(join(tmpdir(), "zhe-connector-"));
44
+ progress?.({ stage: "read", message: "Reading the saved post through the local X session" });
39
45
  const capture = await readPost(job.postId, signal);
46
+ progress?.({
47
+ stage: "capture",
48
+ message: `Saving ${capture.tweet.text.length} characters · ${capture.media.length} media found`,
49
+ total: capture.media.length,
50
+ });
40
51
  await client.connectorAction(job, { action: "capture", capture }, signal);
41
- for (const media of capture.media) {
52
+ for (const [index, media] of capture.media.entries()) {
42
53
  signal.throwIfAborted();
54
+ const reportMedia = (event) => progress?.({
55
+ ...event,
56
+ current: index + 1,
57
+ total: capture.media.length,
58
+ message: `${media.type} ${index + 1}/${capture.media.length} · ${event.message}`,
59
+ });
43
60
  try {
44
- const file = await downloadMedia(media, dir, signal);
61
+ reportMedia({ stage: "download", message: "Connecting to X media" });
62
+ const file = await downloadMedia(media, dir, signal, (phase, received, bytes) => {
63
+ reportMedia({
64
+ stage: phase,
65
+ message: phase === "download" ? "Downloading" : "Verifying format and full decode",
66
+ received,
67
+ bytes,
68
+ });
69
+ });
45
70
  const kind = media.type === "PHOTO" ? "photo" : "video";
46
- if (!(await archive(client, job, media.id, kind, file, signal)))
71
+ if (!(await archive(client, job, media.id, kind, file, signal, reportMedia)))
47
72
  continue;
48
73
  media.width = file.width;
49
74
  media.height = file.height;
50
75
  media.duration = file.duration;
51
76
  archived++;
52
77
  if (kind === "video") {
78
+ reportMedia({ stage: "poster", message: "Generating video poster" });
53
79
  const poster = await makePoster(file.path, signal);
54
80
  if (poster)
55
- await archive(client, job, media.id, "poster", poster, signal);
81
+ await archive(client, job, media.id, "poster", poster, signal, reportMedia);
82
+ else
83
+ reportMedia({ stage: "warning", message: "Poster unavailable; video is archived" });
56
84
  }
57
85
  }
58
86
  catch (error) {
@@ -60,10 +88,15 @@ export async function processOne(client, parent) {
60
88
  (error instanceof ApiClientError && [401, 403, 409].includes(error.status)))
61
89
  throw error;
62
90
  incomplete = true;
91
+ reportMedia({ stage: "warning", message: connectorErrorHint(error) });
63
92
  }
64
93
  }
65
94
  signal.throwIfAborted();
66
95
  capture.tweet.media = capture.media;
96
+ progress?.({
97
+ stage: "publish",
98
+ message: `Saving the enriched post · ${archived}/${capture.media.length} media archived`,
99
+ });
67
100
  await client.connectorAction(job, { action: "capture", capture }, signal);
68
101
  await client.connectorAction(job, { action: "complete" }, signal);
69
102
  return { status: incomplete ? "partial" : "complete", media: archived };
@@ -75,7 +108,12 @@ export async function processOne(client, parent) {
75
108
  ? "interrupted"
76
109
  : "connector_error";
77
110
  await client.connectorAction(job, { action: "fail", code }).catch(() => { });
78
- return { status: "failed", media: archived, error: code };
111
+ return {
112
+ status: "failed",
113
+ media: archived,
114
+ error: code,
115
+ ...(error instanceof ApiClientError ? { errorStatus: error.status } : {}),
116
+ };
79
117
  }
80
118
  finally {
81
119
  clearInterval(heartbeat);
@@ -85,33 +123,57 @@ export async function processOne(client, parent) {
85
123
  await rm(dir, { recursive: true, force: true });
86
124
  }
87
125
  }
88
- async function archive(client, job, mediaId, kind, file, signal) {
126
+ async function archive(client, job, mediaId, kind, file, signal, progress) {
127
+ progress?.({ stage: "upload", message: `Preparing ${kind} archive` });
89
128
  const { asset } = await client.connectorAction(job, {
90
129
  action: "reserve",
91
130
  media: { mediaId, kind, size: file.size, mime: file.mime, sha256: file.sha256 },
92
131
  }, signal);
93
- if (asset.skipped)
132
+ if (asset.skipped) {
133
+ progress?.({ stage: "skipped", message: `${kind} was explicitly deleted; keeping it deleted` });
94
134
  return false;
95
- if (!asset.uploaded)
135
+ }
136
+ if (!asset.uploaded) {
137
+ progress?.({ stage: "upload", message: `Uploading ${kind} to Zhe`, bytes: file.size });
96
138
  await client.uploadXMedia(job, asset, file, signal);
139
+ progress?.({ stage: "uploaded", message: `${kind} upload confirmed`, bytes: file.size });
140
+ }
141
+ else
142
+ progress?.({ stage: "saved", message: `${kind} already archived; reusing the saved file` });
97
143
  return true;
98
144
  }
99
- export async function runOnce(signal) {
145
+ export async function runOnce(signal, progress) {
100
146
  // Read the shared CLI configuration on each poll, so logout/rotation takes effect.
101
- return processOne(authenticatedClient(), signal);
147
+ return processOne(authenticatedClient(), signal, progress);
102
148
  }
103
- export async function watchConnector(signal) {
104
- while (!signal.aborted) {
105
- try {
106
- console.log(JSON.stringify(await runOnce(signal)));
107
- }
108
- catch (error) {
109
- console.log(JSON.stringify({
110
- status: "offline",
111
- code: error instanceof ApiClientError ? error.status : "connector_error",
112
- }));
149
+ export async function watchConnector(signal, json = false) {
150
+ const log = new ConnectorLogger(json);
151
+ const activity = setInterval(() => log.tick(), 10_000);
152
+ log.start();
153
+ try {
154
+ while (!signal.aborted) {
155
+ const started = Date.now();
156
+ try {
157
+ const client = authenticatedClient();
158
+ // Queue statistics are optional; a failed status lookup must not block enrichment.
159
+ const status = await client.connectorStatus(signal).catch(() => undefined);
160
+ if (signal.aborted)
161
+ break;
162
+ if (status)
163
+ log.queue(status);
164
+ log.result(await processOne(client, signal, log.progress), Date.now() - started, !signal.aborted);
165
+ }
166
+ catch (error) {
167
+ if (!signal.aborted)
168
+ log.offline(error);
169
+ }
170
+ if (!signal.aborted)
171
+ await delay(20_000, undefined, { signal }).catch(() => { });
113
172
  }
114
- await delay(20_000, undefined, { signal }).catch(() => { });
173
+ }
174
+ finally {
175
+ clearInterval(activity);
176
+ log.stop();
115
177
  }
116
178
  }
117
179
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/connector/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/connector/runtime.ts"],"names":[],"mappings":"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"}
@@ -22,4 +22,21 @@ export interface DownloadedMedia {
22
22
  height?: number | undefined;
23
23
  duration?: number | undefined;
24
24
  }
25
+ export interface ConnectorStatus {
26
+ states: {
27
+ state: string;
28
+ count: number;
29
+ }[];
30
+ keyPrefix: string;
31
+ expiresAt: number;
32
+ }
33
+ export interface ConnectorProgress {
34
+ stage: "claim" | "read" | "capture" | "download" | "verify" | "upload" | "uploaded" | "poster" | "saved" | "skipped" | "warning" | "publish";
35
+ message: string;
36
+ current?: number;
37
+ total?: number;
38
+ received?: number;
39
+ bytes?: number;
40
+ }
41
+ export type ReportProgress = (event: ConnectorProgress) => void;
25
42
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/connector/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AACD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/connector/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AACD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EACD,OAAO,GACP,MAAM,GACN,SAAS,GACT,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocoo/zhe",
3
- "version": "1.24.0",
3
+ "version": "1.24.1",
4
4
  "description": "CLI for managing zhe.to short links",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",