@wirecat/zoom-cli 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -4
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +13 -2
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/program.d.ts +11 -0
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +97 -12
- package/dist/program.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ from meetings you attended. The shared meeting model, ingestion and commands com
|
|
|
10
10
|
Login and sources are implemented and tested. Import, pull and meeting reads are tested with an
|
|
11
11
|
in-memory store. The shared SQLite meeting adapter is not available yet, so the executable refuses
|
|
12
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.
|
|
13
|
+
store. The shared model and contract kit come from the published cli-meetings 0.2.3 package.
|
|
14
14
|
|
|
15
15
|
## Set up your Zoom app
|
|
16
16
|
|
|
@@ -44,10 +44,28 @@ is an error; tokens are never written to a config file.
|
|
|
44
44
|
Use `--json` for one JSON value or `--jsonl` for one item per line. Errors go to stderr. `--no-input`
|
|
45
45
|
refuses browser login. `--help` and `--version` work without a configured app or login.
|
|
46
46
|
|
|
47
|
-
Config keys: `zoom.clientId`, `source` (`api` or `files`), `files.folder`,
|
|
47
|
+
Config keys: `zoom.clientId`, `account.profile`, `source` (`api` or `files`), `files.folder`,
|
|
48
|
+
and `files.timezone`.
|
|
48
49
|
Directories follow the platform convention; `ZM_CONFIG_DIR` overrides the configuration directory.
|
|
49
50
|
Changing that directory also changes the keyring service used for login.
|
|
50
51
|
|
|
52
|
+
## Select a local profile
|
|
53
|
+
|
|
54
|
+
Choose a label for the stored meetings:
|
|
55
|
+
|
|
56
|
+
```sh
|
|
57
|
+
zm config set account.profile personal
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Labels contain 1–64 letters, digits, dots, underscores or hyphens and start with a letter or digit.
|
|
61
|
+
The label groups local meeting data; OAuth login uses the configured client and keyring entry. Use
|
|
62
|
+
separate labels for data you want kept in separate accounts. File import and API pull share the
|
|
63
|
+
selected profile. Folder import leaves its pull cursor unchanged; switching pull sources may need
|
|
64
|
+
an older explicit `--since` to revisit earlier occurrences.
|
|
65
|
+
|
|
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.
|
|
68
|
+
|
|
51
69
|
## Recover from errors
|
|
52
70
|
|
|
53
71
|
If the browser cannot start, select an installed browser with `--browser firefox`. In an interactive
|
|
@@ -58,8 +76,8 @@ Missing-scope errors name the required scope. Add it in your Zoom app, then log
|
|
|
58
76
|
failure reports a provider error; malformed provider replies report an invalid response. Diagnostic
|
|
59
77
|
messages exclude raw provider error text.
|
|
60
78
|
|
|
61
|
-
Once persistence is connected, use
|
|
62
|
-
|
|
79
|
+
Once persistence is connected, use `pull --lookback-days 7` to revisit the last seven days, or an
|
|
80
|
+
older explicit `pull --since 2026-10-01` for earlier occurrences whose transcript appeared later. The cursor alone does not guarantee
|
|
63
81
|
that late transcripts are revisited. Serialize pulls for the same account to avoid concurrent event
|
|
64
82
|
creation. A failed occurrence leaves the cursor unchanged so the next pull can retry it.
|
|
65
83
|
|
package/dist/config.d.ts
CHANGED
|
@@ -3,7 +3,9 @@ export interface ZoomConfig {
|
|
|
3
3
|
source: "api" | "files";
|
|
4
4
|
filesFolder: string | null;
|
|
5
5
|
filesTimezone: string;
|
|
6
|
+
accountProfile: string | null;
|
|
6
7
|
}
|
|
8
|
+
export declare const profileAccountKey: (profile: string) => string;
|
|
7
9
|
export declare const readConfig: (path: string) => ZoomConfig;
|
|
8
10
|
export declare const setConfig: (path: string, key: string, value: string) => ZoomConfig;
|
|
9
11
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,KAAK,GAAG,OAAO,CAAA;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,KAAK,GAAG,OAAO,CAAA;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED,eAAO,MAAM,iBAAiB,YAAa,MAAM,KAAG,MAAiC,CAAA;AAErF,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,UAiCzC,CAAA;AACD,eAAO,MAAM,SAAS,SAAU,MAAM,OAAO,MAAM,SAAS,MAAM,KAAG,UAqCpE,CAAA"}
|
package/dist/config.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { readFileSync } from "node:fs";
|
|
2
2
|
import { saveConfigFile } from "@wirecat/cli-core";
|
|
3
3
|
import { object, ZoomError } from "./errors.js";
|
|
4
|
+
const profilePattern = /^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/;
|
|
5
|
+
export const profileAccountKey = (profile) => `zm-profile:${profile}`;
|
|
4
6
|
export const readConfig = (path) => {
|
|
5
7
|
let text;
|
|
6
8
|
try {
|
|
@@ -8,7 +10,7 @@ export const readConfig = (path) => {
|
|
|
8
10
|
}
|
|
9
11
|
catch (error) {
|
|
10
12
|
if (typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT")
|
|
11
|
-
return { clientId: null, source: "api", filesFolder: null, filesTimezone: "UTC" };
|
|
13
|
+
return { clientId: null, source: "api", filesFolder: null, filesTimezone: "UTC", accountProfile: null };
|
|
12
14
|
throw new ZoomError("configuration_error", "could not read zm config");
|
|
13
15
|
}
|
|
14
16
|
try {
|
|
@@ -17,7 +19,10 @@ export const readConfig = (path) => {
|
|
|
17
19
|
(typeof value.clientId !== "string" || !value.clientId.trim() || /\s/.test(value.clientId))) ||
|
|
18
20
|
(value.source !== "api" && value.source !== "files") ||
|
|
19
21
|
(value.filesFolder !== null && typeof value.filesFolder !== "string") ||
|
|
20
|
-
typeof value.filesTimezone !== "string"
|
|
22
|
+
typeof value.filesTimezone !== "string" ||
|
|
23
|
+
(value.accountProfile !== undefined &&
|
|
24
|
+
value.accountProfile !== null &&
|
|
25
|
+
(typeof value.accountProfile !== "string" || !profilePattern.test(value.accountProfile))))
|
|
21
26
|
throw new Error("invalid config");
|
|
22
27
|
new Intl.DateTimeFormat("en", { timeZone: value.filesTimezone });
|
|
23
28
|
return {
|
|
@@ -25,6 +30,7 @@ export const readConfig = (path) => {
|
|
|
25
30
|
source: value.source,
|
|
26
31
|
filesFolder: value.filesFolder,
|
|
27
32
|
filesTimezone: value.filesTimezone,
|
|
33
|
+
accountProfile: typeof value.accountProfile === "string" ? value.accountProfile : null,
|
|
28
34
|
};
|
|
29
35
|
}
|
|
30
36
|
catch {
|
|
@@ -39,6 +45,11 @@ export const setConfig = (path, key, value) => {
|
|
|
39
45
|
throw new ZoomError("validation_error", "client id must not contain whitespace");
|
|
40
46
|
config.clientId = value;
|
|
41
47
|
break;
|
|
48
|
+
case "account.profile":
|
|
49
|
+
if (!profilePattern.test(value))
|
|
50
|
+
throw new ZoomError("validation_error", "profile must be 1-64 letters, digits, dots, underscores or hyphens and start with a letter or digit");
|
|
51
|
+
config.accountProfile = value;
|
|
52
|
+
break;
|
|
42
53
|
case "source":
|
|
43
54
|
if (value !== "api" && value !== "files")
|
|
44
55
|
throw new ZoomError("validation_error", "source must be api or files");
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { encodeUuid, ZoomApiSource } from "./api.js";
|
|
2
|
-
export { readConfig, setConfig, type ZoomConfig } from "./config.js";
|
|
2
|
+
export { profileAccountKey, readConfig, setConfig, type ZoomConfig } from "./config.js";
|
|
3
3
|
export { ZoomError } from "./errors.js";
|
|
4
4
|
export { type DownloadedFile, FilesSource, fileMeeting, importFile, readDownloadedFiles, validateDownloadedFiles, } from "./files.js";
|
|
5
5
|
export { type LoginOptions, login, REDIRECT } from "./login.js";
|
|
6
|
-
export { createProgram, type ProgramDeps, run } from "./program.js";
|
|
6
|
+
export { createProgram, type ProgramDeps, run, type StoreConnection, type StoreConnectRequest } from "./program.js";
|
|
7
7
|
export { TokenManager, type TokenOptions, type Tokens } from "./tokens.js";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACL,KAAK,cAAc,EACnB,WAAW,EACX,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,GAAG,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACnH,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { encodeUuid, ZoomApiSource } from "./api.js";
|
|
2
|
-
export { readConfig, setConfig } from "./config.js";
|
|
2
|
+
export { profileAccountKey, readConfig, setConfig } from "./config.js";
|
|
3
3
|
export { ZoomError } from "./errors.js";
|
|
4
4
|
export { FilesSource, fileMeeting, importFile, readDownloadedFiles, validateDownloadedFiles, } from "./files.js";
|
|
5
5
|
export { login, REDIRECT } from "./login.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAmB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAmB,MAAM,aAAa,CAAA;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAEL,WAAW,EACX,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAqB,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAoB,GAAG,EAAkD,MAAM,cAAc,CAAA;AACnH,OAAO,EAAE,YAAY,EAAkC,MAAM,aAAa,CAAA"}
|
package/dist/program.d.ts
CHANGED
|
@@ -2,12 +2,23 @@ import { type MeetingSource, type MeetingStore } from "@wirecat/cli-meetings";
|
|
|
2
2
|
import { Command } from "commander";
|
|
3
3
|
import { readDownloadedFiles } from "./files.js";
|
|
4
4
|
import type { TokenManager } from "./tokens.js";
|
|
5
|
+
export interface StoreConnection {
|
|
6
|
+
store: MeetingStore;
|
|
7
|
+
accountId: number;
|
|
8
|
+
close: () => Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
export interface StoreConnectRequest {
|
|
11
|
+
profile: string;
|
|
12
|
+
externalId: string;
|
|
13
|
+
intent: "read" | "ingestion";
|
|
14
|
+
}
|
|
5
15
|
export interface ProgramDeps {
|
|
6
16
|
configPath: string;
|
|
7
17
|
tokens: TokenManager;
|
|
8
18
|
fetch: typeof fetch;
|
|
9
19
|
store?: MeetingStore;
|
|
10
20
|
accountId?: number;
|
|
21
|
+
connectStore?: (request: StoreConnectRequest) => Promise<StoreConnection>;
|
|
11
22
|
source?: MeetingSource;
|
|
12
23
|
readFiles?: typeof readDownloadedFiles;
|
|
13
24
|
openBrowser: (url: string, browser?: string) => Promise<void>;
|
package/dist/program.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAE3F,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAA;AAInD,OAAO,EAA2B,mBAAmB,EAA2B,MAAM,YAAY,CAAA;AAElG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG/C,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,OAAO,KAAK,CAAA;IACnB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,SAAS,CAAC,EAAE,OAAO,mBAAmB,CAAA;IACtC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACpD,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAwBD,eAAO,MAAM,aAAa,SAAU,WAAW,KAAG,
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAE3F,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAA;AAInD,OAAO,EAA2B,mBAAmB,EAA2B,MAAM,YAAY,CAAA;AAElG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG/C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,YAAY,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B;AACD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,GAAG,WAAW,CAAA;CAC7B;AACD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,OAAO,KAAK,CAAA;IACnB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;IACzE,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,SAAS,CAAC,EAAE,OAAO,mBAAmB,CAAA;IACtC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACpD,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAwBD,eAAO,MAAM,aAAa,SAAU,WAAW,KAAG,OAuLjD,CAAA;AACD,eAAO,MAAM,GAAG,SAAgB,MAAM,EAAE,QAAQ,WAAW,KAAG,OAAO,CAAC,MAAM,CAqC3E,CAAA"}
|
package/dist/program.js
CHANGED
|
@@ -2,7 +2,7 @@ import { MeetingError } from "@wirecat/cli-meetings";
|
|
|
2
2
|
import { addMeetingCommands } from "@wirecat/cli-meetings/cli";
|
|
3
3
|
import { Command, CommanderError } from "commander";
|
|
4
4
|
import { ZoomApiSource } from "./api.js";
|
|
5
|
-
import { readConfig, setConfig } from "./config.js";
|
|
5
|
+
import { profileAccountKey, readConfig, setConfig } from "./config.js";
|
|
6
6
|
import { ZoomError } from "./errors.js";
|
|
7
7
|
import { FilesSource, importFile, readDownloadedFiles, validateDownloadedFiles } from "./files.js";
|
|
8
8
|
import { login } from "./login.js";
|
|
@@ -33,6 +33,16 @@ const render = (data, format) => {
|
|
|
33
33
|
export const createProgram = (deps) => {
|
|
34
34
|
let config;
|
|
35
35
|
const getConfig = () => (config ??= readConfig(deps.configPath));
|
|
36
|
+
let connection;
|
|
37
|
+
let parsing = false;
|
|
38
|
+
let meetingOutput = [];
|
|
39
|
+
let selectedStore = deps.store;
|
|
40
|
+
let selectedAccountId = deps.accountId;
|
|
41
|
+
const requireAccount = () => {
|
|
42
|
+
if (!Number.isSafeInteger(selectedAccountId) || !selectedAccountId || selectedAccountId < 1)
|
|
43
|
+
throw new ZoomError("configuration_error", "the selected meeting account is unavailable");
|
|
44
|
+
return selectedAccountId;
|
|
45
|
+
};
|
|
36
46
|
const program = new Command()
|
|
37
47
|
.name("zm")
|
|
38
48
|
.version(VERSION)
|
|
@@ -42,14 +52,34 @@ export const createProgram = (deps) => {
|
|
|
42
52
|
.option("--no-input", "disable interactive login")
|
|
43
53
|
.exitOverride()
|
|
44
54
|
.configureOutput({ writeOut: deps.data, writeErr: deps.diagnostic, outputError: () => { } });
|
|
45
|
-
program.hook("preAction", (_root, action) => {
|
|
46
|
-
getConfig();
|
|
47
|
-
|
|
55
|
+
program.hook("preAction", async (_root, action) => {
|
|
56
|
+
const config = getConfig();
|
|
57
|
+
const opts = action.optsWithGlobals();
|
|
58
|
+
if (opts.json && opts.jsonl)
|
|
48
59
|
throw new ZoomError("validation_error", "choose --json or --jsonl");
|
|
49
|
-
if (
|
|
50
|
-
|
|
51
|
-
if (!
|
|
52
|
-
|
|
60
|
+
if (action.name() === "login" || action.parent?.name() === "config")
|
|
61
|
+
return;
|
|
62
|
+
if (!selectedStore) {
|
|
63
|
+
if (!deps.connectStore)
|
|
64
|
+
return unavailable();
|
|
65
|
+
if (!config.accountProfile)
|
|
66
|
+
throw new ZoomError("configuration_error", "select a local profile with zm config set account.profile <label>");
|
|
67
|
+
try {
|
|
68
|
+
connection = await deps.connectStore({
|
|
69
|
+
profile: config.accountProfile,
|
|
70
|
+
externalId: profileAccountKey(config.accountProfile),
|
|
71
|
+
intent: ["pull", "import"].includes(action.name()) ? "ingestion" : "read",
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
if (error instanceof ZoomError || error instanceof MeetingError)
|
|
76
|
+
throw error;
|
|
77
|
+
throw new ZoomError("configuration_error", "could not open the shared meeting store");
|
|
78
|
+
}
|
|
79
|
+
selectedStore = connection.store;
|
|
80
|
+
selectedAccountId = connection.accountId;
|
|
81
|
+
}
|
|
82
|
+
requireAccount();
|
|
53
83
|
});
|
|
54
84
|
const output = (value) => deps.data(render(value, program.opts().json ? "json" : program.opts().jsonl ? "jsonl" : "text"));
|
|
55
85
|
const cfg = program.command("config").description("local Zoom configuration");
|
|
@@ -72,6 +102,7 @@ export const createProgram = (deps) => {
|
|
|
72
102
|
.description("log in to Zoom through your browser")
|
|
73
103
|
.option("--browser <program>", "browser program")
|
|
74
104
|
.action(async (opts) => {
|
|
105
|
+
const config = getConfig();
|
|
75
106
|
if (!config.clientId)
|
|
76
107
|
throw new ZoomError("configuration_error", "run zm config set zoom.clientId <Public Client ID> first");
|
|
77
108
|
if (program.opts().input === false)
|
|
@@ -127,14 +158,68 @@ export const createProgram = (deps) => {
|
|
|
127
158
|
},
|
|
128
159
|
};
|
|
129
160
|
addMeetingCommands(program, {
|
|
130
|
-
|
|
161
|
+
get store() {
|
|
162
|
+
return selectedStore ?? unavailableStore;
|
|
163
|
+
},
|
|
131
164
|
rootIngestion: true,
|
|
132
|
-
|
|
165
|
+
get accountId() {
|
|
166
|
+
return requireAccount();
|
|
167
|
+
},
|
|
133
168
|
source,
|
|
134
|
-
readFiles: async (folder) =>
|
|
169
|
+
readFiles: async (folder) => {
|
|
170
|
+
const config = getConfig();
|
|
171
|
+
return validateDownloadedFiles(await (deps.readFiles ?? readDownloadedFiles)(folder), config.filesTimezone).map((file) => importFile(file, requireAccount(), config.filesTimezone));
|
|
172
|
+
},
|
|
135
173
|
now: deps.now,
|
|
136
|
-
write: (value, format) =>
|
|
174
|
+
write: (value, format) => {
|
|
175
|
+
meetingOutput.push(render(value, format));
|
|
176
|
+
},
|
|
137
177
|
});
|
|
178
|
+
const parseAsync = program.parseAsync.bind(program);
|
|
179
|
+
program.parseAsync = async (...args) => {
|
|
180
|
+
if (parsing)
|
|
181
|
+
throw new ZoomError("validation_error", "concurrent command parsing is unavailable");
|
|
182
|
+
parsing = true;
|
|
183
|
+
config = undefined;
|
|
184
|
+
activeSource = undefined;
|
|
185
|
+
meetingOutput = [];
|
|
186
|
+
let result = program;
|
|
187
|
+
let failed = false;
|
|
188
|
+
let failure;
|
|
189
|
+
try {
|
|
190
|
+
result = await parseAsync(...args);
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
failed = true;
|
|
194
|
+
failure = error;
|
|
195
|
+
}
|
|
196
|
+
finally {
|
|
197
|
+
if (connection) {
|
|
198
|
+
const closing = connection;
|
|
199
|
+
connection = undefined;
|
|
200
|
+
selectedStore = deps.store;
|
|
201
|
+
selectedAccountId = deps.accountId;
|
|
202
|
+
try {
|
|
203
|
+
await closing.close();
|
|
204
|
+
}
|
|
205
|
+
catch {
|
|
206
|
+
if (!failed) {
|
|
207
|
+
failed = true;
|
|
208
|
+
failure = new ZoomError("configuration_error", "could not close the shared meeting store");
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
parsing = false;
|
|
214
|
+
if (failed) {
|
|
215
|
+
meetingOutput = [];
|
|
216
|
+
throw failure;
|
|
217
|
+
}
|
|
218
|
+
for (const text of meetingOutput)
|
|
219
|
+
deps.data(text);
|
|
220
|
+
meetingOutput = [];
|
|
221
|
+
return result;
|
|
222
|
+
};
|
|
138
223
|
return program;
|
|
139
224
|
};
|
|
140
225
|
export const run = async (args, deps) => {
|
package/dist/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAyC,MAAM,uBAAuB,CAAA;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wirecat/zoom-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Zoom meetings, transcripts and summaries through provider-neutral meeting tools",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@wirecat/cli-core": "0.18.1",
|
|
42
|
-
"@wirecat/cli-meetings": "0.2.
|
|
42
|
+
"@wirecat/cli-meetings": "0.2.3",
|
|
43
43
|
"commander": "15.0.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|