@wirecat/zoom-cli 0.21.1 → 0.21.3

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.
Files changed (43) hide show
  1. package/dist/api.d.ts +1 -0
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +18 -7
  4. package/dist/api.js.map +1 -1
  5. package/dist/bin/main.d.ts +2 -0
  6. package/dist/bin/main.d.ts.map +1 -0
  7. package/dist/bin/main.js +138 -0
  8. package/dist/bin/main.js.map +1 -0
  9. package/dist/bin/zm.js +4 -126
  10. package/dist/bin/zm.js.map +1 -1
  11. package/dist/commands.d.ts.map +1 -1
  12. package/dist/commands.js +2 -0
  13. package/dist/commands.js.map +1 -1
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +12 -4
  16. package/dist/config.js.map +1 -1
  17. package/dist/execution.d.ts.map +1 -1
  18. package/dist/execution.js +3 -2
  19. package/dist/execution.js.map +1 -1
  20. package/dist/program.d.ts.map +1 -1
  21. package/dist/program.js +17 -1
  22. package/dist/program.js.map +1 -1
  23. package/dist/recording-archive.d.ts.map +1 -1
  24. package/dist/recording-archive.js +15 -22
  25. package/dist/recording-archive.js.map +1 -1
  26. package/dist/recording-partial-store.d.ts +7 -18
  27. package/dist/recording-partial-store.d.ts.map +1 -1
  28. package/dist/recording-partial-store.js +19 -213
  29. package/dist/recording-partial-store.js.map +1 -1
  30. package/dist/recording-promotion-store.d.ts +3 -2
  31. package/dist/recording-promotion-store.d.ts.map +1 -1
  32. package/dist/recording-promotion-store.js +53 -82
  33. package/dist/recording-promotion-store.js.map +1 -1
  34. package/dist/run-log.d.ts +17 -0
  35. package/dist/run-log.d.ts.map +1 -0
  36. package/dist/run-log.js +50 -0
  37. package/dist/run-log.js.map +1 -0
  38. package/dist/tokens.d.ts +5 -1
  39. package/dist/tokens.d.ts.map +1 -1
  40. package/dist/tokens.js +33 -4
  41. package/dist/tokens.js.map +1 -1
  42. package/package.json +3 -3
  43. package/skills/zoom-cli/SKILL.md +4 -2
package/dist/tokens.js CHANGED
@@ -1,5 +1,11 @@
1
- import { CliError } from "@wirecat/cli-base";
1
+ import { CliError, isCliError } from "@wirecat/cli-base";
2
2
  import { checkCancelled, object } from "./errors.js";
3
+ /** Keys a token record carries beyond cli-base's own; names only, nothing from the token itself. */
4
+ export const TOKEN_LOG_ALLOW = ["rotated", "saved", "pid"];
5
+ export const TOKEN_LOG_EVENT = "zoom.token.exchange";
6
+ // The command deadline aborts with a "timeout" CliError and Ctrl-C with "cancelled"; without a
7
+ // parent abort, only the request's own 30 s limit can have fired.
8
+ const abortReason = (parent) => !parent?.aborted ? "timeout" : isCliError(parent.reason) ? parent.reason.code : "cancelled";
3
9
  export class TokenManager {
4
10
  options;
5
11
  refreshState = new Map();
@@ -18,6 +24,7 @@ export class TokenManager {
18
24
  service: parent.service,
19
25
  fetch: fetcher,
20
26
  now: parent.now,
27
+ log: parent.log,
21
28
  signal: signal && parent.signal ? AbortSignal.any([signal, parent.signal]) : (signal ?? parent.signal),
22
29
  });
23
30
  scoped.refreshState = this.refreshState;
