@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.
Files changed (85) hide show
  1. package/README.md +136 -9
  2. package/dist/agent-skill.d.ts +4 -0
  3. package/dist/agent-skill.d.ts.map +1 -0
  4. package/dist/agent-skill.js +16 -0
  5. package/dist/agent-skill.js.map +1 -0
  6. package/dist/api.d.ts +3 -2
  7. package/dist/api.d.ts.map +1 -1
  8. package/dist/api.js +10 -41
  9. package/dist/api.js.map +1 -1
  10. package/dist/archive-commands.d.ts +25 -0
  11. package/dist/archive-commands.d.ts.map +1 -0
  12. package/dist/archive-commands.js +157 -0
  13. package/dist/archive-commands.js.map +1 -0
  14. package/dist/bin/zm.js +53 -3
  15. package/dist/bin/zm.js.map +1 -1
  16. package/dist/commands.d.ts +12 -0
  17. package/dist/commands.d.ts.map +1 -0
  18. package/dist/commands.js +96 -0
  19. package/dist/commands.js.map +1 -0
  20. package/dist/errors.d.ts +4 -3
  21. package/dist/errors.d.ts.map +1 -1
  22. package/dist/errors.js +11 -4
  23. package/dist/errors.js.map +1 -1
  24. package/dist/execution.d.ts +16 -0
  25. package/dist/execution.d.ts.map +1 -0
  26. package/dist/execution.js +49 -0
  27. package/dist/execution.js.map +1 -0
  28. package/dist/index.d.ts +5 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +5 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/login.d.ts +1 -0
  33. package/dist/login.d.ts.map +1 -1
  34. package/dist/login.js +13 -1
  35. package/dist/login.js.map +1 -1
  36. package/dist/mcp-server.d.ts +16 -0
  37. package/dist/mcp-server.d.ts.map +1 -0
  38. package/dist/mcp-server.js +172 -0
  39. package/dist/mcp-server.js.map +1 -0
  40. package/dist/output-file.d.ts +4 -0
  41. package/dist/output-file.d.ts.map +1 -0
  42. package/dist/output-file.js +55 -0
  43. package/dist/output-file.js.map +1 -0
  44. package/dist/program.d.ts +21 -0
  45. package/dist/program.d.ts.map +1 -1
  46. package/dist/program.js +317 -44
  47. package/dist/program.js.map +1 -1
  48. package/dist/recording-archive.d.ts +62 -0
  49. package/dist/recording-archive.d.ts.map +1 -0
  50. package/dist/recording-archive.js +519 -0
  51. package/dist/recording-archive.js.map +1 -0
  52. package/dist/recording-sync.d.ts +15 -0
  53. package/dist/recording-sync.d.ts.map +1 -0
  54. package/dist/recording-sync.js +49 -0
  55. package/dist/recording-sync.js.map +1 -0
  56. package/dist/recordings.d.ts +47 -0
  57. package/dist/recordings.d.ts.map +1 -0
  58. package/dist/recordings.js +124 -0
  59. package/dist/recordings.js.map +1 -0
  60. package/dist/remote-http.d.ts +23 -0
  61. package/dist/remote-http.d.ts.map +1 -0
  62. package/dist/remote-http.js +113 -0
  63. package/dist/remote-http.js.map +1 -0
  64. package/dist/remote-meetings.d.ts +58 -0
  65. package/dist/remote-meetings.d.ts.map +1 -0
  66. package/dist/remote-meetings.js +151 -0
  67. package/dist/remote-meetings.js.map +1 -0
  68. package/dist/store-connection.d.ts +9 -0
  69. package/dist/store-connection.d.ts.map +1 -0
  70. package/dist/store-connection.js +39 -0
  71. package/dist/store-connection.js.map +1 -0
  72. package/dist/streaming.d.ts +6 -0
  73. package/dist/streaming.d.ts.map +1 -0
  74. package/dist/streaming.js +86 -0
  75. package/dist/streaming.js.map +1 -0
  76. package/dist/tokens.d.ts +6 -4
  77. package/dist/tokens.d.ts.map +1 -1
  78. package/dist/tokens.js +48 -18
  79. package/dist/tokens.js.map +1 -1
  80. package/dist/watch-commands.d.ts +11 -0
  81. package/dist/watch-commands.d.ts.map +1 -0
  82. package/dist/watch-commands.js +30 -0
  83. package/dist/watch-commands.js.map +1 -0
  84. package/package.json +21 -12
  85. package/skills/zoom-cli/SKILL.md +69 -0
package/README.md CHANGED
@@ -1,16 +1,18 @@
1
1
  # @wirecat/zoom-cli
2
2
 
