@wirecat/zoom-cli 0.1.1 → 0.2.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 +136 -9
- package/dist/agent-skill.d.ts +4 -0
- package/dist/agent-skill.d.ts.map +1 -0
- package/dist/agent-skill.js +16 -0
- package/dist/agent-skill.js.map +1 -0
- package/dist/api.d.ts +3 -2
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +10 -41
- package/dist/api.js.map +1 -1
- package/dist/archive-commands.d.ts +25 -0
- package/dist/archive-commands.d.ts.map +1 -0
- package/dist/archive-commands.js +157 -0
- package/dist/archive-commands.js.map +1 -0
- package/dist/bin/zm.js +53 -3
- package/dist/bin/zm.js.map +1 -1
- package/dist/commands.d.ts +12 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +96 -0
- package/dist/commands.js.map +1 -0
- package/dist/errors.d.ts +4 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +11 -4
- package/dist/errors.js.map +1 -1
- package/dist/execution.d.ts +16 -0
- package/dist/execution.d.ts.map +1 -0
- package/dist/execution.js +49 -0
- package/dist/execution.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/login.d.ts +1 -0
- package/dist/login.d.ts.map +1 -1
- package/dist/login.js +13 -1
- package/dist/login.js.map +1 -1
- package/dist/mcp-server.d.ts +16 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +172 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/output-file.d.ts +4 -0
- package/dist/output-file.d.ts.map +1 -0
- package/dist/output-file.js +55 -0
- package/dist/output-file.js.map +1 -0
- package/dist/program.d.ts +21 -0
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +317 -44
- package/dist/program.js.map +1 -1
- package/dist/recording-archive.d.ts +62 -0
- package/dist/recording-archive.d.ts.map +1 -0
- package/dist/recording-archive.js +519 -0
- package/dist/recording-archive.js.map +1 -0
- package/dist/recording-sync.d.ts +15 -0
- package/dist/recording-sync.d.ts.map +1 -0
- package/dist/recording-sync.js +49 -0
- package/dist/recording-sync.js.map +1 -0
- package/dist/recordings.d.ts +47 -0
- package/dist/recordings.d.ts.map +1 -0
- package/dist/recordings.js +124 -0
- package/dist/recordings.js.map +1 -0
- package/dist/remote-http.d.ts +23 -0
- package/dist/remote-http.d.ts.map +1 -0
- package/dist/remote-http.js +113 -0
- package/dist/remote-http.js.map +1 -0
- package/dist/remote-meetings.d.ts +58 -0
- package/dist/remote-meetings.d.ts.map +1 -0
- package/dist/remote-meetings.js +151 -0
- package/dist/remote-meetings.js.map +1 -0
- package/dist/store-connection.d.ts +9 -0
- package/dist/store-connection.d.ts.map +1 -0
- package/dist/store-connection.js +39 -0
- package/dist/store-connection.js.map +1 -0
- package/dist/streaming.d.ts +6 -0
- package/dist/streaming.d.ts.map +1 -0
- package/dist/streaming.js +86 -0
- package/dist/streaming.js.map +1 -0
- package/dist/tokens.d.ts +6 -4
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +48 -18
- package/dist/tokens.js.map +1 -1
- package/dist/watch-commands.d.ts +11 -0
- package/dist/watch-commands.d.ts.map +1 -0
- package/dist/watch-commands.js +30 -0
- package/dist/watch-commands.js.map +1 -0
- package/package.json +21 -12
- package/skills/zoom-cli/SKILL.md +69 -0
package/dist/bin/zm.js
CHANGED
|
@@ -2,13 +2,35 @@
|
|
|
2
2
|
import { spawn } from "node:child_process";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { createInterface } from "node:readline/promises";
|
|
5
|
-
import { resolvePaths, systemKeyring } from "@wirecat/cli-core";
|
|
6
|
-
import { readConfig } from "../config.js";
|
|
5
|
+
import { CliError, resolvePaths, systemKeyring } from "@wirecat/cli-core";
|
|
6
|
+
import { profileAccountKey, readConfig } from "../config.js";
|
|
7
|
+
import { ZoomError } from "../errors.js";
|
|
8
|
+
import { writeExportFile } from "../output-file.js";
|
|
7
9
|
import { run } from "../program.js";
|
|
10
|
+
import { createStoreConnector } from "../store-connection.js";
|
|
11
|
+
import { writeStream } from "../streaming.js";
|
|
8
12
|
import { TokenManager } from "../tokens.js";
|
|
9
13
|
const paths = resolvePaths({ appName: "zm", env: process.env });
|
|
10
14
|
const configPath = join(paths.config, "config.json");
|
|
15
|
+
const cancellation = new AbortController();
|
|
16
|
+
let brokenPipe = false;
|
|
17
|
+
const cancel = () => cancellation.abort(new CliError("cancelled", "command cancelled"));
|
|
18
|
+
const onPipeError = (error) => {
|
|
19
|
+
if (error.code === "EPIPE") {
|
|
20
|
+
brokenPipe = true;
|
|
21
|
+
cancellation.abort(new CliError("cancelled", "output pipe closed"));
|
|
22
|
+
process.exitCode = 0;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
cancellation.abort(new CliError("configuration_error", "could not write command output"));
|
|
26
|
+
process.exitCode = 3;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
process.once("SIGINT", cancel);
|
|
30
|
+
process.once("SIGTERM", cancel);
|
|
31
|
+
process.stdout.on("error", onPipeError);
|
|
11
32
|
try {
|
|
33
|
+
const connectStore = createStoreConnector({ env: process.env });
|
|
12
34
|
const tokens = new TokenManager({
|
|
13
35
|
get clientId() {
|
|
14
36
|
return readConfig(configPath).clientId ?? "";
|
|
@@ -20,9 +42,31 @@ try {
|
|
|
20
42
|
process.exitCode = await run(process.argv.slice(2), {
|
|
21
43
|
configPath,
|
|
22
44
|
tokens,
|
|
45
|
+
connectStore,
|
|
46
|
+
serveMcp: async (options) => {
|
|
47
|
+
const { serveMeetingMcp } = await import("../mcp-server.js");
|
|
48
|
+
await serveMeetingMcp({
|
|
49
|
+
...options,
|
|
50
|
+
connectStore: async () => {
|
|
51
|
+
const profile = readConfig(configPath).accountProfile;
|
|
52
|
+
if (!profile)
|
|
53
|
+
throw new ZoomError("configuration_error", "select a local profile with zm config set account.profile <label>");
|
|
54
|
+
return connectStore({ profile, externalId: profileAccountKey(profile), intent: "read" });
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
},
|
|
23
58
|
fetch,
|
|
59
|
+
interactive: Boolean(process.stdin.isTTY),
|
|
60
|
+
outputIsTTY: Boolean(process.stdout.isTTY),
|
|
61
|
+
env: process.env,
|
|
62
|
+
signal: cancellation.signal,
|
|
63
|
+
writeFile: writeExportFile,
|
|
64
|
+
streamData: (text, signal) => writeStream(process.stdout, text, signal),
|
|
24
65
|
data: (text) => process.stdout.write(text),
|
|
25
|
-
diagnostic: (text) =>
|
|
66
|
+
diagnostic: (text) => {
|
|
67
|
+
if (!brokenPipe)
|
|
68
|
+
process.stderr.write(text);
|
|
69
|
+
},
|
|
26
70
|
openBrowser: (url, browser = "xdg-open") => new Promise((resolve, reject) => {
|
|
27
71
|
const child = spawn(browser, [url], { detached: true, stdio: "ignore" });
|
|
28
72
|
child.once("error", reject);
|
|
@@ -48,4 +92,10 @@ catch {
|
|
|
48
92
|
process.stderr.write(`${JSON.stringify({ error: { code: "configuration_error", message: "could not load zm configuration" } })}\n`);
|
|
49
93
|
process.exitCode = 3;
|
|
50
94
|
}
|
|
95
|
+
finally {
|
|
96
|
+
process.removeListener("SIGINT", cancel);
|
|
97
|
+
process.removeListener("SIGTERM", cancel);
|
|
98
|
+
if (brokenPipe)
|
|
99
|
+
process.exitCode = 0;
|
|
100
|
+
}
|
|
51
101
|
//# sourceMappingURL=zm.js.map
|
package/dist/bin/zm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zm.js","sourceRoot":"","sources":["../../src/bin/zm.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"zm.js","sourceRoot":"","sources":["../../src/bin/zm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
export interface StandardCommandsDeps {
|
|
3
|
+
output: (value: unknown) => void;
|
|
4
|
+
discovery: (value: unknown) => void;
|
|
5
|
+
fields: () => readonly string[] | undefined;
|
|
6
|
+
raw: (text: string) => void;
|
|
7
|
+
doctor: () => unknown;
|
|
8
|
+
sessionStatus: (check: boolean) => Promise<unknown>;
|
|
9
|
+
}
|
|
10
|
+
export declare const addStandardCommands: (program: Command, deps: StandardCommandsDeps) => void;
|
|
11
|
+
export declare const annotateMeetingCommands: (program: Command) => void;
|
|
12
|
+
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAChC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACnC,MAAM,EAAE,MAAM,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAC3C,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3B,MAAM,EAAE,MAAM,OAAO,CAAA;IACrB,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACpD;AACD,eAAO,MAAM,mBAAmB,YAAa,OAAO,QAAQ,oBAAoB,KAAG,IAqDlF,CAAA;AAED,eAAO,MAAM,uBAAuB,YAAa,OAAO,KAAG,IAkB1D,CAAA"}
|
package/dist/commands.js
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { projectFields } from "@wirecat/cli-core";
|
|
2
|
+
import { annotate, describeOptions, describeProgram, flatten, metaOf, } from "@wirecat/cli-core/commands";
|
|
3
|
+
import { formatSuggestions, suggest } from "@wirecat/cli-core/completion";
|
|
4
|
+
import { ZoomError } from "./errors.js";
|
|
5
|
+
export const addStandardCommands = (program, deps) => {
|
|
6
|
+
annotate(program
|
|
7
|
+
.command("commands")
|
|
8
|
+
.description("discover commands, flags and examples, optionally scoped to a command path")
|
|
9
|
+
.argument("[path...]", "resource or command path")
|
|
10
|
+
.action((path) => {
|
|
11
|
+
const all = describeProgram(program);
|
|
12
|
+
const scoped = path.length ? flatten(all).filter((item) => item.path.join(" ") === path.join(" ")) : all;
|
|
13
|
+
if (path.length && !scoped.length)
|
|
14
|
+
throw new ZoomError("validation_error", "unknown command path; use zm commands --json");
|
|
15
|
+
const fields = deps.fields();
|
|
16
|
+
deps.discovery({
|
|
17
|
+
commands: fields ? projectDiscovery(scoped, fields) : scoped,
|
|
18
|
+
options: describeOptions(program),
|
|
19
|
+
});
|
|
20
|
+
}), { mutates: false, examples: ["zm commands --json"] });
|
|
21
|
+
annotate(program
|
|
22
|
+
.command("complete")
|
|
23
|
+
.description("answer shell completion requests")
|
|
24
|
+
.argument("[words...]", "shell words ending in the partial word")
|
|
25
|
+
.action((words) => {
|
|
26
|
+
const suggestions = suggest({
|
|
27
|
+
commands: describeProgram(program),
|
|
28
|
+
globalOptions: describeOptions(program),
|
|
29
|
+
words,
|
|
30
|
+
});
|
|
31
|
+
if (program.opts().json || program.opts().jsonl)
|
|
32
|
+
deps.output({ items: suggestions });
|
|
33
|
+
else
|
|
34
|
+
deps.raw(`${formatSuggestions(suggestions)}\n`);
|
|
35
|
+
}), { mutates: false, examples: ["zm complete -- meetings s"] });
|
|
36
|
+
annotate(program
|
|
37
|
+
.command("doctor")
|
|
38
|
+
.description("check local runtime and public config without a login or database")
|
|
39
|
+
.action(() => deps.output(deps.doctor())), { mutates: false, examples: ["zm doctor --json"] });
|
|
40
|
+
const session = program
|
|
41
|
+
.command("session")
|
|
42
|
+
.description("inspect the saved OAuth session separately from local data profiles");
|
|
43
|
+
annotate(session
|
|
44
|
+
.command("status")
|
|
45
|
+
.description("show cached login state; remote verification is explicit")
|
|
46
|
+
.option("--check", "verify the session with Zoom")
|
|
47
|
+
.action(async (options) => deps.output(await deps.sessionStatus(options.check === true))), { mutates: false, examples: ["zm session status --json", "zm session status --check --json"] });
|
|
48
|
+
};
|
|
49
|
+
export const annotateMeetingCommands = (program) => {
|
|
50
|
+
for (const item of flatten(describeProgram(program))) {
|
|
51
|
+
let command = program;
|
|
52
|
+
for (const part of item.path) {
|
|
53
|
+
const found = command.commands.find((child) => child.name() === part);
|
|
54
|
+
if (found)
|
|
55
|
+
command = found;
|
|
56
|
+
}
|
|
57
|
+
if (command.commands.length)
|
|
58
|
+
continue;
|
|
59
|
+
const path = item.path.join(" ");
|
|
60
|
+
const knownLocal = ["config set", "login", "pull", "import", "meetings export"].includes(path);
|
|
61
|
+
const mutates = knownLocal || metaOf(command).mutates === true;
|
|
62
|
+
annotate(command, {
|
|
63
|
+
origin: "handwritten",
|
|
64
|
+
mutates,
|
|
65
|
+
...(knownLocal ? { local: true } : {}),
|
|
66
|
+
...(item.examples ? {} : { examples: [exampleFor(path)] }),
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
const exampleFor = (path) => {
|
|
71
|
+
if (path === "serve")
|
|
72
|
+
return "zm serve --mcp";
|
|
73
|
+
if (path === "login")
|
|
74
|
+
return "zm login --interactive";
|
|
75
|
+
const argumentsByPath = {
|
|
76
|
+
"config set": "account.profile personal",
|
|
77
|
+
"meetings show": "1",
|
|
78
|
+
"meetings transcript": "1",
|
|
79
|
+
"meetings summary": "1",
|
|
80
|
+
"meetings export": "1 --format markdown",
|
|
81
|
+
"meetings search": '"example plan"',
|
|
82
|
+
"meetings people": '"Alice Example"',
|
|
83
|
+
import: "./downloaded-transcripts",
|
|
84
|
+
};
|
|
85
|
+
return `zm ${path}${argumentsByPath[path] ? ` ${argumentsByPath[path]}` : ""} --json`;
|
|
86
|
+
};
|
|
87
|
+
const projectDiscovery = (commands, fields) => commands.map((command) => ({
|
|
88
|
+
...projectFields(command, fields),
|
|
89
|
+
path: command.path,
|
|
90
|
+
name: command.name,
|
|
91
|
+
origin: command.origin,
|
|
92
|
+
mutates: command.mutates,
|
|
93
|
+
local: command.local,
|
|
94
|
+
commands: projectDiscovery(command.commands, fields),
|
|
95
|
+
}));
|
|
96
|
+
//# sourceMappingURL=commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
constructor(code:
|
|
1
|
+
import { CliError, type ErrorCode } from "@wirecat/cli-core";
|
|
2
|
+
export declare class ZoomError extends CliError {
|
|
3
|
+
constructor(code: ErrorCode, message: string);
|
|
4
4
|
}
|
|
5
|
+
export declare const checkCancelled: (signal?: AbortSignal) => void;
|
|
5
6
|
export declare const object: (value: unknown) => Record<string, unknown>;
|
|
6
7
|
export declare const string: (value: unknown) => string | null;
|
|
7
8
|
export declare const number: (value: unknown) => number | null;
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE5D,qBAAa,SAAU,SAAQ,QAAQ;IACrC,YAAY,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAE3C;CACF;AACD,eAAO,MAAM,cAAc,YAAa,WAAW,KAAG,IAKrD,CAAA;AACD,eAAO,MAAM,MAAM,UAAW,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAI7D,CAAA;AACD,eAAO,MAAM,MAAM,UAAW,OAAO,KAAG,MAAM,GAAG,IAAkE,CAAA;AACnH,eAAO,MAAM,MAAM,UAAW,OAAO,KAAG,MAAM,GAAG,IACmB,CAAA"}
|
package/dist/errors.js
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { CliError } from "@wirecat/cli-core";
|
|
2
|
+
export class ZoomError extends CliError {
|
|
3
3
|
constructor(code, message) {
|
|
4
|
-
super(message);
|
|
5
|
-
this.code = code;
|
|
4
|
+
super(code, message);
|
|
6
5
|
}
|
|
7
6
|
}
|
|
7
|
+
export const checkCancelled = (signal) => {
|
|
8
|
+
if (!signal?.aborted)
|
|
9
|
+
return;
|
|
10
|
+
if (signal.reason instanceof CliError)
|
|
11
|
+
throw signal.reason;
|
|
12
|
+
const timedOut = signal.reason instanceof Error && signal.reason.name === "TimeoutError";
|
|
13
|
+
throw new ZoomError(timedOut ? "timeout" : "cancelled", timedOut ? "command timed out" : "command cancelled");
|
|
14
|
+
};
|
|
8
15
|
export const object = (value) => {
|
|
9
16
|
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
10
17
|
throw new ZoomError("invalid_response", "Zoom returned an invalid response");
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAU,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,mBAAmB,CAAA;AAE5D,MAAM,OAAO,SAAU,SAAQ,QAAQ;IACrC,YAAY,IAAe,EAAE,OAAe;QAC1C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACtB,CAAC;CACF;AACD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAoB,EAAQ,EAAE;IAC3D,IAAI,CAAC,MAAM,EAAE,OAAO;QAAE,OAAM;IAC5B,IAAI,MAAM,CAAC,MAAM,YAAY,QAAQ;QAAE,MAAM,MAAM,CAAC,MAAM,CAAA;IAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,YAAY,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAA;IACxF,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAA;AAC/G,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAc,EAA2B,EAAE;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrE,MAAM,IAAI,SAAS,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAAA;IAC9E,OAAO,KAAgC,CAAA;AACzC,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAc,EAAiB,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AACnH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAc,EAAiB,EAAE,CACtD,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Deadline, type OutputBuffer, type SleepLike } from "@wirecat/cli-core";
|
|
2
|
+
import type { Command } from "commander";
|
|
3
|
+
export declare const duration: (text: string) => number;
|
|
4
|
+
export declare const bytes: (text: string) => number;
|
|
5
|
+
export declare const commandDeadline: (action: Command) => number | undefined;
|
|
6
|
+
export interface ExecutionOptions {
|
|
7
|
+
signal?: AbortSignal;
|
|
8
|
+
sleep?: SleepLike;
|
|
9
|
+
}
|
|
10
|
+
export interface ExecutionState {
|
|
11
|
+
deadline: Deadline;
|
|
12
|
+
output: OutputBuffer;
|
|
13
|
+
}
|
|
14
|
+
export declare const startExecution: (action: Command, options: ExecutionOptions) => ExecutionState;
|
|
15
|
+
export declare const resetCliOptions: (root: Command) => void;
|
|
16
|
+
//# sourceMappingURL=execution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACxH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,eAAO,MAAM,QAAQ,SAAU,MAAM,KAAG,MAOvC,CAAA;AACD,eAAO,MAAM,KAAK,SAAU,MAAM,KAAG,MAIpC,CAAA;AACD,eAAO,MAAM,eAAe,WAAY,OAAO,KAAG,MAAM,GAAG,SAU1D,CAAA;AACD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,YAAY,CAAA;CACrB;AACD,eAAO,MAAM,cAAc,WAAY,OAAO,WAAW,gBAAgB,KAAG,cAU3E,CAAA;AAED,eAAO,MAAM,eAAe,SAAU,OAAO,KAAG,IAS/C,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { createDeadline, createOutputBuffer } from "@wirecat/cli-core";
|
|
2
|
+
import { ZoomError } from "./errors.js";
|
|
3
|
+
export const duration = (text) => {
|
|
4
|
+
const match = /^(\d+(?:\.\d+)?)(ms|s|m|h)?$/.exec(text);
|
|
5
|
+
const unit = { ms: 1, s: 1000, m: 60000, h: 3600000 }[match?.[2] ?? "ms"];
|
|
6
|
+
const value = Number(match?.[1]) * (unit ?? 1);
|
|
7
|
+
if (!match || !Number.isSafeInteger(value) || value <= 0 || value > 2147483647)
|
|
8
|
+
throw new ZoomError("validation_error", "timeout must be a positive duration such as 30s, 5m or 1h");
|
|
9
|
+
return value;
|
|
10
|
+
};
|
|
11
|
+
export const bytes = (text) => {
|
|
12
|
+
if (!/^\d+$/.test(text) || !Number.isSafeInteger(Number(text)))
|
|
13
|
+
throw new ZoomError("validation_error", "expected a nonnegative whole byte count");
|
|
14
|
+
return Number(text);
|
|
15
|
+
};
|
|
16
|
+
export const commandDeadline = (action) => {
|
|
17
|
+
if (action.name() === "watch" || action.name() === "serve")
|
|
18
|
+
return undefined;
|
|
19
|
+
if (action.name() === "login")
|
|
20
|
+
return 300000;
|
|
21
|
+
if (action.name() === "download" ||
|
|
22
|
+
action.name() === "sync" ||
|
|
23
|
+
(action.name() === "verify" && action.parent?.name() === "archive"))
|
|
24
|
+
return 3600000;
|
|
25
|
+
return 30000;
|
|
26
|
+
};
|
|
27
|
+
export const startExecution = (action, options) => {
|
|
28
|
+
const flags = action.optsWithGlobals();
|
|
29
|
+
return {
|
|
30
|
+
deadline: createDeadline({
|
|
31
|
+
timeoutMs: flags.timeout ?? commandDeadline(action),
|
|
32
|
+
signal: options.signal,
|
|
33
|
+
sleep: options.sleep,
|
|
34
|
+
}),
|
|
35
|
+
output: createOutputBuffer({ maxOutputBytes: flags.maxOutputBytes }),
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export const resetCliOptions = (root) => {
|
|
39
|
+
for (const command of [root, ...root.commands]) {
|
|
40
|
+
for (const option of command.options) {
|
|
41
|
+
const name = option.attributeName();
|
|
42
|
+
if (command.getOptionValueSource(name) === "cli")
|
|
43
|
+
command.setOptionValueWithSource(name, option.defaultValue ?? (option.negate ? true : undefined), "default");
|
|
44
|
+
}
|
|
45
|
+
if (command !== root && command.commands.length)
|
|
46
|
+
resetCliOptions(command);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=execution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,11 @@ export { profileAccountKey, readConfig, setConfig, type ZoomConfig } from "./con
|
|
|
3
3
|
export { ZoomError } from "./errors.js";
|
|
4
4
|
export { type DownloadedFile, FilesSource, fileMeeting, importFile, readDownloadedFiles, validateDownloadedFiles, } from "./files.js";
|
|
5
5
|
export { type LoginOptions, login, REDIRECT } from "./login.js";
|
|
6
|
+
export { createMeetingMcpServer, type MeetingMcpOptions, serveMeetingMcp } from "./mcp-server.js";
|
|
6
7
|
export { createProgram, type ProgramDeps, run, type StoreConnection, type StoreConnectRequest } from "./program.js";
|
|
8
|
+
export { type ArchiveSyncOptions, type ArchiveSyncReceipt, syncRecordingArchive } from "./recording-sync.js";
|
|
9
|
+
export { type ArchivedFile, type ArchiveLockInfo, type ArchiveManifest, type ArchiveReport, type ArchiveVerification, type DownloadOptions, getZoomProfile, inspectArchive, inspectArchiveLocks, type RecordingAsset, type RecordingMeeting, type RecordingRange, recoverArchiveLocks, verifyArchive, type ZoomProfile, ZoomRecordings, } from "./recordings.js";
|
|
10
|
+
export { type MeetingChange, type MeetingMutation, type MutationOptions, type RemoteMeeting, ZoomRemoteMeetings, } from "./remote-meetings.js";
|
|
11
|
+
export { createStoreConnector, type StoreConnectionOptions } from "./store-connection.js";
|
|
7
12
|
export { TokenManager, type TokenOptions, type Tokens } from "./tokens.js";
|
|
8
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACL,KAAK,cAAc,EACnB,WAAW,EACX,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,GAAG,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACnH,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACL,KAAK,cAAc,EACnB,WAAW,EACX,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjG,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,GAAG,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACnH,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC5G,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,mBAAmB,EACnB,aAAa,EACb,KAAK,WAAW,EAChB,cAAc,GACf,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,11 @@ export { profileAccountKey, readConfig, setConfig } from "./config.js";
|
|
|
3
3
|
export { ZoomError } from "./errors.js";
|
|
4
4
|
export { FilesSource, fileMeeting, importFile, readDownloadedFiles, validateDownloadedFiles, } from "./files.js";
|
|
5
5
|
export { login, REDIRECT } from "./login.js";
|
|
6
|
+
export { createMeetingMcpServer, serveMeetingMcp } from "./mcp-server.js";
|
|
6
7
|
export { createProgram, run } from "./program.js";
|
|
8
|
+
export { syncRecordingArchive } from "./recording-sync.js";
|
|
9
|
+
export { getZoomProfile, inspectArchive, inspectArchiveLocks, recoverArchiveLocks, verifyArchive, ZoomRecordings, } from "./recordings.js";
|
|
10
|
+
export { ZoomRemoteMeetings, } from "./remote-meetings.js";
|
|
11
|
+
export { createStoreConnector } from "./store-connection.js";
|
|
7
12
|
export { TokenManager } from "./tokens.js";
|
|
8
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAmB,MAAM,aAAa,CAAA;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAEL,WAAW,EACX,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAqB,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAoB,GAAG,EAAkD,MAAM,cAAc,CAAA;AACnH,OAAO,EAAE,YAAY,EAAkC,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAmB,MAAM,aAAa,CAAA;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAEL,WAAW,EACX,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAqB,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,sBAAsB,EAA0B,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjG,OAAO,EAAE,aAAa,EAAoB,GAAG,EAAkD,MAAM,cAAc,CAAA;AACnH,OAAO,EAAoD,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC5G,OAAO,EAOL,cAAc,EACd,cAAc,EACd,mBAAmB,EAInB,mBAAmB,EACnB,aAAa,EAEb,cAAc,GACf,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAKL,kBAAkB,GACnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,oBAAoB,EAA+B,MAAM,uBAAuB,CAAA;AACzF,OAAO,EAAE,YAAY,EAAkC,MAAM,aAAa,CAAA"}
|
package/dist/login.d.ts
CHANGED
package/dist/login.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,eAAO,MAAM,QAAQ,sCAAsC,CAAA;AAC3D,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAA;IACpB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACpD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,eAAO,MAAM,QAAQ,sCAAsC,CAAA;AAC3D,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAA;IACpB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACpD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AACD,eAAO,MAAM,KAAK,YAAmB,YAAY;;;EA0FhD,CAAA"}
|
package/dist/login.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { createHash, randomBytes } from "node:crypto";
|
|
2
2
|
import { createServer } from "node:http";
|
|
3
|
-
import { ZoomError } from "./errors.js";
|
|
3
|
+
import { checkCancelled, ZoomError } from "./errors.js";
|
|
4
4
|
export const REDIRECT = "https://wirecat.dev/zoom-callback";
|
|
5
5
|
export const login = async (options) => {
|
|
6
|
+
checkCancelled(options.signal);
|
|
6
7
|
const verifier = randomBytes(48).toString("base64url");
|
|
7
8
|
const challenge = createHash("sha256").update(verifier).digest("base64url");
|
|
8
9
|
const controller = new AbortController();
|
|
@@ -13,6 +14,15 @@ export const login = async (options) => {
|
|
|
13
14
|
accept = resolve;
|
|
14
15
|
fail = reject;
|
|
15
16
|
});
|
|
17
|
+
const onAbort = () => {
|
|
18
|
+
try {
|
|
19
|
+
checkCancelled(options.signal);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
fail(error instanceof Error ? error : new ZoomError("cancelled", "command cancelled"));
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
options.signal?.addEventListener("abort", onAbort, { once: true });
|
|
16
26
|
// Startup and paste can fail before the callback is awaited.
|
|
17
27
|
void codePromise.catch(() => { });
|
|
18
28
|
const server = createServer((request, response) => {
|
|
@@ -51,6 +61,7 @@ export const login = async (options) => {
|
|
|
51
61
|
code_challenge_method: "S256",
|
|
52
62
|
state,
|
|
53
63
|
}).toString();
|
|
64
|
+
checkCancelled(options.signal);
|
|
54
65
|
options.showUrl?.(authorize.toString());
|
|
55
66
|
const pastePromise = options.readPaste?.(controller.signal).then((text) => {
|
|
56
67
|
const query = new URLSearchParams(text.includes("?") ? text.slice(text.indexOf("?") + 1) : text);
|
|
@@ -76,6 +87,7 @@ export const login = async (options) => {
|
|
|
76
87
|
return { loggedIn: true, scopes: tokens.scopes };
|
|
77
88
|
}
|
|
78
89
|
finally {
|
|
90
|
+
options.signal?.removeEventListener("abort", onAbort);
|
|
79
91
|
clearTimeout(timer);
|
|
80
92
|
controller.abort();
|
|
81
93
|
server.close();
|
package/dist/login.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2
|
+
import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
|
|
3
|
+
import type { StoreConnection } from "./program.js";
|
|
4
|
+
export interface MeetingMcpOptions {
|
|
5
|
+
/** Resolve the selected profile with read intent; each call owns a fresh connection. */
|
|
6
|
+
connectStore: () => Promise<StoreConnection>;
|
|
7
|
+
version?: string;
|
|
8
|
+
signal?: AbortSignal;
|
|
9
|
+
/** Maximum UTF-8 bytes in a serialized tool result, including both content forms; zero is unlimited. */
|
|
10
|
+
maxResultBytes?: number;
|
|
11
|
+
}
|
|
12
|
+
/** Embedding seam. Caller owns transport shutdown; each tool call closes its read connection. */
|
|
13
|
+
export declare const createMeetingMcpServer: (options: MeetingMcpOptions) => Server;
|
|
14
|
+
/** Serve until EOF, transport close or abort; in-flight reads close before this resolves. */
|
|
15
|
+
export declare const serveMeetingMcp: (options: MeetingMcpOptions, transport?: Transport) => Promise<void>;
|
|
16
|
+
//# sourceMappingURL=mcp-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAM9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAGnD,MAAM,WAAW,iBAAiB;IAChC,wFAAwF;IACxF,YAAY,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAA;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,wGAAwG;IACxG,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AA8GD,iGAAiG;AACjG,eAAO,MAAM,sBAAsB,YAAa,iBAAiB,KAAG,MAAqC,CAAA;AAEzG,6FAA6F;AAC7F,eAAO,MAAM,eAAe,YAAmB,iBAAiB,cAAc,SAAS,KAAG,OAAO,CAAC,IAAI,CAkDrG,CAAA"}
|