@@ -68,6 +75,14 @@ export class TokenManager {
68
75
  const signal = this.options.signal
69
76
  ? AbortSignal.any([this.options.signal, AbortSignal.timeout(30000)])
70
77
  : AbortSignal.timeout(30000);
78
+ const parent = this.options.signal;
79
+ const record = (level, fields) => this.options.log?.[level]({
80
+ event: TOKEN_LOG_EVENT,
81
+ operation: params.grant_type ?? "unknown",
82
+ pid: process.pid,
83
+ ...(signal.aborted ? { reason: abortReason(parent) } : {}),
84
+ ...fields,
85
+ });
71
86
  let response;
72
87
  try {
73
88
  response = await this.options.fetch("https://zoom.us/oauth/token", {
@@ -79,15 +94,19 @@ export class TokenManager {
79
94
  });
80
95
  }
81
96
  catch {
97
+ record("warn", { outcome: "no_response" });
82
98
  throw new CliError("outcome_unknown", "Zoom token exchange did not finish; run zm session start again before retrying");
83
99
  }
84
- if (!response.ok)
100
+ if (!response.ok) {
101
+ record("warn", { outcome: "rejected", status: response.status });
85
102
  throw new CliError("authentication_error", `Zoom token request failed (HTTP ${response.status}); run zm session start again`);
103
+ }
86
104
  let body;
87
105
  try {
88
106
  body = object(await response.json());
89
107
  }
90
108
  catch {
109
+ record("error", { outcome: "unreadable_response", status: response.status });
91
110
  throw new CliError("outcome_unknown", "Zoom returned an invalid token response; run zm session start again before retrying");
92
111
  }
93
112
  const refreshToken = typeof body.refresh_token === "string" ? body.refresh_token : previous?.refreshToken;
@@ -99,15 +118,25 @@ export class TokenManager {
99
118
  body.expires_in <= 0 ||
100
119
  !Number.isFinite((this.options.now?.() ?? Date.now()) + body.expires_in * 1000) ||
101
120
  (body.scope !== undefined && typeof body.scope !== "string") ||
102
- (body.refresh_token !== undefined && typeof body.refresh_token !== "string"))
121
+ (body.refresh_token !== undefined && typeof body.refresh_token !== "string")) {
122
+ record("error", { outcome: "invalid_response", status: response.status });
103
123
  throw new CliError("outcome_unknown", "Zoom returned an invalid token response; run zm session start again before retrying");
124
+ }
125
+ const rotated = previous ? { rotated: refreshToken !== previous.refreshToken } : {};
104
126
  const tokens = {
105
127
  accessToken: body.access_token,
106
128
  refreshToken,
107
129
  expiresAt: (this.options.now?.() ?? Date.now()) + body.expires_in * 1000,
108
130
  scopes: typeof body.scope === "string" ? body.scope.split(/\s+/).filter(Boolean) : (previous?.scopes ?? []),
109
131
  };
110
- this.save(tokens, clientId);
132
+ try {
133
+ this.save(tokens, clientId);
134
+ }
135
+ catch (error) {
136
+ record("error", { outcome: "save_failed", status: response.status, ...rotated, saved: false });
137
+ throw error;
138
+ }
139
+ record("info", { outcome: "saved", status: response.status, ...rotated, saved: true });
111
140
  return tokens;
112
141
  }
113
142
  async tokens() {
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wirecat/zoom-cli",
3
- "version": "0.21.1",
3
+ "version": "0.21.3",
4
4
  "description": "Zoom cloud recording archives, persistent transcripts and meeting tools",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -53,8 +53,8 @@
53
53
  },
54
54
  "dependencies": {
55
55
  "@modelcontextprotocol/sdk": "1.32.1",
56
- "@wirecat/cli-base": "0.35.0",
57
- "@wirecat/cli-core": "0.294.0",
56
+ "@wirecat/cli-base": "0.40.0",
57
+ "@wirecat/cli-core": "0.304.0",
58
58
  "commander": "15.0.0",
59
59
  "valibot": "1.5.0"
60
60
  },
@@ -2,7 +2,7 @@
2
2
  name: zoom-cli
3
3
  description: Archive Zoom cloud recordings, read stored meeting transcripts and summaries, or manage a Zoom meeting through zm. Use for Zoom CLI workflows, not joining calls or operating the desktop video client.
4
4
  metadata:
5
- version: "0.21.1"
5
+ version: "0.21.3"
6
6
  ---
7
7
 
8
8
  # Zoom CLI
@@ -84,7 +84,9 @@ queries or skipped sources leave completeness false even when the command exits
84
84
  Attending a meeting does not grant recording API access. `recordings sync --since-time <date>
85
85
  --until-time <date> --output-dir <dir> --jsonl` archives bounded history; `download` handles one
86
86
  occurrence. Existing files are never overwritten. Repeated runs skip verified manifest entries;
87
- completed files survive later failures, but incomplete transfers restart, not HTTP range-resume.
87
+ completed files survive later failures. Interrupted transfers resume a verified prefix only when
88
+ a strong validator and the returned byte range agree; changed representations restart safely.
89
+ `--no-resume` uses ephemeral partials. Keep account/profile and archive destination consistent.
88
90
  `recordings archive check <dir> --offline` verifies local checksums. Inspect `archive locks` before
89
91
  `recover`; recovery previews stale local dead-process locks, and `--yes` removes only authorized ones.
90
92