@wirecat/zoom-cli 0.21.0 → 0.21.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +2 -0
- package/dist/commands.js.map +1 -1
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +3 -2
- package/dist/execution.js.map +1 -1
- package/dist/recording-archive.d.ts +1 -16
- package/dist/recording-archive.d.ts.map +1 -1
- package/dist/recording-archive.js +6 -140
- package/dist/recording-archive.js.map +1 -1
- package/dist/recording-partial-store.d.ts +7 -18
- package/dist/recording-partial-store.d.ts.map +1 -1
- package/dist/recording-partial-store.js +19 -213
- package/dist/recording-partial-store.js.map +1 -1
- package/dist/recording-writer-lease.d.ts +19 -0
- package/dist/recording-writer-lease.d.ts.map +1 -0
- package/dist/recording-writer-lease.js +25 -0
- package/dist/recording-writer-lease.js.map +1 -0
- package/package.json +3 -3
- package/skills/zoom-cli/SKILL.md +4 -2
package/dist/commands.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,IAAI,EAAkC,MAAM,uBAAuB,CAAA;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC5B,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,IAqElF,CAAA;AAED,eAAO,MAAM,uBAAuB,YAAa,OAAO,KAAG,
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,IAAI,EAAkC,MAAM,uBAAuB,CAAA;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC5B,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,IAqElF,CAAA;AAED,eAAO,MAAM,uBAAuB,YAAa,OAAO,KAAG,IAsB1D,CAAA"}
|
package/dist/commands.js
CHANGED
|
@@ -81,6 +81,8 @@ export const annotateMeetingCommands = (program) => {
|
|
|
81
81
|
annotate(command, {
|
|
82
82
|
origin: "handwritten",
|
|
83
83
|
effects,
|
|
84
|
+
...(path === "watch" || path === "serve" ? { lifetime: "persistent" } : {}),
|
|
85
|
+
...(path === "session start" ? { lifetime: "interactive" } : {}),
|
|
84
86
|
...(item.examples ? {} : { examples: [exampleFor(path)] }),
|
|
85
87
|
});
|
|
86
88
|
}
|
package/dist/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/execution.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AACvD,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,SAc1D,CAAA;AACD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AACD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,MAAM,IAAI,CAAA;CACjB;AACD,eAAO,MAAM,cAAc,WAAY,OAAO,WAAW,gBAAgB,KAAG,cAY3E,CAAA;AAED,eAAO,MAAM,eAAe,SAAU,OAAO,KAAG,IAS/C,CAAA"}
|
package/dist/execution.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CliError, createDeadline, createOutputBuffer, } from "@wirecat/cli-base";
|
|
2
|
+
import { metaOf } from "@wirecat/cli-base/commands";
|
|
2
3
|
import { readMetadata } from "./answers.js";
|
|
3
4
|
export const duration = (text) => {
|
|
4
5
|
const match = /^(\d+(?:\.\d+)?)(ms|s|m|h)?$/.exec(text);
|
|
@@ -14,9 +15,9 @@ export const bytes = (text) => {
|
|
|
14
15
|
return Number(text);
|
|
15
16
|
};
|
|
16
17
|
export const commandDeadline = (action) => {
|
|
17
|
-
if (action
|
|
18
|
+
if (metaOf(action).lifetime === "persistent")
|
|
18
19
|
return undefined;
|
|
19
|
-
if (action
|
|
20
|
+
if (metaOf(action).lifetime === "interactive")
|
|
20
21
|
return 300000;
|
|
21
22
|
if (action.name() === "download" ||
|
|
22
23
|
action.name() === "sync" ||
|
package/dist/execution.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,cAAc,EACd,kBAAkB,GAInB,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { type ArchiveLockInfo, inspectArchiveLocks, recoverArchiveLocks } from "./recording-writer-lease.js";
|
|
1
2
|
import type { RecordingAsset, RecordingMeeting } from "./recordings.js";
|
|
2
3
|
import { type ZoomRemote } from "./remote-http.js";
|
|
3
4
|
export interface DownloadOptions {
|
|
@@ -38,22 +39,6 @@ export interface ArchiveVerification {
|
|
|
38
39
|
path: string;
|
|
39
40
|
valid: boolean;
|
|
40
41
|
}
|
|
41
|
-
export interface ArchiveLockInfo {
|
|
42
|
-
name: string;
|
|
43
|
-
status: "active" | "stale" | "foreign" | "unrecognized";
|
|
44
|
-
pid: number | null;
|
|
45
|
-
host: string | null;
|
|
46
|
-
}
|
|
47
|
-
export declare const inspectArchiveLocks: (destination: string, options?: {
|
|
48
|
-
signal?: AbortSignal;
|
|
49
|
-
}) => Promise<ArchiveLockInfo[]>;
|
|
50
|
-
export declare const recoverArchiveLocks: (destination: string, options?: {
|
|
51
|
-
apply?: boolean;
|
|
52
|
-
signal?: AbortSignal;
|
|
53
|
-
}) => Promise<{
|
|
54
|
-
locks: ArchiveLockInfo[];
|
|
55
|
-
removed: string[];
|
|
56
|
-
}>;
|
|
57
42
|
export declare const archiveRecording: (remote: ZoomRemote, meeting: RecordingMeeting, urls: Map<string, string>, options: DownloadOptions) => Promise<ArchiveReport>;
|
|
58
43
|
export declare const inspectArchive: (destination: string, options?: {
|
|
59
44
|
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":"AAYA,OAAO,EAAE,KAAK,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAE5G,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;AA0QD,eAAO,MAAM,gBAAgB,WACnB,UAAU,WACT,gBAAgB,QACnB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,WAChB,eAAe,KACvB,OAAO,CAAC,aAAa,CAsKvB,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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { createHash, randomUUID } from "node:crypto";
|
|
2
|
-
import { link, lstat, mkdir, open, readdir, realpath, rename,
|
|
3
|
-
import { hostname } from "node:os";
|
|
2
|
+
import { link, lstat, mkdir, open, readdir, realpath, rename, unlink } from "node:fs/promises";
|
|
4
3
|
import { join } from "node:path";
|
|
5
4
|
import { CliError, isCliError } from "@wirecat/cli-base";
|
|
6
5
|
import { retryableStatus, statusToCode } from "@wirecat/cli-base/http";
|
|
@@ -9,6 +8,8 @@ import { transferRecording } from "@wirecat/cli-core/meetings";
|
|
|
9
8
|
import { checkCancelled, string } from "./errors.js";
|
|
10
9
|
import { RecordingPartialStore } from "./recording-partial-store.js";
|
|
11
10
|
import { readRecordingPromotion, writeRecordingPromotion } from "./recording-promotion-store.js";
|
|
11
|
+
import { acquireArchiveWriter } from "./recording-writer-lease.js";
|
|
12
|
+
export { inspectArchiveLocks, recoverArchiveLocks } from "./recording-writer-lease.js";
|
|
12
13
|
import { operationSignal } from "./remote-http.js";
|
|
13
14
|
export const validateDownloadOptions = (options) => {
|
|
14
15
|
const maxBytes = options.maxBytes === undefined ? 20 * 1024 ** 3 : options.maxBytes;
|
|
@@ -31,135 +32,6 @@ export const validateDownloadOptions = (options) => {
|
|
|
31
32
|
throw new CliError("validation_error", "recording selection must contain nonempty file ids");
|
|
32
33
|
return maxBytes;
|
|
33
34
|
};
|
|
34
|
-
const locksFolder = ".zoom-archive-locks";
|
|
35
|
-
const lockOwner = async (path, name, signal) => {
|
|
36
|
-
checkCancelled(signal);
|
|
37
|
-
try {
|
|
38
|
-
const file = await localFile(path);
|
|
39
|
-
try {
|
|
40
|
-
if ((await file.stat()).size > 4096)
|
|
41
|
-
return null;
|
|
42
|
-
const content = await file.readFile("utf8");
|
|
43
|
-
checkCancelled(signal);
|
|
44
|
-
const owner = JSON.parse(content);
|
|
45
|
-
if (owner.version !== 1 ||
|
|
46
|
-
!Number.isSafeInteger(owner.pid) ||
|
|
47
|
-
owner.pid <= 0 ||
|
|
48
|
-
!string(owner.host) ||
|
|
49
|
-
!/^[a-f0-9-]{36}$/.test(owner.nonce) ||
|
|
50
|
-
name !== `${owner.pid}-${owner.nonce}.json`)
|
|
51
|
-
return null;
|
|
52
|
-
return owner;
|
|
53
|
-
}
|
|
54
|
-
finally {
|
|
55
|
-
await file.close();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
checkCancelled(signal);
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
const lockStatus = (owner) => {
|
|
64
|
-
if (owner.host !== hostname())
|
|
65
|
-
return "foreign";
|
|
66
|
-
try {
|
|
67
|
-
process.kill(owner.pid, 0);
|
|
68
|
-
return "active";
|
|
69
|
-
}
|
|
70
|
-
catch (error) {
|
|
71
|
-
return typeof error === "object" && error !== null && "code" in error && error.code === "ESRCH" ? "stale" : "active";
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
export const inspectArchiveLocks = async (destination, options = {}) => {
|
|
75
|
-
checkCancelled(options.signal);
|
|
76
|
-
const root = await realpath(destination);
|
|
77
|
-
checkCancelled(options.signal);
|
|
78
|
-
const folder = join(root, locksFolder);
|
|
79
|
-
let names;
|
|
80
|
-
try {
|
|
81
|
-
if ((await lstat(folder)).isSymbolicLink())
|
|
82
|
-
throw new CliError("validation_error", "archive lock directory must not be a symlink");
|
|
83
|
-
names = await readdir(folder);
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
if (missing(error))
|
|
87
|
-
return [];
|
|
88
|
-
throw new CliError("configuration_error", "archive lock directory could not be read");
|
|
89
|
-
}
|
|
90
|
-
const result = [];
|
|
91
|
-
for (const name of names.sort()) {
|
|
92
|
-
checkCancelled(options.signal);
|
|
93
|
-
const owner = await lockOwner(join(folder, name), name, options.signal);
|
|
94
|
-
result.push({
|
|
95
|
-
name,
|
|
96
|
-
status: owner ? lockStatus(owner) : "unrecognized",
|
|
97
|
-
pid: owner?.pid ?? null,
|
|
98
|
-
host: owner?.host ?? null,
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
return result;
|
|
102
|
-
};
|
|
103
|
-
export const recoverArchiveLocks = async (destination, options = {}) => {
|
|
104
|
-
checkCancelled(options.signal);
|
|
105
|
-
const root = await realpath(destination);
|
|
106
|
-
const locks = await inspectArchiveLocks(root, options);
|
|
107
|
-
const removed = [];
|
|
108
|
-
if (options.apply)
|
|
109
|
-
for (const lock of locks) {
|
|
110
|
-
checkCancelled(options.signal);
|
|
111
|
-
if (lock.status !== "stale")
|
|
112
|
-
continue;
|
|
113
|
-
const path = join(root, locksFolder, lock.name);
|
|
114
|
-
const owner = await lockOwner(path, lock.name, options.signal);
|
|
115
|
-
if (!owner || lockStatus(owner) !== "stale")
|
|
116
|
-
continue;
|
|
117
|
-
// Unique PID/nonce paths are never reused, so a new writer cannot replace this stale owner.
|
|
118
|
-
try {
|
|
119
|
-
await unlink(path);
|
|
120
|
-
removed.push(lock.name);
|
|
121
|
-
}
|
|
122
|
-
catch (error) {
|
|
123
|
-
if (!missing(error))
|
|
124
|
-
throw new CliError("configuration_error", "stale archive lock could not be removed");
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return { locks, removed };
|
|
128
|
-
};
|
|
129
|
-
const acquireArchiveLock = async (root) => {
|
|
130
|
-
const folder = join(root, locksFolder);
|
|
131
|
-
await mkdir(folder, { recursive: true });
|
|
132
|
-
if ((await lstat(folder)).isSymbolicLink())
|
|
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
|
-
const owner = { version: 1, pid: process.pid, host: hostname(), nonce: randomUUID() };
|
|
137
|
-
const name = `${owner.pid}-${owner.nonce}.json`;
|
|
138
|
-
const path = join(folder, name);
|
|
139
|
-
const file = await open(path, "wx", 0o600);
|
|
140
|
-
try {
|
|
141
|
-
await file.writeFile(JSON.stringify(owner));
|
|
142
|
-
await file.sync();
|
|
143
|
-
await file.close();
|
|
144
|
-
const locks = await inspectArchiveLocks(root);
|
|
145
|
-
if (locks.some((lock) => lock.name !== name))
|
|
146
|
-
throw new CliError("validation_error", "archive is locked; inspect or recover stale local locks");
|
|
147
|
-
try {
|
|
148
|
-
await lstat(join(root, ".zoom-archive.lock"));
|
|
149
|
-
throw new CliError("validation_error", "archive has an unrecognized legacy lock");
|
|
150
|
-
}
|
|
151
|
-
catch (error) {
|
|
152
|
-
if (!missing(error))
|
|
153
|
-
throw error;
|
|
154
|
-
}
|
|
155
|
-
return path;
|
|
156
|
-
}
|
|
157
|
-
catch (error) {
|
|
158
|
-
await file.close().catch(() => undefined);
|
|
159
|
-
await unlink(path).catch(() => undefined);
|
|
160
|
-
throw error;
|
|
161
|
-
}
|
|
162
|
-
};
|
|
163
35
|
const digest = (text) => createHash("sha256").update(text).digest("hex");
|
|
164
36
|
const manifestName = (uuid) => `.zoom-archive-${digest(uuid)}.json`;
|
|
165
37
|
const filename = (uuid, asset) => `${digest(uuid)}-${digest(asset.id ?? "")}.${/^(mp4|m4a|mp3|wav|vtt|txt|json)$/i.test(asset.format ?? "") ? asset.format?.toLowerCase() : "bin"}`;
|
|
@@ -428,11 +300,10 @@ export const archiveRecording = async (remote, meeting, urls, options) => {
|
|
|
428
300
|
if (options.fileIds?.some((id) => !meeting.assets.some((asset) => asset.id === id)))
|
|
429
301
|
throw new CliError("validation_error", "requested recording file was not found");
|
|
430
302
|
let lock;
|
|
431
|
-
let root = "";
|
|
432
303
|
try {
|
|
433
304
|
await mkdir(options.destination, { recursive: true });
|
|
434
|
-
root = await realpath(options.destination);
|
|
435
|
-
lock = await
|
|
305
|
+
const root = await realpath(options.destination);
|
|
306
|
+
lock = await acquireArchiveWriter(root, signal);
|
|
436
307
|
const manifestPath = join(root, manifestName(meeting.uuid));
|
|
437
308
|
const previous = await readManifest(manifestPath, signal);
|
|
438
309
|
const manifest = previous ?? {
|
|
@@ -583,12 +454,7 @@ export const archiveRecording = async (remote, meeting, urls, options) => {
|
|
|
583
454
|
throw new CliError("provider_error", "archive operation could not be completed");
|
|
584
455
|
}
|
|
585
456
|
finally {
|
|
586
|
-
|
|
587
|
-
await rmdir(join(root, locksFolder)).catch(() => undefined);
|
|
588
|
-
if (lock) {
|
|
589
|
-
await unlink(lock);
|
|
590
|
-
await rmdir(join(root, locksFolder)).catch(() => undefined);
|
|
591
|
-
}
|
|
457
|
+
await lock?.release();
|
|
592
458
|
}
|
|
593
459
|
};
|
|
594
460
|
export const inspectArchive = async (destination, options = {}) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recording-archive.js","sourceRoot":"","sources":["../src/recording-archive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recording-archive.js","sourceRoot":"","sources":["../src/recording-archive.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,9 @@
|
|
|
1
|
-
import type { RecordingAssetLocator,
|
|
2
|
-
|
|
3
|
-
export declare class RecordingPartialStore
|
|
4
|
-
private readonly
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
private readonly maxBytes;
|
|
9
|
-
readonly path: string;
|
|
10
|
-
completed: RecordingPartial | null;
|
|
11
|
-
private readonly metadataPath;
|
|
12
|
-
constructor(root: string, locator: RecordingAssetLocator, signal?: AbortSignal | undefined, persistent?: boolean, maxBytes?: number);
|
|
13
|
-
load(locator: RecordingAssetLocator): Promise<RecordingPartial | null>;
|
|
14
|
-
open(locator: RecordingAssetLocator, options: {
|
|
15
|
-
resume?: RecordingPartial;
|
|
16
|
-
validator: string | null;
|
|
17
|
-
total: number | null;
|
|
18
|
-
}): Promise<RecordingTransferWriter>;
|
|
1
|
+
import type { RecordingAssetLocator, RecordingTransferWriter } from "@wirecat/cli-core/meetings";
|
|
2
|
+
import { NativeRecordingPartialStore } from "@wirecat/cli-core/persistence/native";
|
|
3
|
+
export declare class RecordingPartialStore extends NativeRecordingPartialStore {
|
|
4
|
+
private readonly cancellation?;
|
|
5
|
+
constructor(root: string, locator: RecordingAssetLocator, cancellation?: AbortSignal | undefined, persistent?: boolean, maxBytes?: number);
|
|
6
|
+
load(locator: RecordingAssetLocator): Promise<import("@wirecat/cli-core/meetings").RecordingPartial | null>;
|
|
7
|
+
open(locator: RecordingAssetLocator, options: Parameters<NativeRecordingPartialStore["open"]>[1]): Promise<RecordingTransferWriter>;
|
|
19
8
|
}
|
|
20
9
|
//# sourceMappingURL=recording-partial-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recording-partial-store.d.ts","sourceRoot":"","sources":["../src/recording-partial-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recording-partial-store.d.ts","sourceRoot":"","sources":["../src/recording-partial-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAChG,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAA;AAalF,qBAAa,qBAAsB,SAAQ,2BAA2B;IAIlE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAHhC,YACE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,EACb,YAAY,CAAC,EAAE,WAAW,YAAA,EAC3C,UAAU,UAAO,EACjB,QAAQ,SAAiB,EAG1B;IAEQ,IAAI,CAAC,OAAO,EAAE,qBAAqB,yEAE3C;IAEc,IAAI,CACjB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,UAAU,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAC1D,OAAO,CAAC,uBAAuB,CAAC,CAQlC;CACF"}
|
|
@@ -1,225 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { constants } from "node:fs";
|
|
3
|
-
import { lstat, open, rename, unlink } from "node:fs/promises";
|
|
4
|
-
import { join } from "node:path";
|
|
5
|
-
import { CliError } from "@wirecat/cli-base";
|
|
6
|
-
import { openOrdinaryFile, syncDirectory } from "@wirecat/cli-core/files";
|
|
1
|
+
import { NativeRecordingPartialStore } from "@wirecat/cli-core/persistence/native";
|
|
7
2
|
import { checkCancelled } from "./errors.js";
|
|
8
|
-
const
|
|
9
|
-
const identity = (locator) => JSON.stringify([locator.provider, locator.account, locator.occurrenceId, locator.assetId]);
|
|
10
|
-
const missing = (error) => typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT";
|
|
11
|
-
const fingerprint = async (file, signal, length) => {
|
|
3
|
+
const operation = async (run, signal) => {
|
|
12
4
|
checkCancelled(signal);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
5
|
+
try {
|
|
6
|
+
return await run();
|
|
7
|
+
}
|
|
8
|
+
catch (error) {
|
|
17
9
|
checkCancelled(signal);
|
|
18
|
-
|
|
19
|
-
if (wanted === 0)
|
|
20
|
-
break;
|
|
21
|
-
const count = (await file.read(buffer, 0, wanted, size)).bytesRead;
|
|
22
|
-
if (count === 0)
|
|
23
|
-
break;
|
|
24
|
-
size += count;
|
|
25
|
-
hash.update(buffer.subarray(0, count));
|
|
10
|
+
throw error;
|
|
26
11
|
}
|
|
27
|
-
return { offset: size, sha256: hash.copy().digest("hex"), hash };
|
|
28
12
|
};
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
root
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
persistent;
|
|
35
|
-
maxBytes;
|
|
36
|
-
path;
|
|
37
|
-
completed = null;
|
|
38
|
-
metadataPath;
|
|
39
|
-
constructor(root, locator, signal, persistent = true, maxBytes = 20 * 1024 ** 3) {
|
|
40
|
-
this.root = root;
|
|
41
|
-
this.locator = locator;
|
|
42
|
-
this.signal = signal;
|
|
43
|
-
this.persistent = persistent;
|
|
44
|
-
this.maxBytes = maxBytes;
|
|
45
|
-
this.locator = Object.freeze({
|
|
46
|
-
provider: locator.provider,
|
|
47
|
-
account: locator.account,
|
|
48
|
-
occurrenceId: locator.occurrenceId,
|
|
49
|
-
assetId: locator.assetId,
|
|
50
|
-
});
|
|
51
|
-
const key = persistent ? digest(identity(this.locator)) : randomUUID();
|
|
52
|
-
this.path = join(root, `.zoom-partial-${key}.part`);
|
|
53
|
-
this.metadataPath = join(root, `.zoom-partial-${key}.json`);
|
|
13
|
+
export class RecordingPartialStore extends NativeRecordingPartialStore {
|
|
14
|
+
cancellation;
|
|
15
|
+
constructor(root, locator, cancellation, persistent = true, maxBytes = 20 * 1024 ** 3) {
|
|
16
|
+
super(root, locator, { prefix: ".zoom-partial-", persistent, maxBytes, signal: cancellation });
|
|
17
|
+
this.cancellation = cancellation;
|
|
54
18
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
throw new CliError("validation_error", "recording partial scope changed");
|
|
58
|
-
checkCancelled(this.signal);
|
|
59
|
-
if (!this.persistent)
|
|
60
|
-
return null;
|
|
61
|
-
let metadata;
|
|
62
|
-
try {
|
|
63
|
-
metadata = await openOrdinaryFile(this.metadataPath);
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
if (missing(error))
|
|
67
|
-
return null;
|
|
68
|
-
throw error;
|
|
69
|
-
}
|
|
70
|
-
let value;
|
|
71
|
-
try {
|
|
72
|
-
if ((await metadata.stat()).size > 16384)
|
|
73
|
-
throw new Error("metadata limit");
|
|
74
|
-
const bytes = Buffer.alloc(16385);
|
|
75
|
-
const count = (await metadata.read(bytes, 0, bytes.length, 0)).bytesRead;
|
|
76
|
-
if (count > 16384)
|
|
77
|
-
throw new Error("metadata limit");
|
|
78
|
-
value = JSON.parse(bytes.subarray(0, count).toString("utf8"));
|
|
79
|
-
if (Object.keys(value).some((key) => !["locator", "offset", "sha256", "validator", "total"].includes(key)) ||
|
|
80
|
-
identity(value.locator) !== identity(locator) ||
|
|
81
|
-
Object.keys(value.locator).some((key) => !["provider", "account", "occurrenceId", "assetId"].includes(key)) ||
|
|
82
|
-
!Number.isSafeInteger(value.offset) ||
|
|
83
|
-
value.offset < 0 ||
|
|
84
|
-
value.offset > this.maxBytes ||
|
|
85
|
-
!/^[a-f0-9]{64}$/.test(value.sha256))
|
|
86
|
-
throw new Error("metadata shape");
|
|
87
|
-
}
|
|
88
|
-
catch {
|
|
89
|
-
throw new CliError("validation_error", "recording partial metadata is invalid");
|
|
90
|
-
}
|
|
91
|
-
finally {
|
|
92
|
-
await metadata.close();
|
|
93
|
-
}
|
|
94
|
-
const file = await openOrdinaryFile(this.path);
|
|
95
|
-
try {
|
|
96
|
-
const actual = await fingerprint(file, this.signal, value.offset);
|
|
97
|
-
if (actual.offset !== value.offset || actual.sha256 !== value.sha256)
|
|
98
|
-
throw new CliError("validation_error", "recording partial checksum does not match");
|
|
99
|
-
return value;
|
|
100
|
-
}
|
|
101
|
-
finally {
|
|
102
|
-
await file.close();
|
|
103
|
-
}
|
|
19
|
+
load(locator) {
|
|
20
|
+
return operation(() => super.load(locator), this.cancellation);
|
|
104
21
|
}
|
|
105
22
|
async open(locator, options) {
|
|
106
|
-
|
|
107
|
-
throw new CliError("validation_error", "recording partial scope changed");
|
|
108
|
-
checkCancelled(this.signal);
|
|
109
|
-
let file;
|
|
110
|
-
if (options.resume) {
|
|
111
|
-
const witness = await openOrdinaryFile(this.path);
|
|
112
|
-
try {
|
|
113
|
-
file = await open(this.path, constants.O_RDWR |
|
|
114
|
-
(process.platform === "win32" ? 0 : (constants.O_NOFOLLOW ?? 0) | (constants.O_NONBLOCK ?? 0)));
|
|
115
|
-
const a = await witness.stat({ bigint: true });
|
|
116
|
-
const b = await file.stat({ bigint: true });
|
|
117
|
-
const after = await lstat(this.path, { bigint: true });
|
|
118
|
-
if (!b.isFile() || !after.isFile() || a.ino !== b.ino || a.dev !== b.dev || after.ino !== a.ino) {
|
|
119
|
-
await file.close();
|
|
120
|
-
throw new CliError("validation_error", "recording partial changed while opening");
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
finally {
|
|
124
|
-
await witness.close();
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
// Replace the owned partial name atomically without following an existing symlink.
|
|
129
|
-
const temp = join(this.root, `.zoom-partial-${randomUUID()}.tmp`);
|
|
130
|
-
file = await open(temp, "wx+", 0o600);
|
|
131
|
-
try {
|
|
132
|
-
await rename(temp, this.path);
|
|
133
|
-
await unlink(this.metadataPath).catch((error) => {
|
|
134
|
-
if (!missing(error))
|
|
135
|
-
throw error;
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
catch (error) {
|
|
139
|
-
await file.close();
|
|
140
|
-
await unlink(temp).catch(() => undefined);
|
|
141
|
-
throw error;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
let prefix;
|
|
145
|
-
try {
|
|
146
|
-
prefix = await fingerprint(file, this.signal, options.resume?.offset);
|
|
147
|
-
if (options.resume && (prefix.offset !== options.resume.offset || prefix.sha256 !== options.resume.sha256))
|
|
148
|
-
throw new CliError("validation_error", "recording partial changed before append");
|
|
149
|
-
}
|
|
150
|
-
catch (error) {
|
|
151
|
-
await file.close();
|
|
152
|
-
throw error;
|
|
153
|
-
}
|
|
154
|
-
if (options.resume && (await file.stat()).size > prefix.offset)
|
|
155
|
-
await file.truncate(prefix.offset);
|
|
156
|
-
let size = prefix.offset;
|
|
157
|
-
const hash = prefix.hash;
|
|
158
|
-
const checkpoint = async () => {
|
|
159
|
-
await file.sync();
|
|
160
|
-
if (!options.validator || !this.persistent) {
|
|
161
|
-
await syncDirectory(this.root);
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
const value = {
|
|
165
|
-
locator: {
|
|
166
|
-
provider: locator.provider,
|
|
167
|
-
account: locator.account,
|
|
168
|
-
occurrenceId: locator.occurrenceId,
|
|
169
|
-
assetId: locator.assetId,
|
|
170
|
-
},
|
|
171
|
-
offset: size,
|
|
172
|
-
sha256: hash.copy().digest("hex"),
|
|
173
|
-
validator: options.validator,
|
|
174
|
-
total: options.total,
|
|
175
|
-
};
|
|
176
|
-
const content = JSON.stringify(value);
|
|
177
|
-
if (Buffer.byteLength(content) > 16384)
|
|
178
|
-
throw new CliError("validation_error", "recording partial metadata exceeds its byte limit");
|
|
179
|
-
const temp = join(this.root, `.zoom-partial-${randomUUID()}.tmp`);
|
|
180
|
-
const metadata = await open(temp, "wx", 0o600);
|
|
181
|
-
try {
|
|
182
|
-
try {
|
|
183
|
-
await metadata.writeFile(content);
|
|
184
|
-
await metadata.sync();
|
|
185
|
-
}
|
|
186
|
-
finally {
|
|
187
|
-
await metadata.close();
|
|
188
|
-
}
|
|
189
|
-
await rename(temp, this.metadataPath);
|
|
190
|
-
await syncDirectory(this.root);
|
|
191
|
-
}
|
|
192
|
-
finally {
|
|
193
|
-
await unlink(temp).catch(() => undefined);
|
|
194
|
-
}
|
|
195
|
-
};
|
|
23
|
+
const writer = await operation(() => super.open(locator, options), this.cancellation);
|
|
196
24
|
return {
|
|
197
|
-
write:
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
if (written === 0)
|
|
202
|
-
throw new CliError("configuration_error", "recording partial write did not progress");
|
|
203
|
-
offset += written;
|
|
204
|
-
}
|
|
205
|
-
hash.update(bytes);
|
|
206
|
-
size += bytes.length;
|
|
207
|
-
},
|
|
208
|
-
checkpoint,
|
|
209
|
-
finish: async () => {
|
|
210
|
-
await checkpoint();
|
|
211
|
-
this.completed = options.validator
|
|
212
|
-
? {
|
|
213
|
-
locator: { ...this.locator },
|
|
214
|
-
offset: size,
|
|
215
|
-
sha256: hash.copy().digest("hex"),
|
|
216
|
-
validator: options.validator,
|
|
217
|
-
total: options.total,
|
|
218
|
-
}
|
|
219
|
-
: null;
|
|
220
|
-
return { size, sha256: hash.copy().digest("hex") };
|
|
221
|
-
},
|
|
222
|
-
close: () => file.close(),
|
|
25
|
+
write: (bytes) => operation(() => writer.write(bytes), this.cancellation),
|
|
26
|
+
checkpoint: () => operation(() => writer.checkpoint(), this.cancellation),
|
|
27
|
+
finish: () => operation(() => writer.finish(), this.cancellation),
|
|
28
|
+
close: () => writer.close(),
|
|
223
29
|
};
|
|
224
30
|
}
|
|
225
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recording-partial-store.js","sourceRoot":"","sources":["../src/recording-partial-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recording-partial-store.js","sourceRoot":"","sources":["../src/recording-partial-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAA;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,SAAS,GAAG,KAAK,EAAK,GAAqB,EAAE,MAAoB,EAAc,EAAE;IACrF,cAAc,CAAC,MAAM,CAAC,CAAA;IACtB,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,EAAE,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAc,CAAC,MAAM,CAAC,CAAA;QACtB,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,OAAO,qBAAsB,SAAQ,2BAA2B;IAIjD,YAAY;IAH/B,YACE,IAAY,EACZ,OAA8B,EACb,YAA0B,EAC3C,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC;QAEzB,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;4BAJ7E,YAAY;IAK/B,CAAC;IAEQ,IAAI,CAAC,OAA8B;QAC1C,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IAChE,CAAC;IAEQ,KAAK,CAAC,IAAI,CACjB,OAA8B,EAC9B,OAA2D;QAE3D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACrF,OAAO;YACL,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC;YACzE,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC;YACzE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC;YACjE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;SAC5B,CAAA;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type WriterLease, type WriterLeaseInfo } from "@wirecat/cli-core/files";
|
|
2
|
+
export interface ArchiveLockInfo {
|
|
3
|
+
name: string;
|
|
4
|
+
status: WriterLeaseInfo["status"];
|
|
5
|
+
pid: number | null;
|
|
6
|
+
host: string | null;
|
|
7
|
+
}
|
|
8
|
+
export declare const inspectArchiveLocks: (destination: string, options?: {
|
|
9
|
+
signal?: AbortSignal;
|
|
10
|
+
}) => Promise<ArchiveLockInfo[]>;
|
|
11
|
+
export declare const recoverArchiveLocks: (destination: string, options?: {
|
|
12
|
+
apply?: boolean;
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
}) => Promise<{
|
|
15
|
+
locks: ArchiveLockInfo[];
|
|
16
|
+
removed: string[];
|
|
17
|
+
}>;
|
|
18
|
+
export declare const acquireArchiveWriter: (destination: string, signal?: AbortSignal) => Promise<WriterLease>;
|
|
19
|
+
//# sourceMappingURL=recording-writer-lease.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recording-writer-lease.d.ts","sourceRoot":"","sources":["../src/recording-writer-lease.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAGxG,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAA;IACjC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAaD,eAAO,MAAM,mBAAmB,gBACjB,MAAM,YACV;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAChC,OAAO,CAAC,eAAe,EAAE,CAA2E,CAAA;AAEvG,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,CACc,CAAA;AAExE,eAAO,MAAM,oBAAoB,gBAAiB,MAAM,WAAW,WAAW,KAAG,OAAO,CAAC,WAAW,CAOxF,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CliError } from "@wirecat/cli-base";
|
|
2
|
+
import { nativeWriterLeaseStore } from "@wirecat/cli-core/files";
|
|
3
|
+
import { checkCancelled } from "./errors.js";
|
|
4
|
+
const writers = nativeWriterLeaseStore({ markerDirectory: ".zoom-archive-locks", legacyMarker: ".zoom-archive.lock" });
|
|
5
|
+
const operation = async (run, signal) => {
|
|
6
|
+
checkCancelled(signal);
|
|
7
|
+
try {
|
|
8
|
+
return await run();
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
checkCancelled(signal);
|
|
12
|
+
throw error;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
export const inspectArchiveLocks = (destination, options = {}) => operation(() => writers.inspect(destination, options), options.signal);
|
|
16
|
+
export const recoverArchiveLocks = (destination, options = {}) => operation(() => writers.recover(destination, options), options.signal);
|
|
17
|
+
export const acquireArchiveWriter = (destination, signal) => operation(async () => {
|
|
18
|
+
const ownership = await writers.acquire(destination, { signal });
|
|
19
|
+
if (ownership.status === "busy")
|
|
20
|
+
throw new CliError("validation_error", "archive is locked; inspect or recover stale local locks");
|
|
21
|
+
if (ownership.status === "legacy")
|
|
22
|
+
throw new CliError("validation_error", "archive has an unrecognized legacy lock");
|
|
23
|
+
return ownership.lease;
|
|
24
|
+
}, signal);
|
|
25
|
+
//# sourceMappingURL=recording-writer-lease.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recording-writer-lease.js","sourceRoot":"","sources":["../src/recording-writer-lease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAA0C,MAAM,yBAAyB,CAAA;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAS5C,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC,CAAA;AACtH,MAAM,SAAS,GAAG,KAAK,EAAK,GAAqB,EAAE,MAAoB,EAAc,EAAE;IACrF,cAAc,CAAC,MAAM,CAAC,CAAA;IACtB,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,EAAE,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAc,CAAC,MAAM,CAAC,CAAA;QACtB,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,WAAmB,EACnB,OAAO,GAA6B,EAAE,EACV,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AAEvG,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,WAAmB,EACnB,OAAO,GAA8C,EAAE,EACG,EAAE,CAC5D,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AAExE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,WAAmB,EAAE,MAAoB,EAAwB,EAAE,CACtG,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAChE,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM;QAC7B,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,yDAAyD,CAAC,CAAA;IACnG,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,yCAAyC,CAAC,CAAA;IACpH,OAAO,SAAS,CAAC,KAAK,CAAA;AACxB,CAAC,EAAE,MAAM,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wirecat/zoom-cli",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.2",
|
|
4
4
|
"description": "Zoom cloud recording archives, persistent transcripts and meeting tools",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@modelcontextprotocol/sdk": "1.32.1",
|
|
56
|
-
"@wirecat/cli-base": "0.
|
|
57
|
-
"@wirecat/cli-core": "0.
|
|
56
|
+
"@wirecat/cli-base": "0.40.0",
|
|
57
|
+
"@wirecat/cli-core": "0.299.0",
|
|
58
58
|
"commander": "15.0.0",
|
|
59
59
|
"valibot": "1.5.0"
|
|
60
60
|
},
|
package/skills/zoom-cli/SKILL.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: zoom-cli
|
|
3
3
|
description: Archive Zoom cloud recordings, read stored meeting transcripts and summaries, or manage a Zoom meeting through zm. Use for Zoom CLI workflows, not joining calls or operating the desktop video client.
|
|
4
4
|
metadata:
|
|
5
|
-
version: "0.21.
|
|
5
|
+
version: "0.21.2"
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Zoom CLI
|
|
@@ -84,7 +84,9 @@ queries or skipped sources leave completeness false even when the command exits
|
|
|
84
84
|
Attending a meeting does not grant recording API access. `recordings sync --since-time <date>
|
|
85
85
|
--until-time <date> --output-dir <dir> --jsonl` archives bounded history; `download` handles one
|
|
86
86
|
occurrence. Existing files are never overwritten. Repeated runs skip verified manifest entries;
|
|
87
|
-
completed files survive later failures
|
|
87
|
+
completed files survive later failures. Interrupted transfers resume a verified prefix only when
|
|
88
|
+
a strong validator and the returned byte range agree; changed representations restart safely.
|
|
89
|
+
`--no-resume` uses ephemeral partials. Keep account/profile and archive destination consistent.
|
|
88
90
|
`recordings archive check <dir> --offline` verifies local checksums. Inspect `archive locks` before
|
|
89
91
|
`recover`; recovery previews stale local dead-process locks, and `--yes` removes only authorized ones.
|
|
90
92
|
|