@wirecat/zoom-cli 0.21.2 → 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.
- package/dist/api.d.ts +1 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +18 -7
- package/dist/api.js.map +1 -1
- package/dist/bin/main.d.ts +2 -0
- package/dist/bin/main.d.ts.map +1 -0
- package/dist/bin/main.js +138 -0
- package/dist/bin/main.js.map +1 -0
- package/dist/bin/zm.js +4 -126
- package/dist/bin/zm.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +12 -4
- package/dist/config.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +17 -1
- package/dist/program.js.map +1 -1
- package/dist/recording-archive.d.ts.map +1 -1
- package/dist/recording-archive.js +15 -22
- package/dist/recording-archive.js.map +1 -1
- package/dist/recording-promotion-store.d.ts +3 -2
- package/dist/recording-promotion-store.d.ts.map +1 -1
- package/dist/recording-promotion-store.js +53 -82
- package/dist/recording-promotion-store.js.map +1 -1
- package/dist/run-log.d.ts +17 -0
- package/dist/run-log.d.ts.map +1 -0
- package/dist/run-log.js +50 -0
- package/dist/run-log.js.map +1 -0
- package/dist/tokens.d.ts +5 -1
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +33 -4
- package/dist/tokens.js.map +1 -1
- package/package.json +2 -2
- package/skills/zoom-cli/SKILL.md +1 -1
package/dist/run-log.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { createRecordLog } from "@wirecat/cli-base";
|
|
3
|
+
import { startRun } from "@wirecat/cli-core/cli";
|
|
4
|
+
// Opens the run on its first event, so a command that logs nothing leaves no run directory behind.
|
|
5
|
+
// startRun's own logger allows only cli-core's keys, so zm's records go through createRecordLog with
|
|
6
|
+
// zm's allow-list, into the same events.jsonl.
|
|
7
|
+
export const lazyRunLog = (options) => {
|
|
8
|
+
let opened;
|
|
9
|
+
let failed = false;
|
|
10
|
+
const open = () => {
|
|
11
|
+
if (failed)
|
|
12
|
+
return undefined;
|
|
13
|
+
try {
|
|
14
|
+
if (!opened) {
|
|
15
|
+
const resource = { service: "zm", version: options.version };
|
|
16
|
+
const run = startRun({
|
|
17
|
+
runsDir: options.runsDir,
|
|
18
|
+
command: options.command,
|
|
19
|
+
profile: "",
|
|
20
|
+
service: resource.service,
|
|
21
|
+
cliVersion: options.version,
|
|
22
|
+
...(options.onError ? { onError: options.onError } : {}),
|
|
23
|
+
});
|
|
24
|
+
const log = createRecordLog({
|
|
25
|
+
to: join(run.dir, "events.jsonl"),
|
|
26
|
+
runId: run.id,
|
|
27
|
+
command: options.command,
|
|
28
|
+
resource,
|
|
29
|
+
allow: options.allow,
|
|
30
|
+
...(options.onError ? { onError: options.onError } : {}),
|
|
31
|
+
});
|
|
32
|
+
opened = { finish: (status) => run.finish(status), log };
|
|
33
|
+
}
|
|
34
|
+
return opened.log;
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
failed = true;
|
|
38
|
+
options.onError?.(error instanceof Error ? error : new Error("could not open the run log"));
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const at = (level) => (event) => open()?.[level](event);
|
|
43
|
+
return {
|
|
44
|
+
log: { debug: at("debug"), info: at("info"), warn: at("warn"), error: at("error") },
|
|
45
|
+
finish: async (status) => {
|
|
46
|
+
await opened?.finish(status);
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=run-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-log.js","sourceRoot":"","sources":["../src/run-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,eAAe,EAAe,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAgBhD,mGAAmG;AACnG,qGAAqG;AACrG,+CAA+C;AAC/C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAsB,EAAU,EAAE;IAC3D,IAAI,MAAiF,CAAA;IACrF,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,MAAM,IAAI,GAAG,GAAuB,EAAE;QACpC,IAAI,MAAM;YAAE,OAAO,SAAS,CAAA;QAC5B,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAA;gBAC5D,MAAM,GAAG,GAAG,QAAQ,CAAC;oBACnB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,UAAU,EAAE,OAAO,CAAC,OAAO;oBAC3B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzD,CAAC,CAAA;gBACF,MAAM,GAAG,GAAG,eAAe,CAAC;oBAC1B,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC;oBACjC,KAAK,EAAE,GAAG,CAAC,EAAE;oBACb,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,QAAQ;oBACR,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzD,CAAC,CAAA;gBACF,MAAM,GAAG,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;YAC1D,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAA;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,IAAI,CAAA;YACb,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAA;YAC3F,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC,CAAA;IACD,MAAM,EAAE,GACN,CAAC,KAAmB,EAAE,EAAE,CACxB,CAAC,KAAa,EAAQ,EAAE,CACtB,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAA;IAC1B,OAAO;QACL,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE;QACnF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvB,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC;KACF,CAAA;AACH,CAAC,CAAA"}
|
package/dist/tokens.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { KeyringStore } from "@wirecat/cli-base";
|
|
1
|
+
import type { KeyringStore, Logger } from "@wirecat/cli-base";
|
|
2
2
|
export interface Tokens {
|
|
3
3
|
accessToken: string;
|
|
4
4
|
refreshToken: string;
|
|
@@ -12,7 +12,11 @@ export interface TokenOptions {
|
|
|
12
12
|
fetch: typeof fetch;
|
|
13
13
|
now?: () => number;
|
|
14
14
|
signal?: AbortSignal;
|
|
15
|
+
log?: Logger;
|
|
15
16
|
}
|
|
17
|
+
/** Keys a token record carries beyond cli-base's own; names only, nothing from the token itself. */
|
|
18
|
+
export declare const TOKEN_LOG_ALLOW: readonly ["rotated", "saved", "pid"];
|
|
19
|
+
export declare const TOKEN_LOG_EVENT = "zoom.token.exchange";
|
|
16
20
|
export declare class TokenManager {
|
|
17
21
|
readonly options: TokenOptions;
|
|
18
22
|
private refreshState;
|
package/dist/tokens.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI7D,MAAM,WAAW,MAAM;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AACD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,YAAY,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,OAAO,KAAK,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AACD,oGAAoG;AACpG,eAAO,MAAM,eAAe,YAAI,SAAS,EAAE,OAAO,EAAE,KAAK,CAAU,CAAA;AACnE,eAAO,MAAM,eAAe,wBAAwB,CAAA;AAKpD,qBAAa,YAAY;IAEX,QAAQ,CAAC,OAAO,EAAE,YAAY;IAD1C,OAAO,CAAC,YAAY,CAAqC;IACzD,YAAqB,OAAO,EAAE,YAAY,EAAI;IAC9C,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,GAAE,OAAO,KAA0B,GAAG,YAAY,CAiBzF;IACD,IAAI,CAAC,QAAQ,SAAwB,GAAG,MAAM,GAAG,IAAI,CA8BpD;IACD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAwB,GAAG,IAAI,CAM3D;IACK,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,SAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgFnH;IACK,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAoB9B;CACF"}
|
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
|
-
|
|
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() {
|
package/dist/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;
|
|
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.
|
|
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",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@modelcontextprotocol/sdk": "1.32.1",
|
|
56
56
|
"@wirecat/cli-base": "0.40.0",
|
|
57
|
-
"@wirecat/cli-core": "0.
|
|
57
|
+
"@wirecat/cli-core": "0.304.0",
|
|
58
58
|
"commander": "15.0.0",
|
|
59
59
|
"valibot": "1.5.0"
|
|
60
60
|
},
|
package/skills/zoom-cli/SKILL.md
CHANGED
|
@@ -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.
|
|
5
|
+
version: "0.21.3"
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Zoom CLI
|