3
3
  `zm` logs in to Zoom with your own public OAuth app and reads hosted meetings, participants,
4
- transcripts and AI summaries. Downloaded WebVTT files can also be imported, including transcripts
4
+ transcripts and AI summaries. It archives available cloud recording video, audio, transcripts and
5
+ chat files. Downloaded WebVTT files can also be imported, including transcripts
5
6
  from meetings you attended. The shared meeting model, ingestion and commands come from
6
7
  `@wirecat/cli-meetings`.
7
8
 
8
9
  ## Current availability
9
10
 
10
- Login and sources are implemented and tested. Import, pull and meeting reads are tested with an
11
- in-memory store. The shared SQLite meeting adapter is not available yet, so the executable refuses
12
- those commands until that adapter is connected. It never saves real imports to a temporary memory
13
- store. The shared model and contract kit come from the published cli-meetings 0.2.3 package.
11
+ Login, cloud recording downloads and remote meeting commands work independently of the meeting
12
+ database. Import, pull, folder watching and meeting reads use the published shared SQLite adapter.
13
+ Store connections open lazily and close before successful results are emitted. Meeting data persists
14
+ in the shared WireCat database; `MESSAGING_STORE` selects an explicit database path. The shared model,
15
+ exports and ingestion loop come from `@wirecat/cli-meetings`.
14
16
 
15
17
  ## Set up your Zoom app
16
18
 
@@ -34,15 +36,46 @@ is an error; tokens are never written to a config file.
34
36
  | `config show` | show local configuration |
35
37
  | `config set <key> <value>` | configure the public client or file source |
36
38
  | `login [--browser <program>]` | approve access through your browser |
37
- | `import <folder>` | import downloaded transcripts once the shared store is available |
39
+ | `commands --json` | discover command arguments, flags and examples |
40
+ | `complete -- <words...>` | answer shell completion requests |
41
+ | `doctor` | inspect local runtime and public config without login or database access |
42
+ | `session status` | inspect saved OAuth state separately from local data profiles |
43
+ | `import <folder>` | import downloaded transcripts into the selected local profile |
38
44
  | `pull [--since <date>]` | fetch occurrences from the configured source |
39
45
  | `meetings list`, `meetings show <meeting>` | read stored meetings |
40
46
  | `meetings transcript <meeting>` | read current transcripts |
47
+ | `meetings summary <meeting>` | read stored summaries |
48
+ | `meetings export <meeting> --format markdown\|vtt` | export stored meeting content |
41
49
  | `meetings search <query>`, `meetings people <query>` | find stored text or participants |
42
50
  | `events list` | read stored events |
51
+ | `watch <folder> --jsonl` | repeatedly import a transcript folder in the foreground |
52
+ | `recordings list`, `recordings show <meeting>` | discover cloud recordings and asset metadata |
53
+ | `recordings download <meeting> --destination <directory>` | archive available recording files |
54
+ | `recordings sync --from <date> --to <date> --destination <directory> --jsonl` | archive recording history across calendar months |
55
+ | `recordings archive inspect\|verify\|locks <directory>` | inspect local manifests, checksums or locks |
56
+ | `recordings archive recover <directory>` | preview recovery of stale local locks |
57
+ | `remote-meetings list\|show\|invitation` | read upcoming Zoom meetings and invitations |
58
+ | `remote-meetings create\|update\|cancel` | preview or apply a simple Zoom meeting change |
59
+ | `serve --mcp` | serve read-only stored meeting tools over MCP stdio |
60
+ | `skill show`, `skill install --for agents` | print or explicitly install the packaged agent guide |
43
61
 
44
62
  Use `--json` for one JSON value or `--jsonl` for one item per line. Errors go to stderr. `--no-input`
45
63
  refuses browser login. `--help` and `--version` work without a configured app or login.
64
+ Use `--quiet` to suppress non-error diagnostics. Piped output defaults to JSON; terminal output
65
+ uses the shared human-readable renderer. Completion emits its shell protocol unless JSON is requested.
66
+
67
+ Browser login requires an input terminal. Piped or JSON login also requires
68
+ `--interactive`; CI and terminals without interactive input do not launch a browser. `session status` reads
69
+ cached login state without refreshing credentials. Remote verification through `session status
70
+ --check` explicitly contacts Zoom and requires the corresponding user-read scope.
71
+
72
+ Use `--fields id,title` to select result fields. `--offline` refuses network requests. Finite commands
73
+ buffer successful output until resource cleanup completes, with a default output limit of 4 MiB;
74
+ `--max-output-bytes 0` removes that limit. `--timeout <milliseconds>` sets a positive whole-command
75
+ deadline. Durations also accept units such as `30s`, `5m` and `1h`. Defaults are 30 seconds for reads,
76
+ five minutes for login and one hour for recording downloads, sync and archive verification.
77
+ Foreground watching and MCP serving have no default deadline. Cancellation waits for active operations
78
+ and cleanup; an injected operation that ignores its signal can delay shutdown.
46
79
 
