@wirecat/zoom-cli 0.1.1 → 0.2.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 +165 -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 +32 -0
- package/dist/archive-commands.d.ts.map +1 -0
- package/dist/archive-commands.js +182 -0
- package/dist/archive-commands.js.map +1 -0
- package/dist/archive-transcripts.d.ts +33 -0
- package/dist/archive-transcripts.d.ts.map +1 -0
- package/dist/archive-transcripts.js +131 -0
- package/dist/archive-transcripts.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 +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -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 +22 -0
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +443 -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 +25 -0
- package/dist/watch-commands.d.ts.map +1 -0
- package/dist/watch-commands.js +52 -0
- package/dist/watch-commands.js.map +1 -0
- package/package.json +22 -12
- package/skills/zoom-cli/SKILL.md +85 -0
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wirecat/zoom-cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Zoom
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"description": "Zoom cloud recording archives, persistent transcripts and meeting tools",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"engines": {
|
|
8
|
-
"node": "
|
|
8
|
+
"node": "^22.16.0 || >=24"
|
|
9
9
|
},
|
|
10
10
|
"packageManager": "pnpm@11.20.0",
|
|
11
11
|
"repository": {
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"files": [
|
|
19
19
|
"dist",
|
|
20
|
+
"skills",
|
|
20
21
|
"README.md",
|
|
21
22
|
"LICENSE"
|
|
22
23
|
],
|
|
@@ -35,21 +36,30 @@
|
|
|
35
36
|
"test:coverage": "vitest run --coverage",
|
|
36
37
|
"smoke:bun": "bun run scripts/smoke.ts",
|
|
37
38
|
"prepublishOnly": "pnpm build",
|
|
38
|
-
"docs:check": "node node_modules/@wirecat/cli-core/dist/dev/bin.js docs-check --rules scripts/docs-rules.ts && cspell --no-progress --no-summary README.md && node node_modules/rumdl/bin/rumdl check --config
|
|
39
|
+
"docs:check": "node node_modules/@wirecat/cli-core/dist/dev/bin.js docs-check --rules scripts/docs-rules.ts && cspell --no-progress --no-summary README.md && node node_modules/rumdl/bin/rumdl check --config config/wirecat/rumdl.toml README.md CHANGELOG.md CLAUDE.md docs/dev/*.md",
|
|
40
|
+
"standards:check": "node config/wirecat/check.mjs",
|
|
41
|
+
"docs:lint": "markdownlint-cli2",
|
|
42
|
+
"docs:spell": "cspell lint --config cspell.json --no-progress README.md",
|
|
43
|
+
"prepare": "lefthook install || true",
|
|
44
|
+
"ci:quick": "pnpm typecheck"
|
|
39
45
|
},
|
|
40
46
|
"dependencies": {
|
|
41
|
-
"@
|
|
42
|
-
"@wirecat/cli-
|
|
43
|
-
"
|
|
47
|
+
"@modelcontextprotocol/sdk": "1.32.1",
|
|
48
|
+
"@wirecat/cli-core": "0.19.3",
|
|
49
|
+
"@wirecat/cli-meetings": "0.2.4",
|
|
50
|
+
"commander": "15.0.0",
|
|
51
|
+
"@wirecat/cli-messaging": "0.218.0"
|
|
44
52
|
},
|
|
45
53
|
"devDependencies": {
|
|
46
|
-
"@biomejs/biome": "
|
|
47
|
-
"@cspell/dict-en-gb": "
|
|
48
|
-
"@cspell/dict-
|
|
54
|
+
"@biomejs/biome": "2.5.15",
|
|
55
|
+
"@cspell/dict-en-gb": "5.0.34",
|
|
56
|
+
"@cspell/dict-es-es": "3.0.9",
|
|
57
|
+
"@cspell/dict-ru_ru": "2.3.3",
|
|
49
58
|
"@types/node": "^22.20.5",
|
|
50
59
|
"@vitest/coverage-v8": "^5.0.3",
|
|
51
|
-
"cspell": "
|
|
52
|
-
"lefthook": "
|
|
60
|
+
"cspell": "10.3.6",
|
|
61
|
+
"lefthook": "2.1.16",
|
|
62
|
+
"markdownlint-cli2": "0.23.3",
|
|
53
63
|
"rumdl": "^0.2.78",
|
|
54
64
|
"typescript": "^7.0.2",
|
|
55
65
|
"vitest": "^5.0.3"
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zoom-cli
|
|
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
|
+
metadata:
|
|
5
|
+
version: "0.2.1"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Zoom CLI
|
|
9
|
+
|
|
10
|
+
Use `zm commands <resource> --json` and `zm <resource> --help` for the installed version's capabilities.
|
|
11
|
+
Use JSON for finite reads and JSONL for foreground watches or batch synchronization. Keep diagnostics
|
|
12
|
+
on stderr; use `--fields` to limit returned content. `zm doctor --json` checks local setup without login.
|
|
13
|
+
|
|
14
|
+
## Recording archives
|
|
15
|
+
|
|
16
|
+
Use `recordings sync --from <date> --to <date> --destination <directory> --jsonl` to archive history
|
|
17
|
+
across months. It emits serial occurrence receipts and accepts up to ten calendar years.
|
|
18
|
+
Use `recordings list` to find cloud recording occurrences, then `recordings show <id-or-uuid>` to
|
|
19
|
+
inspect assets. Download with `recordings download <id-or-uuid> --destination <directory>`.
|
|
20
|
+
Prefer occurrence UUIDs for recurring meetings. Download access depends on Zoom scopes and the
|
|
21
|
+
signed-in account; attending a meeting does not imply access to its recording API.
|
|
22
|
+
|
|
23
|
+
Re-run against the same destination to skip verified manifest entries. Use `recordings archive verify`
|
|
24
|
+
for local checksums; it works with `--offline`. The receipt distinguishes downloaded, skipped and
|
|
25
|
+
unavailable assets. A failed transfer can leave earlier completed files; retry starts the incomplete
|
|
26
|
+
file again. Existing files are never overwritten. Do not infer HTTP byte-range resume.
|
|
27
|
+
|
|
28
|
+
Read cues with `recordings archive transcript <directory>` or search their text with
|
|
29
|
+
`recordings archive search <directory> <query> --limit 100`. Both work offline without configuration,
|
|
30
|
+
login or a database and verify each WebVTT file they read before returning results. Search can stop
|
|
31
|
+
before reading later files once it proves another match beyond the limit. Select `--uuid` or
|
|
32
|
+
comma-separated `--file-ids`; `--max-bytes` defaults to 8 MiB per file. Search is literal, normalized
|
|
33
|
+
and case-insensitive, with a maximum of 1000 matches. When `hasMore` is true, increase the limit or
|
|
34
|
+
narrow the occurrence, file or query selection;
|
|
35
|
+
there is no continuation cursor. These reads do not import archive assets into the database.
|
|
36
|
+
|
|
37
|
+
`recordings archive locks` inspects writer locks. `recover` previews stale lock removal; `--yes`
|
|
38
|
+
removes recognized dead-process locks on this machine. It does not repair incomplete manifests or
|
|
39
|
+
adopt untracked files. Keep active and foreign locks intact.
|
|
40
|
+
|
|
41
|
+
## Stored meeting content
|
|
42
|
+
|
|
43
|
+
Stored `meetings` ids are local database ids, different from remote Zoom ids. Use `meetings show`,
|
|
44
|
+
`transcript`, `summary` and `search` for local reads. `transcript --history` includes retained versions.
|
|
45
|
+
Export Markdown or VTT with `meetings export <id> --format markdown|vtt`; file output requires an
|
|
46
|
+
explicit `--output` path and never overwrites an existing file. VTT export requires an unambiguous
|
|
47
|
+
current transcript or an explicit transcript id.
|
|
48
|
+
|
|
49
|
+
Store commands use the shared SQLite database; `MESSAGING_STORE` selects an explicit path. Select a
|
|
50
|
+
local profile before import or pull. Reads require existing profile data; they do not register it. `pull --lookback-days` revisits late
|
|
51
|
+
transcripts. File imports preserve the API pull cursor. Serialize ingestion for the same account.
|
|
52
|
+
Local profile labels group stored data and do not select a different OAuth account.
|
|
53
|
+
|
|
54
|
+
`zm watch <folder> --jsonl` rescans legacy transcript files in the foreground; each cycle closes its
|
|
55
|
+
connection before emitting a receipt. Stop with Ctrl-C. Fully completed late receipts have at most
|
|
56
|
+
one second to flush; cancellation never starts another cycle. Hashed cloud archive VTT assets do
|
|
57
|
+
not use legacy filenames and have no direct database-import command yet.
|
|
58
|
+
|
|
59
|
+
Use `zm watch --source api --lookback-days 7 --jsonl` for repeated online pulls that revisit late
|
|
60
|
+
transcripts. Without a folder or explicit source, watch uses the configured source; files can use
|
|
61
|
+
the configured folder. `--since` and `--lookback-days` apply only to API watching. Configuration is
|
|
62
|
+
captured before the first cycle, so restart to change profiles or source settings.
|
|
63
|
+
`--since` is the initial bound until a cursor write succeeds; later cycles use cursor plus overlap.
|
|
64
|
+
The selected overlap also subtracts from the initial bound.
|
|
65
|
+
|
|
66
|
+
`zm serve --mcp` provides seven read-only stored meeting tools. Discovery opens no database; reads
|
|
67
|
+
use the selected account. MCP uses its own framing, so omit JSON/JSONL/field-selection flags.
|
|
68
|
+
|
|
69
|
+
## Remote meeting changes
|
|
70
|
+
|
|
71
|
+
`remote-meetings` uses numeric Zoom meeting ids. Create, update and cancel preview by default;
|
|
72
|
+
`--yes` applies a change once, and `--dry-run` always previews. Follow the user's authorization for
|
|
73
|
+
actual mutations. Exit code 14 means a dispatched operation has an uncertain outcome: inspect remote
|
|
74
|
+
state before retrying. Do not automatically retry creation or cancellation.
|
|
75
|
+
|
|
76
|
+
## Authentication and execution
|
|
77
|
+
|
|
78
|
+
Missing-scope errors name the required scope; add it to the public OAuth app and log in again.
|
|
79
|
+
Browser login requires interactive input; `--interactive` permits piped/JSON login only when an input
|
|
80
|
+
terminal is present. `--no-input` cannot approve browser consent. Never extract or print keyring tokens.
|
|
81
|
+
Cached `session status` does not contact Zoom; `--check` explicitly verifies remotely.
|
|
82
|
+
|
|
83
|
+
Use `--timeout <milliseconds>` for a positive whole-command deadline and cancellation for foreground
|
|
84
|
+
jobs. `--offline` refuses network access. Recording videos stream to disk; ordinary result output is
|
|
85
|
+
bounded by `--max-output-bytes`, separate from the download's per-file `--max-bytes` limit.
|