@wirecat/zoom-cli 0.13.0 → 0.15.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 +4 -4
- package/dist/answer-output.d.ts +21 -2
- package/dist/answer-output.d.ts.map +1 -1
- package/dist/answer-output.js +44 -37
- package/dist/answer-output.js.map +1 -1
- package/dist/answers.d.ts +2 -2
- package/dist/answers.d.ts.map +1 -1
- package/dist/answers.js +12 -43
- package/dist/answers.js.map +1 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +20 -19
- package/dist/api.js.map +1 -1
- package/dist/archive-commands.d.ts +5 -4
- package/dist/archive-commands.d.ts.map +1 -1
- package/dist/archive-commands.js +31 -30
- package/dist/archive-commands.js.map +1 -1
- package/dist/archive-import.d.ts +2 -2
- package/dist/archive-import.d.ts.map +1 -1
- package/dist/archive-import.js +20 -30
- package/dist/archive-import.js.map +1 -1
- package/dist/archive-transcripts.d.ts.map +1 -1
- package/dist/archive-transcripts.js +22 -21
- package/dist/archive-transcripts.js.map +1 -1
- package/dist/bin/zm.js +2 -5
- package/dist/bin/zm.js.map +1 -1
- package/dist/command-effects.js +1 -1
- package/dist/command-effects.js.map +1 -1
- package/dist/commands.d.ts +2 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +8 -8
- package/dist/commands.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +54 -37
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +0 -4
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +2 -7
- package/dist/errors.js.map +1 -1
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +3 -4
- package/dist/execution.js.map +1 -1
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +9 -9
- package/dist/files.js.map +1 -1
- package/dist/folders.d.ts +2 -7
- package/dist/folders.d.ts.map +1 -1
- package/dist/folders.js +2 -35
- package/dist/folders.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/ingestion-search-commands.d.ts +3 -2
- package/dist/ingestion-search-commands.d.ts.map +1 -1
- package/dist/ingestion-search-commands.js +5 -5
- package/dist/ingestion-search-commands.js.map +1 -1
- package/dist/json-fields.d.ts +7 -0
- package/dist/json-fields.d.ts.map +1 -0
- package/dist/json-fields.js +23 -0
- package/dist/json-fields.js.map +1 -0
- package/dist/keys.d.ts +1 -1
- package/dist/keys.d.ts.map +1 -1
- package/dist/keys.js +7 -5
- package/dist/keys.js.map +1 -1
- package/dist/local-transcription-commands.d.ts +3 -2
- package/dist/local-transcription-commands.d.ts.map +1 -1
- package/dist/local-transcription-commands.js +6 -6
- package/dist/local-transcription-commands.js.map +1 -1
- package/dist/local-transcription.d.ts.map +1 -1
- package/dist/local-transcription.js +13 -12
- package/dist/local-transcription.js.map +1 -1
- package/dist/login.d.ts.map +1 -1
- package/dist/login.js +8 -7
- package/dist/login.js.map +1 -1
- package/dist/mcp-server.d.ts +2 -0
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +33 -42
- package/dist/mcp-server.js.map +1 -1
- package/dist/meeting-context-commands.d.ts +2 -1
- package/dist/meeting-context-commands.d.ts.map +1 -1
- package/dist/meeting-context-commands.js +10 -15
- package/dist/meeting-context-commands.js.map +1 -1
- package/dist/meeting-context.d.ts +6 -6
- package/dist/meeting-context.d.ts.map +1 -1
- package/dist/meeting-context.js +8 -21
- package/dist/meeting-context.js.map +1 -1
- package/dist/meeting-integration-commands.d.ts +3 -2
- package/dist/meeting-integration-commands.d.ts.map +1 -1
- package/dist/meeting-integration-commands.js +6 -6
- package/dist/meeting-integration-commands.js.map +1 -1
- package/dist/meeting-integration.d.ts.map +1 -1
- package/dist/meeting-integration.js +2 -2
- package/dist/meeting-integration.js.map +1 -1
- package/dist/meeting-mcp-command.d.ts +19 -0
- package/dist/meeting-mcp-command.d.ts.map +1 -0
- package/dist/meeting-mcp-command.js +41 -0
- package/dist/meeting-mcp-command.js.map +1 -0
- package/dist/meeting-preparation-mcp.d.ts +131 -0
- package/dist/meeting-preparation-mcp.d.ts.map +1 -0
- package/dist/meeting-preparation-mcp.js +20 -0
- package/dist/meeting-preparation-mcp.js.map +1 -0
- package/dist/meeting-preparation.d.ts +22 -0
- package/dist/meeting-preparation.d.ts.map +1 -0
- package/dist/meeting-preparation.js +29 -0
- package/dist/meeting-preparation.js.map +1 -0
- package/dist/meeting-project-evidence-commands.d.ts +1 -4
- package/dist/meeting-project-evidence-commands.d.ts.map +1 -1
- package/dist/meeting-project-evidence-commands.js +2 -6
- package/dist/meeting-project-evidence-commands.js.map +1 -1
- package/dist/meeting-project-evidence-mcp.d.ts.map +1 -1
- package/dist/meeting-project-evidence-mcp.js +2 -4
- package/dist/meeting-project-evidence-mcp.js.map +1 -1
- package/dist/meeting-read-command-bindings.d.ts +10 -0
- package/dist/meeting-read-command-bindings.d.ts.map +1 -0
- package/dist/meeting-read-command-bindings.js +13 -0
- package/dist/meeting-read-command-bindings.js.map +1 -0
- package/dist/meeting-search-commands.d.ts +3 -2
- package/dist/meeting-search-commands.d.ts.map +1 -1
- package/dist/meeting-search-commands.js +46 -38
- package/dist/meeting-search-commands.js.map +1 -1
- package/dist/meeting-semantic-commands.d.ts +3 -2
- package/dist/meeting-semantic-commands.d.ts.map +1 -1
- package/dist/meeting-semantic-commands.js +12 -12
- package/dist/meeting-semantic-commands.js.map +1 -1
- package/dist/meeting-semantic.d.ts.map +1 -1
- package/dist/meeting-semantic.js +3 -2
- package/dist/meeting-semantic.js.map +1 -1
- package/dist/occurrence-schedule.d.ts +3 -0
- package/dist/occurrence-schedule.d.ts.map +1 -0
- package/dist/occurrence-schedule.js +106 -0
- package/dist/occurrence-schedule.js.map +1 -0
- package/dist/output-file.js +3 -3
- package/dist/output-file.js.map +1 -1
- package/dist/program.d.ts +14 -28
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +152 -317
- package/dist/program.js.map +1 -1
- package/dist/recording-archive.d.ts +1 -1
- package/dist/recording-archive.d.ts.map +1 -1
- package/dist/recording-archive.js +99 -46
- package/dist/recording-archive.js.map +1 -1
- package/dist/recording-partial-store.d.ts.map +1 -1
- package/dist/recording-partial-store.js +11 -10
- package/dist/recording-partial-store.js.map +1 -1
- package/dist/recording-promotion-store.d.ts.map +1 -1
- package/dist/recording-promotion-store.js +4 -4
- package/dist/recording-promotion-store.js.map +1 -1
- package/dist/recording-schedule-commands.d.ts +3 -2
- package/dist/recording-schedule-commands.d.ts.map +1 -1
- package/dist/recording-schedule-commands.js +12 -12
- package/dist/recording-schedule-commands.js.map +1 -1
- package/dist/recording-schedule-store.d.ts.map +1 -1
- package/dist/recording-schedule-store.js +15 -14
- package/dist/recording-schedule-store.js.map +1 -1
- package/dist/recording-schedule-systemd.d.ts.map +1 -1
- package/dist/recording-schedule-systemd.js +16 -15
- package/dist/recording-schedule-systemd.js.map +1 -1
- package/dist/recording-schedule.d.ts +1 -1
- package/dist/recording-schedule.d.ts.map +1 -1
- package/dist/recording-schedule.js +15 -14
- package/dist/recording-schedule.js.map +1 -1
- package/dist/recording-sync-store.d.ts.map +1 -1
- package/dist/recording-sync-store.js +9 -9
- package/dist/recording-sync-store.js.map +1 -1
- package/dist/recording-sync.d.ts +1 -1
- package/dist/recording-sync.d.ts.map +1 -1
- package/dist/recording-sync.js +10 -19
- package/dist/recording-sync.js.map +1 -1
- package/dist/recordings.d.ts.map +1 -1
- package/dist/recordings.js +19 -18
- package/dist/recordings.js.map +1 -1
- package/dist/remote-http.d.ts +1 -0
- package/dist/remote-http.d.ts.map +1 -1
- package/dist/remote-http.js +26 -14
- package/dist/remote-http.js.map +1 -1
- package/dist/remote-meeting-id.d.ts +2 -0
- package/dist/remote-meeting-id.d.ts.map +1 -0
- package/dist/remote-meeting-id.js +7 -0
- package/dist/remote-meeting-id.js.map +1 -0
- package/dist/remote-meetings.d.ts.map +1 -1
- package/dist/remote-meetings.js +10 -13
- package/dist/remote-meetings.js.map +1 -1
- package/dist/store-connection.d.ts +1 -7
- package/dist/store-connection.d.ts.map +1 -1
- package/dist/store-connection.js +95 -176
- package/dist/store-connection.js.map +1 -1
- package/dist/streaming.js +3 -3
- package/dist/streaming.js.map +1 -1
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +10 -9
- package/dist/tokens.js.map +1 -1
- package/dist/unified-search.d.ts +1 -10
- package/dist/unified-search.d.ts.map +1 -1
- package/dist/unified-search.js +7 -6
- package/dist/unified-search.js.map +1 -1
- package/dist/upcoming-meetings.d.ts +10 -0
- package/dist/upcoming-meetings.d.ts.map +1 -0
- package/dist/upcoming-meetings.js +24 -0
- package/dist/upcoming-meetings.js.map +1 -0
- package/dist/watch-commands.d.ts +2 -1
- package/dist/watch-commands.d.ts.map +1 -1
- package/dist/watch-commands.js +8 -8
- package/dist/watch-commands.js.map +1 -1
- package/package.json +3 -3
- package/skills/zoom-cli/SKILL.md +127 -169
- package/dist/ordinary-file.d.ts +0 -3
- package/dist/ordinary-file.d.ts.map +0 -1
- package/dist/ordinary-file.js +0 -16
- package/dist/ordinary-file.js.map +0 -1
- package/dist/wav-audio.d.ts +0 -2
- package/dist/wav-audio.d.ts.map +0 -1
- package/dist/wav-audio.js +0 -2
- package/dist/wav-audio.js.map +0 -1
package/dist/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { RecordingAsset, RecordingMeeting } from "./recordings.js";
|
|
|
2
2
|
import { type ZoomRemote } from "./remote-http.js";
|
|
3
3
|
export interface DownloadOptions {
|
|
4
4
|
destination: string;
|
|
5
|
-
account
|
|
5
|
+
account: string;
|
|
6
6
|
resume?: boolean;
|
|
7
7
|
fileIds?: string[];
|
|
8
8
|
signal?: AbortSignal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recording-archive.d.ts","sourceRoot":"","sources":["../src/recording-archive.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recording-archive.d.ts","sourceRoot":"","sources":["../src/recording-archive.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvE,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAEnE,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AACD,eAAO,MAAM,uBAAuB,YAAa,eAAe,KAAG,MA0BlE,CAAA;AACD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AACD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,CAAC,CAAA;IACV,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAA;IACzC,KAAK,EAAE,YAAY,EAAE,CAAA;CACtB;AACD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,YAAY,EAAE,CAAA;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,WAAW,EAAE,cAAc,EAAE,CAAA;CAC9B;AACD,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;CACf;AACD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,CAAA;IACvD,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AA4CD,eAAO,MAAM,mBAAmB,gBACjB,MAAM,YACV;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAChC,OAAO,CAAC,eAAe,EAAE,CA0B3B,CAAA;AACD,eAAO,MAAM,mBAAmB,gBACjB,MAAM,YACV;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KACjD,OAAO,CAAC;IAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAqBzD,CAAA;AAySD,eAAO,MAAM,gBAAgB,WACnB,UAAU,WACT,gBAAgB,QACnB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,WAChB,eAAe,KACvB,OAAO,CAAC,aAAa,CA2KvB,CAAA;AACD,eAAO,MAAM,cAAc,gBACZ,MAAM,YACV;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAChC,OAAO,CAAC,eAAe,EAAE,CAiB3B,CAAA;AACD,eAAO,MAAM,aAAa,gBACX,MAAM,YACV;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAChC,OAAO,CAAC,mBAAmB,EAAE,CAuB/B,CAAA"}
|
|
@@ -2,10 +2,11 @@ import { createHash, randomUUID } from "node:crypto";
|
|
|
2
2
|
import { link, lstat, mkdir, open, readdir, realpath, rename, rmdir, unlink } from "node:fs/promises";
|
|
3
3
|
import { hostname } from "node:os";
|
|
4
4
|
import { join } from "node:path";
|
|
5
|
+
import { CliError, isCliError } from "@wirecat/cli-base";
|
|
5
6
|
import { retryableStatus, statusToCode } from "@wirecat/cli-base/http";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { openOrdinaryFile, syncDirectory } from "@wirecat/cli-core/files";
|
|
8
|
+
import { transferRecording } from "@wirecat/cli-core/meetings";
|
|
9
|
+
import { checkCancelled, string } from "./errors.js";
|
|
9
10
|
import { RecordingPartialStore } from "./recording-partial-store.js";
|
|
10
11
|
import { readRecordingPromotion, writeRecordingPromotion } from "./recording-promotion-store.js";
|
|
11
12
|
import { operationSignal } from "./remote-http.js";
|
|
@@ -15,22 +16,19 @@ export const validateDownloadOptions = (options) => {
|
|
|
15
16
|
!options.destination.trim() ||
|
|
16
17
|
!Number.isSafeInteger(maxBytes) ||
|
|
17
18
|
maxBytes <= 0)
|
|
18
|
-
throw new
|
|
19
|
+
throw new CliError("validation_error", "archive destination and positive download limit are required");
|
|
19
20
|
if (options.resume !== undefined && typeof options.resume !== "boolean")
|
|
20
|
-
throw new
|
|
21
|
-
if (options.account !==
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
throw new ZoomError("validation_error", "recording account scope must be a nonempty identifier");
|
|
27
|
-
if (options.resume && !options.account)
|
|
28
|
-
throw new ZoomError("validation_error", "resuming recordings requires an explicit account scope");
|
|
21
|
+
throw new CliError("validation_error", "recording resume must be a boolean");
|
|
22
|
+
if (typeof options.account !== "string" ||
|
|
23
|
+
!options.account.trim() ||
|
|
24
|
+
/[\0\r\n]/.test(options.account) ||
|
|
25
|
+
options.account.length > 1000)
|
|
26
|
+
throw new CliError("validation_error", "recording account scope must be a nonempty identifier");
|
|
29
27
|
if (options.fileIds !== undefined &&
|
|
30
28
|
(!Array.isArray(options.fileIds) ||
|
|
31
29
|
options.fileIds.length === 0 ||
|
|
32
30
|
options.fileIds.some((id) => typeof id !== "string" || !id.trim())))
|
|
33
|
-
throw new
|
|
31
|
+
throw new CliError("validation_error", "recording selection must contain nonempty file ids");
|
|
34
32
|
return maxBytes;
|
|
35
33
|
};
|
|
36
34
|
const locksFolder = ".zoom-archive-locks";
|
|
@@ -81,13 +79,13 @@ export const inspectArchiveLocks = async (destination, options = {}) => {
|
|
|
81
79
|
let names;
|
|
82
80
|
try {
|
|
83
81
|
if ((await lstat(folder)).isSymbolicLink())
|
|
84
|
-
throw new
|
|
82
|
+
throw new CliError("validation_error", "archive lock directory must not be a symlink");
|
|
85
83
|
names = await readdir(folder);
|
|
86
84
|
}
|
|
87
85
|
catch (error) {
|
|
88
86
|
if (missing(error))
|
|
89
87
|
return [];
|
|
90
|
-
throw new
|
|
88
|
+
throw new CliError("configuration_error", "archive lock directory could not be read");
|
|
91
89
|
}
|
|
92
90
|
const result = [];
|
|
93
91
|
for (const name of names.sort()) {
|
|
@@ -123,7 +121,7 @@ export const recoverArchiveLocks = async (destination, options = {}) => {
|
|
|
123
121
|
}
|
|
124
122
|
catch (error) {
|
|
125
123
|
if (!missing(error))
|
|
126
|
-
throw new
|
|
124
|
+
throw new CliError("configuration_error", "stale archive lock could not be removed");
|
|
127
125
|
}
|
|
128
126
|
}
|
|
129
127
|
return { locks, removed };
|
|
@@ -132,7 +130,9 @@ const acquireArchiveLock = async (root) => {
|
|
|
132
130
|
const folder = join(root, locksFolder);
|
|
133
131
|
await mkdir(folder, { recursive: true });
|
|
134
132
|
if ((await lstat(folder)).isSymbolicLink())
|
|
135
|
-
throw new
|
|
133
|
+
throw new CliError("validation_error", "archive lock directory must not be a symlink");
|
|
134
|
+
// A lock whose process on this machine is gone is taken over; foreign and unreadable ones still need `locks recover`.
|
|
135
|
+
await recoverArchiveLocks(root, { apply: true });
|
|
136
136
|
const owner = { version: 1, pid: process.pid, host: hostname(), nonce: randomUUID() };
|
|
137
137
|
const name = `${owner.pid}-${owner.nonce}.json`;
|
|
138
138
|
const path = join(folder, name);
|
|
@@ -143,10 +143,10 @@ const acquireArchiveLock = async (root) => {
|
|
|
143
143
|
await file.close();
|
|
144
144
|
const locks = await inspectArchiveLocks(root);
|
|
145
145
|
if (locks.some((lock) => lock.name !== name))
|
|
146
|
-
throw new
|
|
146
|
+
throw new CliError("validation_error", "archive is locked; inspect or recover stale local locks");
|
|
147
147
|
try {
|
|
148
148
|
await lstat(join(root, ".zoom-archive.lock"));
|
|
149
|
-
throw new
|
|
149
|
+
throw new CliError("validation_error", "archive has an unrecognized legacy lock");
|
|
150
150
|
}
|
|
151
151
|
catch (error) {
|
|
152
152
|
if (!missing(error))
|
|
@@ -176,7 +176,7 @@ const fingerprint = async (path, signal, maxBytes) => {
|
|
|
176
176
|
checkCancelled(signal);
|
|
177
177
|
size += chunk.length;
|
|
178
178
|
if (maxBytes !== undefined && size > maxBytes)
|
|
179
|
-
throw new
|
|
179
|
+
throw new CliError("validation_error", "recording exceeds its verified recovery size");
|
|
180
180
|
hash.update(chunk);
|
|
181
181
|
}
|
|
182
182
|
return { size, sha256: hash.digest("hex") };
|
|
@@ -185,6 +185,40 @@ const fingerprint = async (path, signal, maxBytes) => {
|
|
|
185
185
|
await file.close();
|
|
186
186
|
}
|
|
187
187
|
};
|
|
188
|
+
const verifiedName = ".zoom-verified.json";
|
|
189
|
+
const readVerified = async (root) => {
|
|
190
|
+
try {
|
|
191
|
+
const file = await localFile(join(root, verifiedName));
|
|
192
|
+
try {
|
|
193
|
+
const value = JSON.parse(await file.readFile("utf8"));
|
|
194
|
+
if (value.version === 1 && typeof value.files === "object" && value.files !== null)
|
|
195
|
+
return value;
|
|
196
|
+
}
|
|
197
|
+
finally {
|
|
198
|
+
await file.close();
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
catch { }
|
|
202
|
+
return { version: 1, files: {} };
|
|
203
|
+
};
|
|
204
|
+
const writeVerified = async (root, verified) => {
|
|
205
|
+
const temp = join(root, `.zoom-verified-${randomUUID()}.tmp`);
|
|
206
|
+
try {
|
|
207
|
+
await open(temp, "wx", 0o600).then(async (file) => {
|
|
208
|
+
try {
|
|
209
|
+
await file.writeFile(JSON.stringify(verified));
|
|
210
|
+
}
|
|
211
|
+
finally {
|
|
212
|
+
await file.close();
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
await rename(temp, join(root, verifiedName));
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
// Only a cache: losing it costs one rehash on the next run.
|
|
219
|
+
await unlink(temp).catch(() => undefined);
|
|
220
|
+
}
|
|
221
|
+
};
|
|
188
222
|
const onlyKeys = (value, keys) => Object.keys(value).every((key) => keys.includes(key));
|
|
189
223
|
const nullableText = (value) => value === null || typeof value === "string";
|
|
190
224
|
const nullableTime = (value) => value === null ||
|
|
@@ -259,7 +293,7 @@ const readManifest = async (path, signal) => {
|
|
|
259
293
|
}
|
|
260
294
|
catch {
|
|
261
295
|
checkCancelled(signal);
|
|
262
|
-
throw new
|
|
296
|
+
throw new CliError("validation_error", "archive manifest is invalid");
|
|
263
297
|
}
|
|
264
298
|
finally {
|
|
265
299
|
await file.close();
|
|
@@ -289,17 +323,17 @@ const targetUrl = (input, base) => {
|
|
|
289
323
|
target = new URL(input, base);
|
|
290
324
|
}
|
|
291
325
|
catch {
|
|
292
|
-
throw new
|
|
326
|
+
throw new CliError("invalid_response", "Zoom returned an unexpected recording download host");
|
|
293
327
|
}
|
|
294
328
|
if (target.protocol !== "https:" ||
|
|
295
329
|
target.username ||
|
|
296
330
|
target.password ||
|
|
297
331
|
(target.port && target.port !== "443") ||
|
|
298
332
|
!/(^|\.)zoom\.(us|com)$/.test(target.hostname))
|
|
299
|
-
throw new
|
|
333
|
+
throw new CliError("invalid_response", "Zoom returned an unexpected recording download host");
|
|
300
334
|
return target;
|
|
301
335
|
};
|
|
302
|
-
class DownloadFailure extends
|
|
336
|
+
class DownloadFailure extends CliError {
|
|
303
337
|
response;
|
|
304
338
|
constructor(response) {
|
|
305
339
|
super(statusToCode(response.status), `Recording download failed (HTTP ${response.status})`);
|
|
@@ -325,14 +359,14 @@ const transferSource = (remote, url, accessToken, format, signal) => ({
|
|
|
325
359
|
}
|
|
326
360
|
catch {
|
|
327
361
|
checkCancelled(signal);
|
|
328
|
-
throw new
|
|
362
|
+
throw new CliError("network_error", "Recording download could not be completed");
|
|
329
363
|
}
|
|
330
364
|
if (![301, 302, 303, 307, 308].includes(response.status))
|
|
331
365
|
break;
|
|
332
366
|
const location = response.headers.get("location");
|
|
333
367
|
await response.body?.cancel();
|
|
334
368
|
if (!location || redirects >= 5)
|
|
335
|
-
throw new
|
|
369
|
+
throw new CliError("invalid_response", "Zoom returned invalid recording redirects");
|
|
336
370
|
target = targetUrl(location, target);
|
|
337
371
|
}
|
|
338
372
|
if (![200, 206, 416].includes(response.status)) {
|
|
@@ -346,7 +380,7 @@ const transferSource = (remote, url, accessToken, format, signal) => ({
|
|
|
346
380
|
/\bapplication\/json\b/i.test(response.headers.get("content-type") ?? "")) ||
|
|
347
381
|
![null, "identity"].includes(response.headers.get("content-encoding")))) {
|
|
348
382
|
await response.body?.cancel();
|
|
349
|
-
throw new
|
|
383
|
+
throw new CliError("invalid_response", "Zoom returned an unexpected recording body");
|
|
350
384
|
}
|
|
351
385
|
const reader = response.body?.getReader();
|
|
352
386
|
const abortReader = () => {
|
|
@@ -370,7 +404,7 @@ const transferSource = (remote, url, accessToken, format, signal) => ({
|
|
|
370
404
|
}
|
|
371
405
|
catch {
|
|
372
406
|
checkCancelled(signal);
|
|
373
|
-
throw new
|
|
407
|
+
throw new CliError("network_error", "Recording download could not be completed");
|
|
374
408
|
}
|
|
375
409
|
checkCancelled(signal);
|
|
376
410
|
if (chunk.done)
|
|
@@ -392,7 +426,7 @@ export const archiveRecording = async (remote, meeting, urls, options) => {
|
|
|
392
426
|
checkCancelled(signal);
|
|
393
427
|
const maxBytes = validateDownloadOptions(options);
|
|
394
428
|
if (options.fileIds?.some((id) => !meeting.assets.some((asset) => asset.id === id)))
|
|
395
|
-
throw new
|
|
429
|
+
throw new CliError("validation_error", "requested recording file was not found");
|
|
396
430
|
let lock;
|
|
397
431
|
let root = "";
|
|
398
432
|
try {
|
|
@@ -407,6 +441,13 @@ export const archiveRecording = async (remote, meeting, urls, options) => {
|
|
|
407
441
|
files: [],
|
|
408
442
|
};
|
|
409
443
|
const report = { uuid: meeting.uuid, manifestPath, downloaded: [], skipped: [], unavailable: [] };
|
|
444
|
+
const verified = await readVerified(root);
|
|
445
|
+
let verifiedChanged = false;
|
|
446
|
+
const remember = async (path, sha256) => {
|
|
447
|
+
const stat = await lstat(join(root, path));
|
|
448
|
+
verified.files[path] = { size: stat.size, mtimeMs: stat.mtimeMs, sha256 };
|
|
449
|
+
verifiedChanged = true;
|
|
450
|
+
};
|
|
410
451
|
for (const asset of meeting.assets) {
|
|
411
452
|
checkCancelled(signal);
|
|
412
453
|
if (options.fileIds && (asset.id === null || !options.fileIds.includes(asset.id)))
|
|
@@ -418,24 +459,35 @@ export const archiveRecording = async (remote, meeting, urls, options) => {
|
|
|
418
459
|
const path = filename(meeting.uuid, asset);
|
|
419
460
|
const existing = manifest.files.find((file) => file.id === asset.id);
|
|
420
461
|
if (existing) {
|
|
421
|
-
const
|
|
462
|
+
const seen = verified.files[existing.path];
|
|
463
|
+
const stat = await lstat(join(root, existing.path)).catch(() => undefined);
|
|
464
|
+
const unchanged = seen !== undefined &&
|
|
465
|
+
stat?.isFile() === true &&
|
|
466
|
+
seen.size === stat.size &&
|
|
467
|
+
seen.mtimeMs === stat.mtimeMs &&
|
|
468
|
+
seen.sha256 === existing.sha256;
|
|
469
|
+
const local = unchanged
|
|
470
|
+
? { size: seen.size, sha256: seen.sha256 }
|
|
471
|
+
: await fingerprint(join(root, existing.path), signal);
|
|
422
472
|
if (existing.path !== path ||
|
|
423
473
|
existing.remoteSize !== asset.size ||
|
|
424
474
|
existing.startedAt !== asset.startedAt ||
|
|
425
475
|
existing.endedAt !== asset.endedAt ||
|
|
426
476
|
existing.size !== local.size ||
|
|
427
477
|
existing.sha256 !== local.sha256)
|
|
428
|
-
throw new
|
|
478
|
+
throw new CliError("validation_error", "existing recording has changed; choose a new archive destination");
|
|
479
|
+
if (!unchanged)
|
|
480
|
+
await remember(existing.path, existing.sha256);
|
|
429
481
|
report.skipped.push(existing);
|
|
430
482
|
continue;
|
|
431
483
|
}
|
|
432
484
|
const locator = {
|
|
433
485
|
provider: "zoom",
|
|
434
|
-
account: options.account
|
|
486
|
+
account: options.account,
|
|
435
487
|
occurrenceId: meeting.uuid,
|
|
436
488
|
assetId: asset.id,
|
|
437
489
|
};
|
|
438
|
-
const persistent = options.resume ??
|
|
490
|
+
const persistent = options.resume ?? true;
|
|
439
491
|
const storage = new RecordingPartialStore(root, locator, signal, persistent, maxBytes);
|
|
440
492
|
const promotionMeeting = {
|
|
441
493
|
id: meeting.id,
|
|
@@ -464,17 +516,17 @@ export const archiveRecording = async (remote, meeting, urls, options) => {
|
|
|
464
516
|
if (present) {
|
|
465
517
|
const intent = persistent ? await readRecordingPromotion(root, locator, promotionMeeting, metadata) : null;
|
|
466
518
|
if (!intent || intent.file.size > maxBytes)
|
|
467
|
-
throw new
|
|
519
|
+
throw new CliError("validation_error", "recording path already exists without a verified manifest or scoped recovery record");
|
|
468
520
|
const completed = await storage.load(locator);
|
|
469
521
|
if (!completed ||
|
|
470
522
|
completed.offset !== intent.file.size ||
|
|
471
523
|
completed.sha256 !== intent.file.sha256 ||
|
|
472
524
|
completed.validator !== intent.validator ||
|
|
473
525
|
(completed.total !== null && completed.total !== intent.file.size))
|
|
474
|
-
throw new
|
|
526
|
+
throw new CliError("validation_error", "recording recovery checkpoint does not prove this completed asset");
|
|
475
527
|
const local = await fingerprint(join(root, path), signal, intent.file.size);
|
|
476
528
|
if (local.size !== intent.file.size || local.sha256 !== intent.file.sha256)
|
|
477
|
-
throw new
|
|
529
|
+
throw new CliError("validation_error", "recording recovery final checksum does not match");
|
|
478
530
|
manifest.files.push(intent.file);
|
|
479
531
|
await writeManifest(root, manifest);
|
|
480
532
|
await unlink(storage.path);
|
|
@@ -489,7 +541,7 @@ export const archiveRecording = async (remote, meeting, urls, options) => {
|
|
|
489
541
|
const transferred = await transferRecording(transferSource(remote, urls.get(asset.id) ?? "", tokens.accessToken, asset.format, signal), storage, { locator, maxBytes, expectedSize: asset.size, signal });
|
|
490
542
|
entry = { ...metadata, size: transferred.size, sha256: transferred.sha256 };
|
|
491
543
|
if (asset.size !== null && entry.size !== asset.size)
|
|
492
|
-
throw new
|
|
544
|
+
throw new CliError("invalid_response", "recording download size does not match Zoom metadata");
|
|
493
545
|
checkCancelled(signal);
|
|
494
546
|
if (persistent && storage.completed)
|
|
495
547
|
await writeRecordingPromotion(root, locator, promotionMeeting, entry, storage.completed);
|
|
@@ -503,7 +555,7 @@ export const archiveRecording = async (remote, meeting, urls, options) => {
|
|
|
503
555
|
checkCancelled(signal);
|
|
504
556
|
const retryable = error instanceof DownloadFailure
|
|
505
557
|
? retryableStatus(error.response.status)
|
|
506
|
-
: error
|
|
558
|
+
: isCliError(error) && error.code === "network_error";
|
|
507
559
|
if (attempt >= 2 ||
|
|
508
560
|
!retryable ||
|
|
509
561
|
!(await remote.pause(error instanceof DownloadFailure ? error.response : null, attempt, signal)))
|
|
@@ -511,23 +563,24 @@ export const archiveRecording = async (remote, meeting, urls, options) => {
|
|
|
511
563
|
}
|
|
512
564
|
}
|
|
513
565
|
if (!entry)
|
|
514
|
-
throw new
|
|
566
|
+
throw new CliError("invalid_response", "recording transfer did not produce a verified receipt");
|
|
515
567
|
manifest.files.push(entry);
|
|
516
568
|
await writeManifest(root, manifest);
|
|
517
569
|
await unlink(temp);
|
|
570
|
+
await remember(entry.path, entry.sha256);
|
|
518
571
|
report.downloaded.push(entry);
|
|
519
572
|
}
|
|
520
573
|
if (!previous)
|
|
521
574
|
await writeManifest(root, manifest);
|
|
575
|
+
if (verifiedChanged)
|
|
576
|
+
await writeVerified(root, verified);
|
|
522
577
|
return report;
|
|
523
578
|
}
|
|
524
579
|
catch (error) {
|
|
525
580
|
checkCancelled(signal);
|
|
526
|
-
if (error
|
|
581
|
+
if (isCliError(error))
|
|
527
582
|
throw error;
|
|
528
|
-
|
|
529
|
-
throw new ZoomError(error.code, error.message);
|
|
530
|
-
throw new ZoomError("provider_error", "archive operation could not be completed");
|
|
583
|
+
throw new CliError("provider_error", "archive operation could not be completed");
|
|
531
584
|
}
|
|
532
585
|
finally {
|
|
533
586
|
if (root && !lock)
|
|
@@ -554,9 +607,9 @@ export const inspectArchive = async (destination, options = {}) => {
|
|
|
554
607
|
}
|
|
555
608
|
catch (error) {
|
|
556
609
|
checkCancelled(options.signal);
|
|
557
|
-
if (error
|
|
610
|
+
if (isCliError(error))
|
|
558
611
|
throw error;
|
|
559
|
-
throw new
|
|
612
|
+
throw new CliError("configuration_error", "archive destination could not be read");
|
|
560
613
|
}
|
|
561
614
|
};
|
|
562
615
|
export const verifyArchive = async (destination, options = {}) => {
|