47
80
  Config keys: `zoom.clientId`, `account.profile`, `source` (`api` or `files`), `files.folder`,
48
81
  and `files.timezone`.
@@ -63,8 +96,10 @@ separate labels for data you want kept in separate accounts. File import and API
63
96
  selected profile. Folder import leaves its pull cursor unchanged; switching pull sources may need
64
97
  an older explicit `--since` to revisit earlier occurrences.
65
98
 
66
- The executable's persistent store connection is still pending. Selecting a profile prepares its
67
- configuration; store commands report that the adapter is unavailable until it is connected.
99
+ Import and pull register the selected profile when ingestion begins. Read commands look up an
100
+ existing profile and never register an account; import transcripts or pull first if no stored
101
+ meetings exist. `MESSAGING_STORE` overrides the shared database path for all these commands and MCP
102
+ reads. Metadata, help, configuration and login commands do not open the database.
68
103
 
69
104
  ## Recover from errors
70
105
 
@@ -88,14 +123,106 @@ exporter's `YYYY-MM-DD_HHMM_topic-slug.vtt` format. Occurrence ids derive from t
88
123
  normalized topic; files carry no Zoom occurrence UUID. Participants remain unknown, and speaker
89
124
  names are kept without guessing an identity.
90
125
 
126
+ Cloud archive assets use hashed filenames and retain their identity in manifests. Folder import
127
+ currently accepts legacy transcript filenames; a direct cloud archive-to-database import is planned.
128
+
91
129
  File times default to UTC. Set `files.timezone` to the IANA zone used when the filenames were
92
130
  created, for example `Europe/Madrid`. Ambiguous or nonexistent daylight-saving times are refused. Conflicting contents for the same
93
131
  normalized filename key are an error; correct the conflicting files before retrying. File discovery
94
132
  fails explicitly on invalid names rather than silently importing a partial folder.
95
133
 
