@wirecat/zoom-cli 0.12.0 → 0.14.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 +5 -5
- package/dist/agent-skill.d.ts.map +1 -1
- package/dist/agent-skill.js +2 -2
- package/dist/agent-skill.js.map +1 -1
- package/dist/answer-output.d.ts +23 -0
- package/dist/answer-output.d.ts.map +1 -0
- package/dist/answer-output.js +52 -0
- package/dist/answer-output.js.map +1 -0
- package/dist/answer-policy.d.ts +11 -0
- package/dist/answer-policy.d.ts.map +1 -0
- package/dist/answer-policy.js +8 -0
- package/dist/answer-policy.js.map +1 -0
- package/dist/answers.d.ts +105 -42
- package/dist/answers.d.ts.map +1 -1
- package/dist/answers.js +23 -34
- 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 +32 -31
- 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 +1 -2
- package/dist/bin/zm.js.map +1 -1
- package/dist/command-effects.d.ts +5 -0
- package/dist/command-effects.d.ts.map +1 -0
- package/dist/command-effects.js +38 -0
- package/dist/command-effects.js.map +1 -0
- package/dist/commands.d.ts +2 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +21 -18
- 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 +1 -0
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +4 -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/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 +9 -8
- 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 +7 -7
- 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 +4 -0
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +40 -48
- 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 +11 -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 +7 -7
- 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 +76 -83
- package/dist/meeting-project-evidence-mcp.d.ts.map +1 -1
- package/dist/meeting-project-evidence-mcp.js +7 -8
- 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 +47 -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 +13 -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 +15 -28
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +163 -333
- 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 +13 -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 -0
- package/dist/unified-search.d.ts.map +1 -1
- package/dist/unified-search.js +18 -3
- 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 +9 -9
- package/dist/watch-commands.js.map +1 -1
- package/package.json +5 -4
- package/skills/zoom-cli/SKILL.md +32 -12
- 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/config.js
CHANGED
|
@@ -1,63 +1,80 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { saveConfigFile } from "@wirecat/cli-base";
|
|
3
|
-
import {
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { CliError, saveConfigFile } from "@wirecat/cli-base";
|
|
3
|
+
import { loadSnakeCaseConfig } from "@wirecat/cli-core/cli";
|
|
4
|
+
import * as v from "valibot";
|
|
4
5
|
const profilePattern = /^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/;
|
|
5
6
|
export const profileAccountKey = (profile) => `zm-profile:${profile}`;
|
|
7
|
+
const ConfigFile = v.object({
|
|
8
|
+
client_id: v.nullable(v.pipe(v.string(), v.check((id) => id.trim() !== "" && !/\s/.test(id)))),
|
|
9
|
+
source: v.picklist(["api", "files"]),
|
|
10
|
+
files_folder: v.nullable(v.string()),
|
|
11
|
+
files_timezone: v.pipe(v.string(), v.check((zone) => {
|
|
12
|
+
try {
|
|
13
|
+
new Intl.DateTimeFormat("en", { timeZone: zone });
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
})),
|
|
20
|
+
account_profile: v.optional(v.nullable(v.pipe(v.string(), v.regex(profilePattern)))),
|
|
21
|
+
});
|
|
6
22
|
export const readConfig = (path) => {
|
|
7
|
-
let text;
|
|
8
23
|
try {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
(value.source !== "api" && value.source !== "files") ||
|
|
21
|
-
(value.filesFolder !== null && typeof value.filesFolder !== "string") ||
|
|
22
|
-
typeof value.filesTimezone !== "string" ||
|
|
23
|
-
(value.accountProfile !== undefined &&
|
|
24
|
-
value.accountProfile !== null &&
|
|
25
|
-
(typeof value.accountProfile !== "string" || !profilePattern.test(value.accountProfile))))
|
|
26
|
-
throw new Error("invalid config");
|
|
27
|
-
new Intl.DateTimeFormat("en", { timeZone: value.filesTimezone });
|
|
24
|
+
const file = loadSnakeCaseConfig(path, ConfigFile, () => {
|
|
25
|
+
if (existsSync(path))
|
|
26
|
+
throw new Error("unreadable");
|
|
27
|
+
return {
|
|
28
|
+
client_id: null,
|
|
29
|
+
source: "api",
|
|
30
|
+
files_folder: null,
|
|
31
|
+
files_timezone: "UTC",
|
|
32
|
+
account_profile: null,
|
|
33
|
+
};
|
|
34
|
+
});
|
|
28
35
|
return {
|
|
29
|
-
clientId:
|
|
30
|
-
source:
|
|
31
|
-
filesFolder:
|
|
32
|
-
filesTimezone:
|
|
33
|
-
accountProfile:
|
|
36
|
+
clientId: file.client_id,
|
|
37
|
+
source: file.source,
|
|
38
|
+
filesFolder: file.files_folder,
|
|
39
|
+
filesTimezone: file.files_timezone,
|
|
40
|
+
accountProfile: file.account_profile ?? null,
|
|
34
41
|
};
|
|
35
42
|
}
|
|
36
|
-
catch {
|
|
37
|
-
|
|
43
|
+
catch (error) {
|
|
44
|
+
if (error instanceof Error && error.message.includes("are the same setting"))
|
|
45
|
+
throw new CliError("configuration_error", error.message);
|
|
46
|
+
throw new CliError("configuration_error", "zm config is invalid");
|
|
38
47
|
}
|
|
39
48
|
};
|
|
49
|
+
const saveConfig = (path, config) => saveConfigFile(path, {
|
|
50
|
+
client_id: config.clientId,
|
|
51
|
+
source: config.source,
|
|
52
|
+
files_folder: config.filesFolder,
|
|
53
|
+
files_timezone: config.filesTimezone,
|
|
54
|
+
account_profile: config.accountProfile,
|
|
55
|
+
});
|
|
40
56
|
export const setConfig = (path, key, value) => {
|
|
41
57
|
const config = readConfig(path);
|
|
42
58
|
switch (key) {
|
|
59
|
+
case "zoom.client_id":
|
|
43
60
|
case "zoom.clientId":
|
|
44
61
|
if (!value.trim() || /\s/.test(value))
|
|
45
|
-
throw new
|
|
62
|
+
throw new CliError("validation_error", "client id must not contain whitespace");
|
|
46
63
|
config.clientId = value;
|
|
47
64
|
break;
|
|
48
65
|
case "account.profile":
|
|
49
66
|
if (!profilePattern.test(value))
|
|
50
|
-
throw new
|
|
67
|
+
throw new CliError("validation_error", "profile must be 1-64 letters, digits, dots, underscores or hyphens and start with a letter or digit");
|
|
51
68
|
config.accountProfile = value;
|
|
52
69
|
break;
|
|
53
70
|
case "source":
|
|
54
71
|
if (value !== "api" && value !== "files")
|
|
55
|
-
throw new
|
|
72
|
+
throw new CliError("validation_error", "source must be api or files");
|
|
56
73
|
config.source = value;
|
|
57
74
|
break;
|
|
58
75
|
case "files.folder":
|
|
59
76
|
if (!value.trim())
|
|
60
|
-
throw new
|
|
77
|
+
throw new CliError("validation_error", "folder must not be empty");
|
|
61
78
|
config.filesFolder = value;
|
|
62
79
|
break;
|
|
63
80
|
case "files.timezone":
|
|
@@ -65,14 +82,14 @@ export const setConfig = (path, key, value) => {
|
|
|
65
82
|
new Intl.DateTimeFormat("en", { timeZone: value });
|
|
66
83
|
}
|
|
67
84
|
catch {
|
|
68
|
-
throw new
|
|
85
|
+
throw new CliError("validation_error", "expected an IANA time zone");
|
|
69
86
|
}
|
|
70
87
|
config.filesTimezone = value;
|
|
71
88
|
break;
|
|
72
89
|
default:
|
|
73
|
-
throw new
|
|
90
|
+
throw new CliError("validation_error", "unknown config key");
|
|
74
91
|
}
|
|
75
|
-
|
|
92
|
+
saveConfig(path, config);
|
|
76
93
|
return config;
|
|
77
94
|
};
|
|
78
95
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { CliError, type ErrorCode } from "@wirecat/cli-base";
|
|
2
|
-
export declare class ZoomError extends CliError {
|
|
3
|
-
constructor(code: ErrorCode, message: string);
|
|
4
|
-
}
|
|
5
1
|
export declare const checkCancelled: (signal?: AbortSignal) => void;
|
|
6
2
|
export declare const object: (value: unknown) => Record<string, unknown>;
|
|
7
3
|
export declare const string: (value: unknown) => string | null;
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,YAAa,WAAW,KAAG,IAKrD,CAAA;AACD,eAAO,MAAM,MAAM,UAAW,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAI7D,CAAA;AACD,eAAO,MAAM,MAAM,UAAW,OAAO,KAAG,MAAM,GAAG,IAAkE,CAAA;AACnH,eAAO,MAAM,MAAM,UAAW,OAAO,KAAG,MAAM,GAAG,IACmB,CAAA"}
|
package/dist/errors.js
CHANGED
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
import { CliError, isCliError } from "@wirecat/cli-base";
|
|
2
|
-
export class ZoomError extends CliError {
|
|
3
|
-
constructor(code, message) {
|
|
4
|
-
super(code, message);
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
2
|
export const checkCancelled = (signal) => {
|
|
8
3
|
if (!signal?.aborted)
|
|
9
4
|
return;
|
|
10
5
|
if (isCliError(signal.reason))
|
|
11
6
|
throw signal.reason;
|
|
12
7
|
const timedOut = signal.reason instanceof Error && signal.reason.name === "TimeoutError";
|
|
13
|
-
throw new
|
|
8
|
+
throw new CliError(timedOut ? "timeout" : "cancelled", timedOut ? "command timed out" : "command cancelled");
|
|
14
9
|
};
|
|
15
10
|
export const object = (value) => {
|
|
16
11
|
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
17
|
-
throw new
|
|
12
|
+
throw new CliError("invalid_response", "Zoom returned an invalid response");
|
|
18
13
|
return value;
|
|
19
14
|
};
|
|
20
15
|
export const string = (value) => (typeof value === "string" && value.trim() ? value : null);
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAoB,EAAQ,EAAE;IAC3D,IAAI,CAAC,MAAM,EAAE,OAAO;QAAE,OAAM;IAC5B,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;QAAE,MAAM,MAAM,CAAC,MAAM,CAAA;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,YAAY,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAA;IACxF,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAA;AAC9G,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAc,EAA2B,EAAE;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAAA;IAC7E,OAAO,KAAgC,CAAA;AACzC,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAc,EAAiB,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AACnH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAc,EAAiB,EAAE,CACtD,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA"}
|
package/dist/execution.d.ts
CHANGED
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,
|
|
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;AAC1B,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,17 +1,16 @@
|
|
|
1
|
-
import { createDeadline, createOutputBuffer } from "@wirecat/cli-base";
|
|
1
|
+
import { CliError, createDeadline, createOutputBuffer, } from "@wirecat/cli-base";
|
|
2
2
|
import { readMetadata } from "./answers.js";
|
|
3
|
-
import { ZoomError } from "./errors.js";
|
|
4
3
|
export const duration = (text) => {
|
|
5
4
|
const match = /^(\d+(?:\.\d+)?)(ms|s|m|h)?$/.exec(text);
|
|
6
5
|
const unit = { ms: 1, s: 1000, m: 60000, h: 3600000 }[match?.[2] ?? "ms"];
|
|
7
6
|
const value = Number(match?.[1]) * (unit ?? 1);
|
|
8
7
|
if (!match || !Number.isSafeInteger(value) || value <= 0 || value > 2147483647)
|
|
9
|
-
throw new
|
|
8
|
+
throw new CliError("validation_error", "timeout must be a positive duration such as 30s, 5m or 1h");
|
|
10
9
|
return value;
|
|
11
10
|
};
|
|
12
11
|
export const bytes = (text) => {
|
|
13
12
|
if (!/^\d+$/.test(text) || !Number.isSafeInteger(Number(text)))
|
|
14
|
-
throw new
|
|
13
|
+
throw new CliError("validation_error", "expected a nonnegative whole byte count");
|
|
15
14
|
return Number(text);
|
|
16
15
|
};
|
|
17
16
|
export const commandDeadline = (action) => {
|
|
@@ -32,6 +31,7 @@ export const commandDeadline = (action) => {
|
|
|
32
31
|
export const startExecution = (action, options) => {
|
|
33
32
|
const flags = action.optsWithGlobals();
|
|
34
33
|
return {
|
|
34
|
+
action,
|
|
35
35
|
meta: readMetadata(options.now),
|
|
36
36
|
deadline: createDeadline({
|
|
37
37
|
timeoutMs: flags.timeout ?? commandDeadline(action),
|
package/dist/execution.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"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"}
|
package/dist/files.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAY,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAG9G,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAwDD,eAAO,MAAM,WAAW,SAAU,MAAM,wBAAqB,aAc5D,CAAA;AACD,eAAO,MAAM,UAAU,SAAU,cAAc,aAAa,MAAM,wBAAqB,UAiCtF,CAAA;AAeD,eAAO,MAAM,uBAAuB,UAAW,cAAc,EAAE,wBAAqB,cAAc,EACrB,CAAA;AAC7E,0DAA0D;AAC1D,eAAO,MAAM,gBAAgB,QAAS,CAAA;AAEtC,eAAO,MAAM,mBAAmB,WAAkB,MAAM,KAAG,OAAO,CAAC,cAAc,EAAE,CAoBlF,CAAA;AACD,qBAAa,WAAY,YAAW,aAAa;IAK7C,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAL3B,QAAQ,CAAC,QAAQ,UAAS;IAC1B,QAAQ,CAAC,gBAAgB,SAAQ;IACjC,QAAQ,CAAC,IAAI,UAAS;IACtB,YACmB,SAAS,EAAE,cAAc,EAAE,EAC3B,QAAQ,SAAQ,EAC/B;IACJ,OAAO,CAAC,OAAO,CAA2E;IAC1F,OAAO,CAAC,KAAK;IAKP,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAMtD;IACK,UAAU,CAAC,EAAE,EAAE,MAAM,yEAG1B;IACK,YAAY,kBAEjB;IACK,IAAI,kBAET;IACK,OAAO,kBAEZ;IACK,KAAK,kBAEV;CACF"}
|
package/dist/files.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { readdir, readFile, stat } from "node:fs/promises";
|
|
3
3
|
import { basename, join } from "node:path";
|
|
4
|
+
import { CliError } from "@wirecat/cli-base";
|
|
4
5
|
import { parseVtt } from "@wirecat/cli-core/meetings";
|
|
5
6
|
import { TRANSCRIPT_MAX_BYTES } from "./api.js";
|
|
6
|
-
import { ZoomError } from "./errors.js";
|
|
7
7
|
const localTimestamp = (year, month, day, hour, minute, timezone) => {
|
|
8
8
|
const target = Date.UTC(year, month - 1, day, hour, minute);
|
|
9
9
|
const date = new Date(target);
|
|
@@ -12,7 +12,7 @@ const localTimestamp = (year, month, day, hour, minute, timezone) => {
|
|
|
12
12
|
date.getUTCDate() !== day ||
|
|
13
13
|
hour > 23 ||
|
|
14
14
|
minute > 59)
|
|
15
|
-
throw new
|
|
15
|
+
throw new CliError("validation_error", "transcript filename contains an invalid date or time");
|
|
16
16
|
let formatter;
|
|
17
17
|
try {
|
|
18
18
|
formatter = new Intl.DateTimeFormat("en-GB", {
|
|
@@ -26,7 +26,7 @@ const localTimestamp = (year, month, day, hour, minute, timezone) => {
|
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
catch {
|
|
29
|
-
throw new
|
|
29
|
+
throw new CliError("validation_error", "expected a valid IANA timezone");
|
|
30
30
|
}
|
|
31
31
|
const wallTime = (instant) => {
|
|
32
32
|
const parts = Object.fromEntries(formatter.formatToParts(instant).map((part) => [part.type, part.value]));
|
|
@@ -40,13 +40,13 @@ const localTimestamp = (year, month, day, hour, minute, timezone) => {
|
|
|
40
40
|
possibilities.add(candidate);
|
|
41
41
|
}
|
|
42
42
|
if (possibilities.size !== 1)
|
|
43
|
-
throw new
|
|
43
|
+
throw new CliError("validation_error", "transcript filename time is ambiguous or nonexistent in the selected timezone");
|
|
44
44
|
return [...possibilities][0] ?? target;
|
|
45
45
|
};
|
|
46
46
|
export const fileMeeting = (name, timezone = "UTC") => {
|
|
47
47
|
const match = /^(\d{4})-(\d{2})-(\d{2})_(\d{2})(\d{2})_(.+)\.vtt$/i.exec(basename(name));
|
|
48
48
|
if (!match)
|
|
49
|
-
throw new
|
|
49
|
+
throw new CliError("validation_error", "expected a transcript named YYYY-MM-DD_HHMM_topic.vtt");
|
|
50
50
|
const [, year, month, day, hour, minute, topic = ""] = match;
|
|
51
51
|
const startedAt = localTimestamp(Number(year), Number(month), Number(day), Number(hour), Number(minute), timezone);
|
|
52
52
|
const slug = topic.normalize("NFC");
|
|
@@ -99,7 +99,7 @@ const indexDownloadedFiles = (files, timezone) => {
|
|
|
99
99
|
const meeting = fileMeeting(file.name, timezone);
|
|
100
100
|
const existing = result.get(meeting.occurrence.id);
|
|
101
101
|
if (existing && existing.file.content !== file.content)
|
|
102
|
-
throw new
|
|
102
|
+
throw new CliError("validation_error", "conflicting transcript files have the same occurrence key");
|
|
103
103
|
if (!existing)
|
|
104
104
|
result.set(meeting.occurrence.id, { meeting, file });
|
|
105
105
|
}
|
|
@@ -113,12 +113,12 @@ export const readDownloadedFiles = async (folder) => {
|
|
|
113
113
|
.filter((entry) => entry.isFile() && /\.vtt$/i.test(entry.name))
|
|
114
114
|
.sort((a, b) => a.name.localeCompare(b.name));
|
|
115
115
|
if (entries.length > FOLDER_MAX_FILES)
|
|
116
|
-
throw new
|
|
116
|
+
throw new CliError("validation_error", `the folder holds ${entries.length} .vtt files and zm reads at most ${FOLDER_MAX_FILES} — move some into another folder`);
|
|
117
117
|
const files = [];
|
|
118
118
|
for (const entry of entries) {
|
|
119
119
|
const path = join(folder, entry.name);
|
|
120
120
|
if ((await stat(path)).size > TRANSCRIPT_MAX_BYTES)
|
|
121
|
-
throw new
|
|
121
|
+
throw new CliError("validation_error", `${entry.name} is larger than ${TRANSCRIPT_MAX_BYTES / 1024 ** 2} MiB, the most zm reads from one transcript`);
|
|
122
122
|
files.push({ name: entry.name, content: await readFile(path, "utf8") });
|
|
123
123
|
}
|
|
124
124
|
return validateDownloadedFiles(files);
|
|
@@ -143,7 +143,7 @@ export class FilesSource {
|
|
|
143
143
|
async meetings(since) {
|
|
144
144
|
const lower = Date.parse(since);
|
|
145
145
|
if (!Number.isFinite(lower))
|
|
146
|
-
throw new
|
|
146
|
+
throw new CliError("validation_error", "expected an ISO since timestamp");
|
|
147
147
|
return [...this.index().values()]
|
|
148
148
|
.map(({ meeting }) => meeting)
|
|
149
149
|
.filter((m) => Date.parse(m.occurrence.startedAt) >= lower);
|
package/dist/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,13 +2,13 @@ export { encodeUuid, ZoomApiSource } from "./api.js";
|
|
|
2
2
|
export { type ArchiveImportOptions, type ArchiveImportPlan, type ArchiveImportReceipt, applyArchiveImport, preflightArchiveImport, } from "./archive-import.js";
|
|
3
3
|
export { type ArchiveTranscript, type ArchiveTranscriptMatch, type ArchiveTranscriptOptions, type ArchiveTranscriptSearchOptions, type ArchiveTranscriptSearchReport, readArchiveTranscripts, searchArchiveTranscripts, } from "./archive-transcripts.js";
|
|
4
4
|
export { profileAccountKey, readConfig, setConfig, type ZoomConfig } from "./config.js";
|
|
5
|
-
export { ZoomError } from "./errors.js";
|
|
6
5
|
export { type DownloadedFile, FilesSource, fileMeeting, importFile, readDownloadedFiles, validateDownloadedFiles, } from "./files.js";
|
|
7
6
|
export { createLocalTranscriptionCapabilities, createWavTranscriptionSource, type LocalSpeechPort, type LocalTranscriptionCapabilities, type LocalTranscriptionOptions, type LocalTranscriptionTarget, } from "./local-transcription.js";
|
|
8
7
|
export { type LoginOptions, login, REDIRECT } from "./login.js";
|
|
9
8
|
export { createMeetingMcpServer, type MeetingMcpOptions, serveMeetingMcp } from "./mcp-server.js";
|
|
10
9
|
export { createMeetingContextCapabilities, type EvidenceOptions, type MeetingContextCapabilities, type MeetingTaskKind, type PersonContextOptions, } from "./meeting-context.js";
|
|
11
10
|
export type { MeetingIntegrationCapabilities, MeetingLinkChange } from "./meeting-integration.js";
|
|
11
|
+
export { createZoomPreparationReader, type MeetingPreparationBinding, type PreparationConnection, type ZoomPreparationOptions, } from "./meeting-preparation.js";
|
|
12
12
|
export type { MeetingHitSearch, MeetingHitSearchOptions } from "./meeting-search-commands.js";
|
|
13
13
|
export { createMeetingSemanticCapabilities } from "./meeting-semantic.js";
|
|
14
14
|
export type { MeetingEmbeddingOptions, MeetingModelOptions, MeetingSemanticCapabilities, MeetingSemanticOptions, } from "./meeting-semantic-commands.js";
|
|
@@ -22,4 +22,5 @@ export { createZoomMeetingManagement, type MeetingChange, type MeetingMutation,
|
|
|
22
22
|
export { createStoreConnector, type StoreConnectionOptions } from "./store-connection.js";
|
|
23
23
|
export { TokenManager, type TokenOptions, type Tokens } from "./tokens.js";
|
|
24
24
|
export { runUnifiedSearch, type UnifiedSearch, type UnifiedSearchRequest } from "./unified-search.js";
|
|
25
|
+
export { createZoomUpcomingMeetingReader, type ZoomUpcomingCredentials } from "./upcoming-meetings.js";
|
|
25
26
|
//# 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,EACL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,EAClC,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AACvF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,12 +2,12 @@ export { encodeUuid, ZoomApiSource } from "./api.js";
|
|
|
2
2
|
export { applyArchiveImport, preflightArchiveImport, } from "./archive-import.js";
|
|
3
3
|
export { readArchiveTranscripts, searchArchiveTranscripts, } from "./archive-transcripts.js";
|
|
4
4
|
export { profileAccountKey, readConfig, setConfig } from "./config.js";
|
|
5
|
-
export { ZoomError } from "./errors.js";
|
|
6
5
|
export { FilesSource, fileMeeting, importFile, readDownloadedFiles, validateDownloadedFiles, } from "./files.js";
|
|
7
6
|
export { createLocalTranscriptionCapabilities, createWavTranscriptionSource, } from "./local-transcription.js";
|
|
8
7
|
export { login, REDIRECT } from "./login.js";
|
|
9
8
|
export { createMeetingMcpServer, serveMeetingMcp } from "./mcp-server.js";
|
|
10
9
|
export { createMeetingContextCapabilities, } from "./meeting-context.js";
|
|
10
|
+
export { createZoomPreparationReader, } from "./meeting-preparation.js";
|
|
11
11
|
export { createMeetingSemanticCapabilities } from "./meeting-semantic.js";
|
|
12
12
|
export { createProgram, run } from "./program.js";
|
|
13
13
|
export { createRecordingScheduleService, parseRecordingScheduleJob, snapshotRecordingScheduleCapture, validateRecordingScheduleId, } from "./recording-schedule.js";
|
|
@@ -19,4 +19,5 @@ export { createZoomMeetingManagement, ZoomRemoteMeetings, } from "./remote-meeti
|
|
|
19
19
|
export { createStoreConnector } from "./store-connection.js";
|
|
20
20
|
export { TokenManager } from "./tokens.js";
|
|
21
21
|
export { runUnifiedSearch } from "./unified-search.js";
|
|
22
|
+
export { createZoomUpcomingMeetingReader } from "./upcoming-meetings.js";
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
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,EAIL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAML,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAmB,MAAM,aAAa,CAAA;AACvF,OAAO,
|
|
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,EAIL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAML,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAmB,MAAM,aAAa,CAAA;AACvF,OAAO,EAEL,WAAW,EACX,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,oCAAoC,EACpC,4BAA4B,GAK7B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAqB,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,sBAAsB,EAA0B,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjG,OAAO,EACL,gCAAgC,GAKjC,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,2BAA2B,GAI5B,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAA;AAOzE,OAAO,EAAE,aAAa,EAAoB,GAAG,EAAkD,MAAM,cAAc,CAAA;AACnH,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EASzB,gCAAgC,EAChC,2BAA2B,GAC5B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,sCAAsC,EAAkC,MAAM,iCAAiC,CAAA;AACxH,OAAO,EAAoD,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC5G,OAAO,EAOL,cAAc,EACd,cAAc,EACd,mBAAmB,EAInB,mBAAmB,EACnB,aAAa,EAEb,cAAc,GACf,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,2BAA2B,EAK3B,kBAAkB,GACnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,oBAAoB,EAA+B,MAAM,uBAAuB,CAAA;AACzF,OAAO,EAAE,YAAY,EAAkC,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,gBAAgB,EAAiD,MAAM,qBAAqB,CAAA;AACrG,OAAO,EAAE,+BAA+B,EAAgC,MAAM,wBAAwB,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type Body } from "@wirecat/cli-core/cli";
|
|
1
2
|
import type { Command } from "commander";
|
|
2
3
|
import type { ArchiveImportPlan, applyArchiveImport, preflightArchiveImport } from "./archive-import.js";
|
|
3
4
|
import { type UnifiedSearch } from "./unified-search.js";
|
|
@@ -5,9 +6,9 @@ interface Deps {
|
|
|
5
6
|
preflight: typeof preflightArchiveImport;
|
|
6
7
|
apply: (plan: ArchiveImportPlan) => ReturnType<typeof applyArchiveImport>;
|
|
7
8
|
signal: () => AbortSignal | undefined;
|
|
8
|
-
output: (
|
|
9
|
+
output: (body: Body) => void;
|
|
9
10
|
outputItems: (items: AsyncIterable<unknown>) => Promise<void>;
|
|
10
|
-
receipt: (
|
|
11
|
+
receipt: (body: Body) => Promise<void>;
|
|
11
12
|
search: UnifiedSearch;
|
|
12
13
|
}
|
|
13
14
|
export declare const addIngestionSearchCommands: (program: Command, deps: Deps) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingestion-search-commands.d.ts","sourceRoot":"","sources":["../src/ingestion-search-commands.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"ingestion-search-commands.d.ts","sourceRoot":"","sources":["../src/ingestion-search-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAmC,MAAM,uBAAuB,CAAA;AAElF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAGxG,OAAO,EAAE,KAAK,aAAa,EAA8C,MAAM,qBAAqB,CAAA;AAEpG,UAAU,IAAI;IACZ,SAAS,EAAE,OAAO,sBAAsB,CAAA;IACxC,KAAK,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;IACzE,MAAM,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IACrC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,EAAE,aAAa,CAAA;CACtB;AAQD,eAAO,MAAM,0BAA0B,YAAa,OAAO,QAAQ,IAAI,KAAG,IA0EzE,CAAA"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
import { CliError } from "@wirecat/cli-base";
|
|
1
2
|
import { annotate } from "@wirecat/cli-base/commands";
|
|
2
|
-
import {
|
|
3
|
+
import { itemOf, LOCAL_READ, LOCAL_WRITE } from "@wirecat/cli-core/cli";
|
|
3
4
|
import { bytes } from "./execution.js";
|
|
4
5
|
import { camelKeys } from "./keys.js";
|
|
5
|
-
import { validateUnifiedSearch } from "./unified-search.js";
|
|
6
|
+
import { unifiedSearchAnswer, validateUnifiedSearch } from "./unified-search.js";
|
|
6
7
|
const cursor = (value) => {
|
|
7
8
|
try {
|
|
8
9
|
return camelKeys(JSON.parse(value));
|
|
9
10
|
}
|
|
10
11
|
catch {
|
|
11
|
-
throw new
|
|
12
|
+
throw new CliError("validation_error", "meeting cursor must be a JSON object");
|
|
12
13
|
}
|
|
13
14
|
};
|
|
14
15
|
export const addIngestionSearchCommands = (program, deps) => {
|
|
@@ -16,7 +17,7 @@ export const addIngestionSearchCommands = (program, deps) => {
|
|
|
16
17
|
.find((command) => command.name() === "recordings")
|
|
17
18
|
?.commands.find((command) => command.name() === "archive");
|
|
18
19
|
if (!archive)
|
|
19
|
-
throw new
|
|
20
|
+
throw new CliError("configuration_error", "archive command group is unavailable");
|
|
20
21
|
annotate(archive
|
|
21
22
|
.command("import")
|
|
22
23
|
.description("check an archive's transcripts, then add them to the stored meetings")
|
|
@@ -36,11 +37,11 @@ export const addIngestionSearchCommands = (program, deps) => {
|
|
|
36
37
|
const receipts = deps.apply(plan);
|
|
37
38
|
if (program.opts().jsonl) {
|
|
38
39
|
for await (const receipt of receipts)
|
|
39
|
-
await deps.receipt(receipt);
|
|
40
|
+
await deps.receipt(itemOf(receipt));
|
|
40
41
|
}
|
|
41
42
|
else
|
|
42
43
|
await deps.outputItems(receipts);
|
|
43
|
-
}), { origin: "handwritten",
|
|
44
|
+
}), { origin: "handwritten", effects: LOCAL_WRITE, examples: ["zm recordings archive import ./archive --jsonl"] });
|
|
44
45
|
const search = program.command("search").description("opt-in shared store search; meetings by default");
|
|
45
46
|
annotate(search
|
|
46
47
|
.command("all")
|
|
@@ -61,7 +62,7 @@ export const addIngestionSearchCommands = (program, deps) => {
|
|
|
61
62
|
meetingCursor: options.meetingCursor,
|
|
62
63
|
signal: deps.signal(),
|
|
63
64
|
});
|
|
64
|
-
deps.output(await deps.search(request));
|
|
65
|
-
}), { origin: "handwritten",
|
|
65
|
+
deps.output(unifiedSearchAnswer(await deps.search(request)));
|
|
66
|
+
}), { origin: "handwritten", effects: LOCAL_READ, partial: true, examples: ['zm search all "example plan" --json'] });
|
|
66
67
|
};
|
|
67
68
|
//# sourceMappingURL=ingestion-search-commands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingestion-search-commands.js","sourceRoot":"","sources":["../src/ingestion-search-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"ingestion-search-commands.js","sourceRoot":"","sources":["../src/ingestion-search-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
/** `--json=a,b` or `--json a,b`, read the way tg and max read it: the arguments Commander parses, and the fields. */
|
|
3
|
+
export declare const liftJsonFields: (program: Command, [argv, settings]: Parameters<Command["parseAsync"]>) => {
|
|
4
|
+
args: Parameters<Command["parseAsync"]>;
|
|
5
|
+
fields: string[] | undefined;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=json-fields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-fields.d.ts","sourceRoot":"","sources":["../src/json-fields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAYxC,qHAAqH;AACrH,eAAO,MAAM,cAAc,YAChB,OAAO,oBACiB,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,KACjE;IAAE,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;CAOzE,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { fieldsOf } from "@wirecat/cli-base";
|
|
2
|
+
import { liftJson } from "@wirecat/cli-core/cli";
|
|
3
|
+
const commandIn = (root, words) => {
|
|
4
|
+
let at = root;
|
|
5
|
+
for (const word of words) {
|
|
6
|
+
if (word.startsWith("-"))
|
|
7
|
+
continue;
|
|
8
|
+
const child = at.commands.find((command) => command.name() === word || command.aliases().includes(word));
|
|
9
|
+
if (child)
|
|
10
|
+
at = child;
|
|
11
|
+
}
|
|
12
|
+
return at === root ? undefined : at;
|
|
13
|
+
};
|
|
14
|
+
/** `--json=a,b` or `--json a,b`, read the way tg and max read it: the arguments Commander parses, and the fields. */
|
|
15
|
+
export const liftJsonFields = (program, [argv = process.argv, settings]) => {
|
|
16
|
+
const user = settings?.from === "user";
|
|
17
|
+
const requested = liftJson(user ? [...argv] : argv.slice(2), (words) => commandIn(program, words));
|
|
18
|
+
return {
|
|
19
|
+
args: [user ? requested.argv : [...argv.slice(0, 2), ...requested.argv], settings],
|
|
20
|
+
fields: requested.fields === undefined ? undefined : fieldsOf(requested.fields),
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=json-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-fields.js","sourceRoot":"","sources":["../src/json-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGhD,MAAM,SAAS,GAAG,CAAC,IAAa,EAAE,KAAwB,EAAuB,EAAE;IACjF,IAAI,EAAE,GAAG,IAAI,CAAA;IACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAQ;QAClC,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QACxG,IAAI,KAAK;YAAE,EAAE,GAAG,KAAK,CAAA;IACvB,CAAC;IACD,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,qHAAqH;AACrH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,OAAgB,EAChB,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAoC,EACS,EAAE;IAC7E,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,KAAK,MAAM,CAAA;IACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IAClG,OAAO;QACL,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;QAClF,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC;KAChF,CAAA;AACH,CAAC,CAAA"}
|
package/dist/keys.d.ts
CHANGED