134
+ ## Archive cloud recordings
135
+
136
+ Find an occurrence and download its available files to an explicit destination:
137
+
138
+ ```sh
139
+ zm recordings list --from 2026-10-01 --to 2026-10-10 --json
140
+ zm recordings show example-occurrence --json
141
+ zm recordings download example-occurrence --destination ./zoom-archive --json
142
+ zm recordings archive verify ./zoom-archive --offline --json
143
+ ```
144
+
145
+ For recording history across months, use:
146
+
147
+ ```sh
148
+ zm recordings sync --from 2026-01-01 --to 2026-10-10 --destination ./zoom-archive --jsonl
149
+ ```
150
+
151
+ Sync accepts explicit ordered dates spanning at most ten calendar years. It splits them into monthly
152
+ requests, deduplicates occurrence UUIDs and downloads serially. Each JSONL receipt describes one
153
+ completed occurrence; earlier receipts and completed files remain if a later request fails. Repeat the
154
+ same range or an overlapping recent range to discover new assets and skip verified files. Sync has no
155
+ durable date cursor; the requested range determines what is revisited. Headless sync requires `--jsonl`.
156
+
157
+ Recording lists accept an ordered date range of at most 31 days. Downloads stream to disk rather
158
+ than loading a video into memory. The default per-file limit is 20 GiB; change it with `--max-bytes`.
159
+ Use `--file-ids` to select comma-separated asset ids. Only completed, downloadable assets are saved;
160
+ the receipt reports unavailable assets separately. Zoom permissions, recording retention and account
161
+ features determine what can be downloaded. Assets from a meeting you attended are not necessarily
162
+ available through your cloud recording API.
163
+
164
+ Each occurrence has a manifest containing metadata, file sizes and SHA-256 checksums. Signed
165
+ download URLs and OAuth tokens are excluded. Repeating a download verifies existing manifest files
166
+ and skips matching assets. Existing files are never overwritten; a mismatch requires a new destination.
167
+ Interrupted downloads restart a file rather than using HTTP byte-range resume. Completed manifest
168
+ entries remain available if a later transfer fails.
169
+
170
+ Archive commands inspect and verify local data without logging in or opening a database. Concurrent
171
+ writers to the same destination are refused. After a process crash, inspect `recordings archive locks`
172
+ and preview `recordings archive recover`. Add `--yes` to remove recognized locks owned by a dead process
173
+ on this machine; active, foreign and unrecognized locks are preserved. Recovery removes stale lock
174
+ markers only. It does not repair an incomplete manifest or adopt an untracked file.
175
+
176
+ ## Watch a transcript folder
177
+
178
+ ```sh
179
+ zm watch ./downloaded-transcripts --interval 10s --jsonl
180
+ ```
181
+
182
+ Watching rescans the folder for each cycle, so corrected older files are revisited. It imports serially,
183
+ closes the cycle's store connection before emitting its receipt and waits for output to drain before
184
+ starting another cycle. Intervals range from one second to one day. This is a foreground process;
185
+ stop it with Ctrl-C. Headless watching requires `--jsonl`; a stream cannot use `--json`.
186
+ Select a local profile before watching, just as for a one-time import.
187
+
188
+ Cancellation allows up to one second to flush a fully completed receipt if it arrives during
189
+ store close. A blocked output pipe stops that flush; no later cycle starts.
190
+
191
+ ## Read meeting tools through MCP
192
+
193
+ `zm serve --mcp` uses MCP's stdio protocol and serves seven read-only tools: meeting list/show,
194
+ transcripts, summaries, exports, text search and participant search. Tool discovery does not open a
195
+ database. Each read uses the selected local account and closes its connection before the response;
196
+ a caller cannot override the account. File exports and remote mutations are not exposed as tools.
197
+
198
+ MCP clients can launch `zm` with arguments `["serve", "--mcp"]`. Keep stdout for protocol messages;
199
+ omit `--json`, `--jsonl` and `--fields`. `--max-output-bytes` bounds each tool result, with zero meaning
200
+ unlimited. Select a profile and import or pull its data before reading tools; discovery is available
201
+ without stored data.
202
+
203
+ `zm skill show` prints the packaged instructions for an agent. `zm skill install --for agents` writes
204
+ a version-stamped copy to the agent skills directory; `--for claude` selects Claude Code instead.
205
+ Installation is explicit and does not run when a command starts.
206
+
207
+ ## Manage a Zoom meeting
208
+
209
+ Remote meeting ids are Zoom's numeric ids; stored `meetings` commands use local database ids.
210
+ Create, update and cancel show the proposed request by default. Add `--yes` to apply it once;
211
+ `--dry-run` always keeps the preview, including when `--yes` is present.
212
+
213
+ ```sh
214
+ zm remote-meetings create --topic "Example planning" --start-time 2026-10-20T10:00:00Z --duration-minutes 30 --json
215
+ zm remote-meetings update 123456789 --topic "Example review" --yes --json
216
+ zm remote-meetings cancel 123456789 --dry-run --json
217
+ ```
218
+
219
+ Only instant and scheduled creation and basic changes are supported. Remote writes are never
220
+ automatically retried. If a write was dispatched and its result is uncertain, inspect Zoom before
221
+ repeating it; the CLI reports an uncertain outcome with exit code 14.
222
+
96
223
  ## Development
97
224
 
98
- Node 22.12 or newer:
225
+ Node 22.16 or newer within 22.x, or Node 24 or newer:
99
226
 
100
227
  ```sh
101
228
  pnpm install
@@ -0,0 +1,4 @@
1
+ import { type SkillEnvironment } from "@wirecat/cli-core/skill";
2
+ import type { Command } from "commander";
3
+ export declare const addZoomSkillCommands: (program: Command, environment: SkillEnvironment, skill?: import("url").URL) => void;
4
+ //# sourceMappingURL=agent-skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-skill.d.ts","sourceRoot":"","sources":["../src/agent-skill.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gBAAgB,EAAgB,MAAM,yBAAyB,CAAA;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,eAAO,MAAM,oBAAoB,YACtB,OAAO,eACH,gBAAgB,gCAE5B,IAWF,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { annotate } from "@wirecat/cli-core/commands";
2
+ import { skillCommand } from "@wirecat/cli-core/skill";
3
+ import { VERSION } from "./version.js";
4
+ export const addZoomSkillCommands = (program, environment, skill = new URL("../skills/zoom-cli/SKILL.md", import.meta.url)) => {
5
+ const command = skillCommand({ command: "zm", appName: "zoom-cli", version: VERSION }, skill, environment);
6
+ for (const child of command.commands) {
7
+ const install = child.name() === "install";
8
+ annotate(child, {
9
+ mutates: install,
10
+ ...(install ? { local: true } : {}),
11
+ examples: [install ? "zm skill install --for agents --json" : "zm skill show --json"],
12
+ });
13
+ }
14
+ program.addCommand(command);
15
+ };
16
+ //# sourceMappingURL=agent-skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-skill.js","sourceRoot":"","sources":["../src/agent-skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAyB,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE7E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAAgB,EAChB,WAA6B,EAC7B,KAAK,GAAG,IAAI,GAAG,CAAC,6BAA6B,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EACzD,EAAE;IACR,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IAC1G,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,SAAS,CAAA;QAC1C,QAAQ,CAAC,KAAK,EAAE;YACd,OAAO,EAAE,OAAO;YAChB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,sBAAsB,CAAC;SACtF,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC,CAAA"}
package/dist/api.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { type MeetingSource, type SourceMeeting, type SourceParticipant, type SummaryContent } from "@wirecat/cli-meetings";
2
+ import { type RemoteOptions } from "./remote-http.js";
2
3
  import type { TokenManager } from "./tokens.js";
3
4
  export declare const encodeUuid: (uuid: string) => string;
4
5
  export declare class ZoomApiSource implements MeetingSource {
@@ -7,9 +8,9 @@ export declare class ZoomApiSource implements MeetingSource {
7
8
  readonly provider = "zoom";
8
9
  readonly transcriptFormat = "vtt";
9
10
  readonly name = "api";
10
- constructor(tokens: TokenManager, fetcher: typeof fetch);
11
+ private readonly remote;
12
+ constructor(tokens: TokenManager, fetcher: typeof fetch, options?: RemoteOptions);
11
13
  private request;
12
- private get;
13
14
  private pages;
14
15
  meetings(since: string): Promise<SourceMeeting[]>;
15
16
  participants(id: string): Promise<SourceParticipant[]>;
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAgB/C,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,MAC6E,CAAA;AAavH,qBAAa,aAAc,YAAW,aAAa;IAK/C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,QAAQ,CAAC,QAAQ,UAAS;IAC1B,QAAQ,CAAC,gBAAgB,SAAQ;IACjC,QAAQ,CAAC,IAAI,SAAQ;IACrB,YACmB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,KAAK,EACpC;YACU,OAAO;YAkCP,GAAG;YAWH,KAAK;IAeb,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAqEtD;IACK,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAoE3D;IACK,UAAU,CAAC,EAAE,EAAE,MAAM,oEAkF1B;IAEK,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAmCxD;IACK,IAAI,kBAET;IACK,KAAK,kBAEV;CACF"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,kBAAkB,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAgB/C,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,MAC6E,CAAA;AAavH,qBAAa,aAAc,YAAW,aAAa;IAM/C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,QAAQ,CAAC,QAAQ,UAAS;IAC1B,QAAQ,CAAC,gBAAgB,SAAQ;IACjC,QAAQ,CAAC,IAAI,SAAQ;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,YACmB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,KAAK,EACtC,OAAO,GAAE,aAAkB,EAG5B;IACD,OAAO,CAAC,OAAO;YAKD,KAAK;IAeb,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAqEtD;IACK,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAoE3D;IACK,UAAU,CAAC,EAAE,EAAE,MAAM,oEAmF1B;IAEK,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAmCxD;IACK,IAAI,kBAET;IACK,KAAK,kBAEV;CACF"}
package/dist/api.js CHANGED
@@ -1,5 +1,7 @@
1
+ import { statusToCode } from "@wirecat/cli-core/http";
1
2
  import { parseVtt, } from "@wirecat/cli-meetings";
2
3
  import { number, object, string, ZoomError } from "./errors.js";
4
+ import { ZoomRemote } from "./remote-http.js";
3
5
  const json = (value) => {
4
6
  if (value === null || typeof value === "boolean" || typeof value === "string")
5
7
  return value;
@@ -36,49 +38,16 @@ export class ZoomApiSource {
36
38
  provider = "zoom";
37
39
  transcriptFormat = "vtt";
38
40
  name = "api";
39
- constructor(tokens, fetcher) {
41
+ remote;
42
+ constructor(tokens, fetcher, options = {}) {
40
43
  this.tokens = tokens;
41
44
  this.fetcher = fetcher;
45
+ this.remote = new ZoomRemote(tokens, fetcher, options);
42
46
  }
43
- async request(path, scope, missingCode) {
44
- const tokens = await this.tokens.tokens();
45
- if (!tokens.scopes.includes(scope) && !tokens.scopes.includes(`${scope}:admin`))
46
- throw new ZoomError("authentication_error", `Zoom scope ${scope} is missing; add it to the app and run zm login again`);
47
- const response = await this.get(`https://api.zoom.us/v2${path}`, tokens.accessToken);
48
- let value;
49
- try {
50
- value = await response.json();
51
- }
52
- catch {
53
- if (response.ok)
54
- throw new ZoomError("invalid_response", "Zoom returned an invalid response");
55
- value = {};
56
- }
57
- const body = response.ok
58
- ? object(value)
59
- : typeof value === "object" && value !== null && !Array.isArray(value)
60
- ? object(value)
61
- : {};
62
- if (body.code === 4711)
63
- throw new ZoomError("authentication_error", `Zoom scope ${scope} is missing; add it to the app and run zm login again`);
64
- if (!response.ok) {
65
- if (response.status === 404 && missingCode !== undefined && body.code === missingCode)
66
- return null;
67
- throw new ZoomError(response.status === 401 ? "authentication_error" : "provider_error", `Zoom request failed (HTTP ${response.status}${typeof body.code === "number" ? `, code ${body.code}` : ""})`);
68
- }
69
- return body;
70
- }
71
- async get(target, accessToken) {
72
- try {
73
- return await this.fetcher(target, {
74
- headers: { authorization: `Bearer ${accessToken}` },
75
- signal: AbortSignal.timeout(30000),
76
- redirect: "manual",
77
- });
78
- }
79
- catch {
80
- throw new ZoomError("provider_error", "Zoom request could not be completed");
81
- }
47
+ request(path, scope, missingCode) {
48
+ return missingCode === undefined
49
+ ? this.remote.request(path, scope)
50
+ : this.remote.requestOptional(path, scope, missingCode);
82
51
  }
83
52
  async pages(path, key, scope) {
84
53
  const rows = [];
@@ -278,7 +247,7 @@ export class ZoomApiSource {
278
247
  continue;
279
248
  }
280
249
  if (!response.ok)
281
- throw new ZoomError("provider_error", `Transcript download failed (HTTP ${response.status})`);
250
+ throw new ZoomError(statusToCode(response.status), `Transcript download failed (HTTP ${response.status})`);
282
251
  // A mislabeled HTML login page must not become an empty saved transcript.
283
252
  const maxBytes = 10 * 1024 * 1024;
284
253
  const reader = response.body?.getReader();
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { Command } from "commander";
2
+ import type { inspectArchive, inspectArchiveLocks, recoverArchiveLocks, verifyArchive } from "./recording-archive.js";
3
+ import type { ZoomRecordings } from "./recordings.js";
4
+ import type { ZoomRemoteMeetings } from "./remote-meetings.js";
5
+ export type RecordingsService = Pick<ZoomRecordings, "list" | "show" | "download">;
6
+ export type RemoteMeetingsService = Pick<ZoomRemoteMeetings, "list" | "show" | "invitation" | "create" | "update" | "cancel">;
7
+ export interface ArchiveService {
8
+ inspect: typeof inspectArchive;
9
+ verify: typeof verifyArchive;
10
+ locks: typeof inspectArchiveLocks;
11
+ recover: typeof recoverArchiveLocks;
12
+ }
13
+ export interface ArchiveCommandsDeps {
14
+ recordings: () => RecordingsService;
15
+ remoteMeetings: () => RemoteMeetingsService;
16
+ archive: ArchiveService;
17
+ signal: () => AbortSignal | undefined;
18
+ api: () => void;
19
+ output: (value: unknown) => void;
20
+ receipt: (value: unknown) => Promise<void>;
21
+ outputIsTTY?: boolean;
22
+ now: () => number;
23
+ }
24
+ export declare const addArchiveCommands: (program: Command, deps: ArchiveCommandsDeps) => void;
25
+ //# sourceMappingURL=archive-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive-commands.d.ts","sourceRoot":"","sources":["../src/archive-commands.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAErH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAkC,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE9F,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC,CAAA;AAClF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,kBAAkB,EAClB,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAChE,CAAA;AACD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,cAAc,CAAA;IAC9B,MAAM,EAAE,OAAO,aAAa,CAAA;IAC5B,KAAK,EAAE,OAAO,mBAAmB,CAAA;IACjC,OAAO,EAAE,OAAO,mBAAmB,CAAA;CACpC;AACD,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,iBAAiB,CAAA;IACnC,cAAc,EAAE,MAAM,qBAAqB,CAAA;IAC3C,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IACrC,GAAG,EAAE,MAAM,IAAI,CAAA;IACf,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAChC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,GAAG,EAAE,MAAM,MAAM,CAAA;CAClB;AAiCD,eAAO,MAAM,kBAAkB,YAAa,OAAO,QAAQ,mBAAmB,KAAG,IA8LhF,CAAA"}
@@ -0,0 +1,157 @@
1
+ import { annotate } from "@wirecat/cli-core/commands";
2
+ import { listed } from "@wirecat/cli-meetings";
3
+ import { ZoomError } from "./errors.js";
4
+ import { bytes } from "./execution.js";
5
+ import { syncRecordingArchive } from "./recording-sync.js";
6
+ const label = (command, example, mutation = "none") => annotate(command, {
7
+ origin: "handwritten",
8
+ mutates: mutation !== "none",
9
+ ...(mutation === "none" ? {} : { local: mutation === "local" }),
10
+ examples: [example],
11
+ });
12
+ const positive = (text) => {
13
+ const value = bytes(text);
14
+ if (value === 0)
15
+ throw new ZoomError("validation_error", "expected a positive number");
16
+ return value;
17
+ };
18
+ const change = (options) => Object.fromEntries(["topic", "startTime", "durationMinutes", "timezone", "agenda", "type"]
19
+ .filter((key) => options[key] !== undefined)
20
+ .map((key) => [key, options[key]]));
21
+ const changes = (command) => command
22
+ .option("--topic <text>", "meeting topic")
23
+ .option("--start-time <timestamp>", "ISO start time with timezone")
24
+ .option("--duration-minutes <minutes>", "positive meeting duration in minutes", positive)
25
+ .option("--timezone <zone>", "IANA timezone")
26
+ .option("--agenda <text>", "meeting agenda")
27
+ .option("--type <type>", "instant (1) or scheduled (2)", positive)
28
+ .option("--yes", "apply the remote mutation once instead of previewing")
29
+ .option("--dry-run", "preview only, including when --yes is present");
30
+ const mutation = (options, deps) => {
31
+ if (options.yes && !options.dryRun)
32
+ deps.api();
33
+ return { apply: options.yes, dryRun: options.dryRun, signal: deps.signal(), occurrenceId: options.occurrenceId };
34
+ };
35
+ export const addArchiveCommands = (program, deps) => {
36
+ const recordings = program.command("recordings").description("cloud recording assets and verified local archives");
37
+ label(recordings
38
+ .command("list")
39
+ .description("list cloud recording occurrences (last 30 days by default)")
40
+ .option("--from <date>", "first YYYY-MM-DD date")
41
+ .option("--to <date>", "last YYYY-MM-DD date")
42
+ .action(async (options) => {
43
+ deps.api();
44
+ const to = options.to ?? new Date(deps.now()).toISOString().slice(0, 10);
45
+ const end = Date.parse(`${to}T00:00:00Z`);
46
+ if (!/^\d{4}-\d{2}-\d{2}$/.test(to) || !Number.isFinite(end) || new Date(end).toISOString().slice(0, 10) !== to)
47
+ throw new ZoomError("validation_error", "to must be a real YYYY-MM-DD date");
48
+ const from = options.from ?? new Date(end - 30 * 86400000).toISOString().slice(0, 10);
49
+ deps.output(listed(await deps.recordings().list({ from, to, signal: deps.signal() })));
50
+ }), "zm recordings list --from 2026-10-01 --to 2026-10-10 --json");
51
+ label(recordings
52
+ .command("sync")
53
+ .description("serial monthly recording archive synchronization with completed JSONL receipts")
54
+ .requiredOption("--from <date>", "first YYYY-MM-DD date")
55
+ .requiredOption("--to <date>", "last YYYY-MM-DD date (at most ten years)")
56
+ .requiredOption("--destination <directory>", "explicit archive directory")
57
+ .option("--max-bytes <bytes>", "maximum bytes per recording file", positive)
58
+ .action(async (options) => {
59
+ if (!program.opts().jsonl && !deps.outputIsTTY)
60
+ throw new ZoomError("validation_error", "headless recording sync requires --jsonl");
61
+ if (program.opts().json)
62
+ throw new ZoomError("validation_error", "recording sync streams receipts; use --jsonl");
63
+ deps.api();
64
+ for await (const receipt of syncRecordingArchive(deps.recordings(), { ...options, signal: deps.signal() }))
65
+ await deps.receipt(receipt);
66
+ }), "zm recordings sync --from 2026-01-01 --to 2026-10-10 --destination ./archive --jsonl", "local");
67
+ label(recordings
68
+ .command("show")
69
+ .description("show downloadable asset metadata without signed URLs")
70
+ .argument("<meeting>", "meeting id or occurrence UUID")
71
+ .action(async (id) => {
72
+ deps.api();
73
+ deps.output(await deps.recordings().show(id, { signal: deps.signal() }));
74
+ }), "zm recordings show example-occurrence --json");
75
+ label(recordings
76
+ .command("download")
77
+ .description("stream recording assets into a verified local archive")
78
+ .argument("<meeting>", "meeting id or occurrence UUID")
79
+ .requiredOption("--destination <directory>", "explicit archive directory")
80
+ .option("--file-ids <ids>", "comma-separated recording file ids")
81
+ .option("--max-bytes <bytes>", "per-file download byte limit (default 20 GiB)", positive)
82
+ .action(async (id, options) => {
83
+ deps.api();
84
+ deps.output(await deps.recordings().download(id, {
85
+ destination: options.destination,
86
+ fileIds: options.fileIds?.split(",").map((one) => one.trim()),
87
+ maxBytes: options.maxBytes,
88
+ signal: deps.signal(),
89
+ }));
90
+ }), "zm recordings download example-occurrence --destination ./zoom-archive --json", "local");
91
+ const archive = recordings.command("archive").description("inspect archives without Zoom or a database");
92
+ label(archive
93
+ .command("inspect")
94
+ .description("read local transfer manifests")
95
+ .argument("<directory>")
96
+ .action(async (directory) => deps.output(listed(await deps.archive.inspect(directory, { signal: deps.signal() })))), "zm recordings archive inspect ./zoom-archive --json");
97
+ label(archive
98
+ .command("verify")
99
+ .description("verify local file sizes and checksums")
100
+ .argument("<directory>")
101
+ .action(async (directory) => deps.output(listed(await deps.archive.verify(directory, { signal: deps.signal() })))), "zm recordings archive verify ./zoom-archive --json");
102
+ label(archive
103
+ .command("locks")
104
+ .description("inspect active, stale or foreign archive locks")
105
+ .argument("<directory>")
106
+ .action(async (directory) => deps.output(listed(await deps.archive.locks(directory, { signal: deps.signal() })))), "zm recordings archive locks ./zoom-archive --json");
107
+ label(archive
108
+ .command("recover")
109
+ .description("preview recovery of recognized stale local locks")
110
+ .argument("<directory>")
111
+ .option("--yes", "remove recognized locks left by a dead local process")
112
+ .option("--dry-run", "preview only, including when --yes is present")
113
+ .action(async (directory, options) => deps.output(await deps.archive.recover(directory, {
114
+ apply: options.yes === true && !options.dryRun,
115
+ signal: deps.signal(),
116
+ }))), "zm recordings archive recover ./zoom-archive --dry-run --json", "local");
117
+ const remote = program
118
+ .command("remote-meetings")
119
+ .description("upcoming Zoom meetings; stored meeting reads remain under meetings");
120
+ label(remote
121
+ .command("list")
122
+ .description("list upcoming meetings")
123
+ .action(async () => {
124
+ deps.api();
125
+ deps.output(listed(await deps.remoteMeetings().list({ signal: deps.signal() })));
126
+ }), "zm remote-meetings list --json");
127
+ label(remote
128
+ .command("show")
129
+ .description("show an upcoming meeting")
130
+ .argument("<meeting>", "positive numeric Zoom meeting id")
131
+ .action(async (id) => {
132
+ deps.api();
133
+ deps.output(await deps.remoteMeetings().show(id, { signal: deps.signal() }));
134
+ }), "zm remote-meetings show 123456789 --json");
135
+ label(remote
136
+ .command("invitation")
137
+ .description("read invitation text")
138
+ .argument("<meeting>", "positive numeric Zoom meeting id")
139
+ .action(async (id) => {
140
+ deps.api();
141
+ deps.output(await deps.remoteMeetings().invitation(id, { signal: deps.signal() }));
142
+ }), "zm remote-meetings invitation 123456789 --json");
143
+ label(changes(remote.command("create").description("preview a meeting creation; --yes performs it once")).action(async (options) => deps.output(await deps.remoteMeetings().create(change(options), mutation(options, deps)))), 'zm remote-meetings create --topic "Example planning" --start-time 2026-10-10T15:30:00Z --dry-run --json', "remote");
144
+ label(changes(remote
145
+ .command("update")
146
+ .description("preview a meeting update; --yes performs it once")
147
+ .argument("<meeting>", "positive numeric Zoom meeting id")).action(async (id, options) => deps.output(await deps.remoteMeetings().update(id, change(options), mutation(options, deps)))), 'zm remote-meetings update 123456789 --topic "Example planning" --dry-run --json', "remote");
148
+ label(remote
149
+ .command("cancel")
150
+ .description("preview a cancellation; --yes performs it once")
151
+ .argument("<meeting>", "positive numeric Zoom meeting id")
152
+ .option("--occurrence-id <id>", "cancel one recurring occurrence")
153
+ .option("--yes", "apply cancellation once instead of previewing")
154
+ .option("--dry-run", "preview only, including when --yes is present")
155
+ .action(async (id, options) => deps.output(await deps.remoteMeetings().cancel(id, mutation(options, deps)))), "zm remote-meetings cancel 123456789 --dry-run --json", "remote");
156
+ };
157
+ //# sourceMappingURL=archive-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive-commands.js","sourceRoot":"","sources":["../src/archive-commands.ts"],"names":[],"mappings":"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"}