@wirecat/zoom-cli 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/answer-output.d.ts +21 -2
- package/dist/answer-output.d.ts.map +1 -1
- package/dist/answer-output.js +44 -37
- package/dist/answer-output.js.map +1 -1
- package/dist/answers.d.ts +2 -2
- package/dist/answers.d.ts.map +1 -1
- package/dist/answers.js +12 -43
- package/dist/answers.js.map +1 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +20 -19
- package/dist/api.js.map +1 -1
- package/dist/archive-commands.d.ts +5 -4
- package/dist/archive-commands.d.ts.map +1 -1
- package/dist/archive-commands.js +31 -30
- package/dist/archive-commands.js.map +1 -1
- package/dist/archive-import.d.ts +2 -2
- package/dist/archive-import.d.ts.map +1 -1
- package/dist/archive-import.js +20 -30
- package/dist/archive-import.js.map +1 -1
- package/dist/archive-transcripts.d.ts.map +1 -1
- package/dist/archive-transcripts.js +22 -21
- package/dist/archive-transcripts.js.map +1 -1
- package/dist/bin/zm.js +2 -5
- package/dist/bin/zm.js.map +1 -1
- package/dist/command-effects.js +1 -1
- package/dist/command-effects.js.map +1 -1
- package/dist/commands.d.ts +2 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +8 -8
- package/dist/commands.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +54 -37
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +0 -4
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +2 -7
- package/dist/errors.js.map +1 -1
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +3 -4
- package/dist/execution.js.map +1 -1
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +9 -9
- package/dist/files.js.map +1 -1
- package/dist/folders.d.ts +2 -7
- package/dist/folders.d.ts.map +1 -1
- package/dist/folders.js +2 -35
- package/dist/folders.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/ingestion-search-commands.d.ts +3 -2
- package/dist/ingestion-search-commands.d.ts.map +1 -1
- package/dist/ingestion-search-commands.js +5 -5
- package/dist/ingestion-search-commands.js.map +1 -1
- package/dist/json-fields.d.ts +7 -0
- package/dist/json-fields.d.ts.map +1 -0
- package/dist/json-fields.js +23 -0
- package/dist/json-fields.js.map +1 -0
- package/dist/keys.d.ts +1 -1
- package/dist/keys.d.ts.map +1 -1
- package/dist/keys.js +7 -5
- package/dist/keys.js.map +1 -1
- package/dist/local-transcription-commands.d.ts +3 -2
- package/dist/local-transcription-commands.d.ts.map +1 -1
- package/dist/local-transcription-commands.js +6 -6
- package/dist/local-transcription-commands.js.map +1 -1
- package/dist/local-transcription.d.ts.map +1 -1
- package/dist/local-transcription.js +13 -12
- package/dist/local-transcription.js.map +1 -1
- package/dist/login.d.ts.map +1 -1
- package/dist/login.js +8 -7
- package/dist/login.js.map +1 -1
- package/dist/mcp-server.d.ts +2 -0
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +33 -42
- package/dist/mcp-server.js.map +1 -1
- package/dist/meeting-context-commands.d.ts +2 -1
- package/dist/meeting-context-commands.d.ts.map +1 -1
- package/dist/meeting-context-commands.js +10 -15
- package/dist/meeting-context-commands.js.map +1 -1
- package/dist/meeting-context.d.ts +6 -6
- package/dist/meeting-context.d.ts.map +1 -1
- package/dist/meeting-context.js +8 -21
- package/dist/meeting-context.js.map +1 -1
- package/dist/meeting-integration-commands.d.ts +3 -2
- package/dist/meeting-integration-commands.d.ts.map +1 -1
- package/dist/meeting-integration-commands.js +6 -6
- package/dist/meeting-integration-commands.js.map +1 -1
- package/dist/meeting-integration.d.ts.map +1 -1
- package/dist/meeting-integration.js +2 -2
- package/dist/meeting-integration.js.map +1 -1
- package/dist/meeting-mcp-command.d.ts +19 -0
- package/dist/meeting-mcp-command.d.ts.map +1 -0
- package/dist/meeting-mcp-command.js +41 -0
- package/dist/meeting-mcp-command.js.map +1 -0
- package/dist/meeting-preparation-mcp.d.ts +131 -0
- package/dist/meeting-preparation-mcp.d.ts.map +1 -0
- package/dist/meeting-preparation-mcp.js +20 -0
- package/dist/meeting-preparation-mcp.js.map +1 -0
- package/dist/meeting-preparation.d.ts +22 -0
- package/dist/meeting-preparation.d.ts.map +1 -0
- package/dist/meeting-preparation.js +29 -0
- package/dist/meeting-preparation.js.map +1 -0
- package/dist/meeting-project-evidence-commands.d.ts +1 -4
- package/dist/meeting-project-evidence-commands.d.ts.map +1 -1
- package/dist/meeting-project-evidence-commands.js +2 -6
- package/dist/meeting-project-evidence-commands.js.map +1 -1
- package/dist/meeting-project-evidence-mcp.d.ts.map +1 -1
- package/dist/meeting-project-evidence-mcp.js +2 -4
- package/dist/meeting-project-evidence-mcp.js.map +1 -1
- package/dist/meeting-read-command-bindings.d.ts +10 -0
- package/dist/meeting-read-command-bindings.d.ts.map +1 -0
- package/dist/meeting-read-command-bindings.js +13 -0
- package/dist/meeting-read-command-bindings.js.map +1 -0
- package/dist/meeting-search-commands.d.ts +3 -2
- package/dist/meeting-search-commands.d.ts.map +1 -1
- package/dist/meeting-search-commands.js +46 -38
- package/dist/meeting-search-commands.js.map +1 -1
- package/dist/meeting-semantic-commands.d.ts +3 -2
- package/dist/meeting-semantic-commands.d.ts.map +1 -1
- package/dist/meeting-semantic-commands.js +12 -12
- package/dist/meeting-semantic-commands.js.map +1 -1
- package/dist/meeting-semantic.d.ts.map +1 -1
- package/dist/meeting-semantic.js +3 -2
- package/dist/meeting-semantic.js.map +1 -1
- package/dist/occurrence-schedule.d.ts +3 -0
- package/dist/occurrence-schedule.d.ts.map +1 -0
- package/dist/occurrence-schedule.js +106 -0
- package/dist/occurrence-schedule.js.map +1 -0
- package/dist/output-file.js +3 -3
- package/dist/output-file.js.map +1 -1
- package/dist/program.d.ts +14 -28
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +152 -317
- package/dist/program.js.map +1 -1
- package/dist/recording-archive.d.ts +1 -1
- package/dist/recording-archive.d.ts.map +1 -1
- package/dist/recording-archive.js +99 -46
- package/dist/recording-archive.js.map +1 -1
- package/dist/recording-partial-store.d.ts.map +1 -1
- package/dist/recording-partial-store.js +11 -10
- package/dist/recording-partial-store.js.map +1 -1
- package/dist/recording-promotion-store.d.ts.map +1 -1
- package/dist/recording-promotion-store.js +4 -4
- package/dist/recording-promotion-store.js.map +1 -1
- package/dist/recording-schedule-commands.d.ts +3 -2
- package/dist/recording-schedule-commands.d.ts.map +1 -1
- package/dist/recording-schedule-commands.js +12 -12
- package/dist/recording-schedule-commands.js.map +1 -1
- package/dist/recording-schedule-store.d.ts.map +1 -1
- package/dist/recording-schedule-store.js +15 -14
- package/dist/recording-schedule-store.js.map +1 -1
- package/dist/recording-schedule-systemd.d.ts.map +1 -1
- package/dist/recording-schedule-systemd.js +16 -15
- package/dist/recording-schedule-systemd.js.map +1 -1
- package/dist/recording-schedule.d.ts +1 -1
- package/dist/recording-schedule.d.ts.map +1 -1
- package/dist/recording-schedule.js +15 -14
- package/dist/recording-schedule.js.map +1 -1
- package/dist/recording-sync-store.d.ts.map +1 -1
- package/dist/recording-sync-store.js +9 -9
- package/dist/recording-sync-store.js.map +1 -1
- package/dist/recording-sync.d.ts +1 -1
- package/dist/recording-sync.d.ts.map +1 -1
- package/dist/recording-sync.js +10 -19
- package/dist/recording-sync.js.map +1 -1
- package/dist/recordings.d.ts.map +1 -1
- package/dist/recordings.js +19 -18
- package/dist/recordings.js.map +1 -1
- package/dist/remote-http.d.ts +1 -0
- package/dist/remote-http.d.ts.map +1 -1
- package/dist/remote-http.js +26 -14
- package/dist/remote-http.js.map +1 -1
- package/dist/remote-meeting-id.d.ts +2 -0
- package/dist/remote-meeting-id.d.ts.map +1 -0
- package/dist/remote-meeting-id.js +7 -0
- package/dist/remote-meeting-id.js.map +1 -0
- package/dist/remote-meetings.d.ts.map +1 -1
- package/dist/remote-meetings.js +10 -13
- package/dist/remote-meetings.js.map +1 -1
- package/dist/store-connection.d.ts +1 -7
- package/dist/store-connection.d.ts.map +1 -1
- package/dist/store-connection.js +95 -176
- package/dist/store-connection.js.map +1 -1
- package/dist/streaming.js +3 -3
- package/dist/streaming.js.map +1 -1
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +10 -9
- package/dist/tokens.js.map +1 -1
- package/dist/unified-search.d.ts +1 -10
- package/dist/unified-search.d.ts.map +1 -1
- package/dist/unified-search.js +7 -6
- package/dist/unified-search.js.map +1 -1
- package/dist/upcoming-meetings.d.ts +10 -0
- package/dist/upcoming-meetings.d.ts.map +1 -0
- package/dist/upcoming-meetings.js +24 -0
- package/dist/upcoming-meetings.js.map +1 -0
- package/dist/watch-commands.d.ts +2 -1
- package/dist/watch-commands.d.ts.map +1 -1
- package/dist/watch-commands.js +8 -8
- package/dist/watch-commands.js.map +1 -1
- package/package.json +3 -3
- package/skills/zoom-cli/SKILL.md +127 -169
- package/dist/ordinary-file.d.ts +0 -3
- package/dist/ordinary-file.d.ts.map +0 -1
- package/dist/ordinary-file.js +0 -16
- package/dist/ordinary-file.js.map +0 -1
- package/dist/wav-audio.d.ts +0 -2
- package/dist/wav-audio.d.ts.map +0 -1
- package/dist/wav-audio.js +0 -2
- package/dist/wav-audio.js.map +0 -1
package/dist/store-connection.js
CHANGED
|
@@ -1,203 +1,122 @@
|
|
|
1
|
-
import { isCliError } from "@wirecat/cli-base";
|
|
2
|
-
import { validateMeetingContextChange
|
|
1
|
+
import { CliError, isCliError } from "@wirecat/cli-base";
|
|
2
|
+
import { validateMeetingContextChange } from "@wirecat/cli-core/meetings";
|
|
3
3
|
import { profileAccountKey } from "./config.js";
|
|
4
|
-
import { ZoomError } from "./errors.js";
|
|
5
4
|
import { createLocalTranscriptionCapabilities } from "./local-transcription.js";
|
|
6
5
|
import { createMeetingContextCapabilities } from "./meeting-context.js";
|
|
7
6
|
import { integrationReference } from "./meeting-integration.js";
|
|
8
7
|
import { validateMeetingHitSearch } from "./meeting-search-commands.js";
|
|
9
8
|
import { createMeetingSemanticCapabilities } from "./meeting-semantic.js";
|
|
10
9
|
import { validateUnifiedSearch } from "./unified-search.js";
|
|
11
|
-
const contextServiceMeetings = (meetings) => typeof meetings.appendTranscriptsWithReceipt === "function" &&
|
|
12
|
-
typeof meetings.searchHits === "function" &&
|
|
13
|
-
typeof meetings.indexSearch === "function" &&
|
|
14
|
-
typeof meetings.linkMeetingEvent === "function" &&
|
|
15
|
-
typeof meetings.linkParticipantPerson === "function" &&
|
|
16
|
-
typeof meetings.participantPerson === "function";
|
|
17
10
|
export const createStoreConnector = (options = {}) => async (request) => {
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (typeof input.profile !== "string" ||
|
|
25
|
-
!/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/.test(input.profile) ||
|
|
26
|
-
input.externalId !== profileAccountKey(input.profile) ||
|
|
27
|
-
(input.intent !== "read" && input.intent !== "ingestion") ||
|
|
28
|
-
(input.capability !== undefined &&
|
|
29
|
-
!["transcript-append", "meeting-integration", "meeting-search", "meeting-project-evidence"].includes(input.capability)))
|
|
30
|
-
throw new ZoomError("validation_error", "expected a selected Zoom profile and read or ingestion intent");
|
|
11
|
+
const { profile, externalId, intent } = request ?? {};
|
|
12
|
+
if (typeof profile !== "string" ||
|
|
13
|
+
!/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/.test(profile) ||
|
|
14
|
+
externalId !== profileAccountKey(profile) ||
|
|
15
|
+
(intent !== "read" && intent !== "ingestion"))
|
|
16
|
+
throw new CliError("validation_error", "expected a selected Zoom profile and read or ingestion intent");
|
|
31
17
|
let store;
|
|
32
18
|
try {
|
|
33
19
|
const open = options.openStore ?? (await import("@wirecat/cli-core/store")).openStore;
|
|
34
20
|
store = await open({ path: options.path, env: options.env, now: options.now });
|
|
35
|
-
const append = store.meetings.appendTranscripts;
|
|
36
|
-
const appendReceipt = store.meetings.appendTranscriptsWithReceipt;
|
|
37
|
-
if (input.capability === "transcript-append" &&
|
|
38
|
-
typeof append !== "function" &&
|
|
39
|
-
typeof appendReceipt !== "function")
|
|
40
|
-
throw new ZoomError("configuration_error", "the installed meeting store does not support transcript append");
|
|
41
|
-
const key = { provider: "zoom", account: input.externalId };
|
|
42
|
-
const accountId = input.intent === "ingestion"
|
|
43
|
-
? await store.saveAccount(key, { name: input.profile })
|
|
44
|
-
: (await store.storedAccount(key)).id;
|
|
45
|
-
if (!Number.isSafeInteger(accountId) || accountId < 1)
|
|
46
|
-
throw new ZoomError("configuration_error", "the selected meeting account is unavailable");
|
|
47
21
|
const connected = store;
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
throw new ZoomError("configuration_error", "the installed store does not support meeting knowledge integration");
|
|
61
|
-
if (input.capability === "meeting-search" &&
|
|
62
|
-
(typeof connected.meetings.searchHits !== "function" || typeof connected.meetings.indexSearch !== "function"))
|
|
63
|
-
throw new ZoomError("configuration_error", "the installed meeting store does not support meeting search");
|
|
22
|
+
const meetings = connected.meetings;
|
|
23
|
+
const key = { provider: "zoom", account: externalId };
|
|
24
|
+
const accountId = intent === "ingestion"
|
|
25
|
+
? await connected.saveAccount(key, { name: profile })
|
|
26
|
+
: (await connected.storedAccount(key)).id;
|
|
27
|
+
if (!Number.isSafeInteger(accountId) || accountId < 1)
|
|
28
|
+
throw new CliError("configuration_error", "the selected meeting account is unavailable");
|
|
29
|
+
const ownAccount = (input, what) => {
|
|
30
|
+
if (input.accountId !== accountId)
|
|
31
|
+
throw new CliError("validation_error", `${what} account is selected by the connection`);
|
|
32
|
+
return input;
|
|
33
|
+
};
|
|
64
34
|
return {
|
|
65
|
-
|
|
35
|
+
meetingPreparation: {
|
|
36
|
+
scope: key,
|
|
37
|
+
create: async (upcoming) => {
|
|
38
|
+
const { createMeetingPreparationService } = await import("@wirecat/cli-core/services");
|
|
39
|
+
const service = createMeetingPreparationService(key, accountId, { meetings, upcoming });
|
|
40
|
+
return service.prepare.bind(service);
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
store: meetings,
|
|
66
44
|
accountId,
|
|
67
45
|
close: () => connected.close(),
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
: {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
? {
|
|
127
|
-
meetingSearch: async (query, options) => {
|
|
128
|
-
validateMeetingHitSearch(query, options);
|
|
129
|
-
const { searchMeetingHits } = await import("@wirecat/cli-core/services");
|
|
130
|
-
return searchMeetingHits({ meetings: connected.meetings, knowledge }, query, { ...options, accountId });
|
|
131
|
-
},
|
|
132
|
-
}
|
|
133
|
-
: {}),
|
|
134
|
-
...(notes && knowledge && memories && facts && contextMeetings
|
|
135
|
-
? {
|
|
136
|
-
meetingIntegration: {
|
|
137
|
-
change: async (reference, input, options = {}) => {
|
|
138
|
-
const source = integrationReference(reference);
|
|
139
|
-
if (source.parsed.accountId !== accountId)
|
|
140
|
-
throw new ZoomError("not_found", "meeting is unavailable for the selected account");
|
|
141
|
-
const change = validateMeetingContextChange(input);
|
|
142
|
-
if (change.action !== "event.link" && change.action !== "person.link")
|
|
143
|
-
throw new ZoomError("validation_error", "meeting linking supports only explicit event or person changes");
|
|
144
|
-
const mutation = { apply: options.apply, dryRun: options.dryRun, signal: options.signal };
|
|
145
|
-
const api = await import("@wirecat/cli-core/services");
|
|
146
|
-
if (typeof api.createMeetingContextService !== "function")
|
|
147
|
-
throw new ZoomError("configuration_error", "the installed producer does not support meeting links; install a compatible published version");
|
|
148
|
-
await api.resolveMeetingReference(connected.meetings, accountId, source.reference, {
|
|
149
|
-
signal: mutation.signal,
|
|
150
|
-
});
|
|
151
|
-
const service = await api.createMeetingContextService({
|
|
152
|
-
storedAccount: connected.storedAccount.bind(connected),
|
|
153
|
-
meetings: contextMeetings,
|
|
154
|
-
notes,
|
|
155
|
-
knowledge,
|
|
156
|
-
memories,
|
|
157
|
-
facts,
|
|
158
|
-
}, key);
|
|
159
|
-
if (service.accountId !== accountId ||
|
|
160
|
-
service.scope.provider !== key.provider ||
|
|
161
|
-
service.scope.account !== key.account)
|
|
162
|
-
throw new ZoomError("invalid_response", "meeting context service returned an inconsistent account");
|
|
163
|
-
return service.change(source.parsed.meetingId, change, mutation);
|
|
164
|
-
},
|
|
165
|
-
},
|
|
166
|
-
}
|
|
167
|
-
: {}),
|
|
46
|
+
appendTranscriptsWithReceipt: (input) => meetings.appendTranscriptsWithReceipt(ownAccount(input, "append")),
|
|
47
|
+
meetingProjectEvidence: async (project, request) => {
|
|
48
|
+
const { readMeetingProjectDiscovery } = await import("@wirecat/cli-core/services");
|
|
49
|
+
return readMeetingProjectDiscovery({
|
|
50
|
+
vocabulary: connected.knowledge,
|
|
51
|
+
search: { searchHits: (query, hits) => meetings.searchHits(query, hits) },
|
|
52
|
+
}, project, { ...request, accountId });
|
|
53
|
+
},
|
|
54
|
+
meetingTranscription: createLocalTranscriptionCapabilities({
|
|
55
|
+
accountId,
|
|
56
|
+
resolveMeeting: async (value, signal) => {
|
|
57
|
+
const reference = /^[1-9]\d*$/.test(value) ? `meeting:${accountId}/${value}` : value;
|
|
58
|
+
const target = integrationReference(reference);
|
|
59
|
+
if (target.parsed.accountId !== accountId)
|
|
60
|
+
return null;
|
|
61
|
+
const meeting = await meetings.meetingMetadata({ accountId, meetingId: target.parsed.meetingId, signal });
|
|
62
|
+
if (meeting.accountId !== accountId ||
|
|
63
|
+
meeting.id !== target.parsed.meetingId ||
|
|
64
|
+
meeting.deletedAt !== null)
|
|
65
|
+
return null;
|
|
66
|
+
return { accountId, meetingId: meeting.id, externalId: meeting.externalId };
|
|
67
|
+
},
|
|
68
|
+
appendTranscriptsWithReceipt: (input) => meetings.appendTranscriptsWithReceipt(ownAccount(input, "transcription")),
|
|
69
|
+
}, { env: options.env, now: options.now }),
|
|
70
|
+
meetingSearch: async (query, request) => {
|
|
71
|
+
validateMeetingHitSearch(query, request);
|
|
72
|
+
const { searchMeetingHits } = await import("@wirecat/cli-core/services");
|
|
73
|
+
return searchMeetingHits({ meetings, knowledge: connected.knowledge }, query, { ...request, accountId });
|
|
74
|
+
},
|
|
75
|
+
meetingIntegration: {
|
|
76
|
+
change: async (reference, input, mutation = {}) => {
|
|
77
|
+
const source = integrationReference(reference);
|
|
78
|
+
if (source.parsed.accountId !== accountId)
|
|
79
|
+
throw new CliError("not_found", "meeting is unavailable for the selected account");
|
|
80
|
+
const change = validateMeetingContextChange(input);
|
|
81
|
+
if (change.action !== "event.link" && change.action !== "person.link")
|
|
82
|
+
throw new CliError("validation_error", "meeting linking supports only explicit event or person changes");
|
|
83
|
+
const api = await import("@wirecat/cli-core/services");
|
|
84
|
+
await api.resolveMeetingReference(meetings, accountId, source.reference, { signal: mutation.signal });
|
|
85
|
+
const service = await api.createMeetingContextService({
|
|
86
|
+
storedAccount: connected.storedAccount.bind(connected),
|
|
87
|
+
meetings,
|
|
88
|
+
notes: connected.notes,
|
|
89
|
+
knowledge: connected.knowledge,
|
|
90
|
+
memories: connected.memories,
|
|
91
|
+
facts: connected.facts,
|
|
92
|
+
}, key);
|
|
93
|
+
if (service.accountId !== accountId ||
|
|
94
|
+
service.scope.provider !== key.provider ||
|
|
95
|
+
service.scope.account !== key.account)
|
|
96
|
+
throw new CliError("invalid_response", "meeting context service returned an inconsistent account");
|
|
97
|
+
return service.change(source.parsed.meetingId, change, {
|
|
98
|
+
apply: mutation.apply,
|
|
99
|
+
dryRun: mutation.dryRun,
|
|
100
|
+
signal: mutation.signal,
|
|
101
|
+
});
|
|
102
|
+
},
|
|
103
|
+
},
|
|
168
104
|
unifiedSearch: async (input) => {
|
|
169
105
|
const request = validateUnifiedSearch(input);
|
|
170
106
|
const { searchAllIncludingMeetings } = await import("@wirecat/cli-core/services");
|
|
171
|
-
return searchAllIncludingMeetings(connected, key, {
|
|
172
|
-
...request,
|
|
173
|
-
meetingAccount: key,
|
|
174
|
-
env: options.env,
|
|
175
|
-
});
|
|
107
|
+
return searchAllIncludingMeetings(connected, key, { ...request, meetingAccount: key, env: options.env });
|
|
176
108
|
},
|
|
177
|
-
meetingContext: createMeetingContextCapabilities(connected,
|
|
178
|
-
|
|
179
|
-
? {
|
|
180
|
-
meetingSemantic: createMeetingSemanticCapabilities(connected.meetingVectors, accountId, {
|
|
181
|
-
env: options.env,
|
|
182
|
-
}),
|
|
183
|
-
}
|
|
184
|
-
: {}),
|
|
109
|
+
meetingContext: createMeetingContextCapabilities(connected, meetings, accountId),
|
|
110
|
+
meetingSemantic: createMeetingSemanticCapabilities(connected.meetingVectors, accountId, { env: options.env }),
|
|
185
111
|
};
|
|
186
112
|
}
|
|
187
113
|
catch (error) {
|
|
188
|
-
|
|
189
|
-
try {
|
|
190
|
-
await store.close();
|
|
191
|
-
}
|
|
192
|
-
catch {
|
|
193
|
-
/* Preserve the setup failure. */
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
if (error instanceof ZoomError)
|
|
197
|
-
throw error;
|
|
114
|
+
await store?.close().catch(() => undefined);
|
|
198
115
|
if (isCliError(error) && error.code === "not_found")
|
|
199
|
-
throw new
|
|
200
|
-
|
|
116
|
+
throw new CliError("configuration_error", "no stored meetings for the selected profile; import transcripts or pull first");
|
|
117
|
+
if (isCliError(error))
|
|
118
|
+
throw error;
|
|
119
|
+
throw new CliError("configuration_error", "could not connect to the shared meeting store; check MESSAGING_STORE and the installed store version");
|
|
201
120
|
}
|
|
202
121
|
};
|
|
203
122
|
//# sourceMappingURL=store-connection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-connection.js","sourceRoot":"","sources":["../src/store-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"store-connection.js","sourceRoot":"","sources":["../src/store-connection.ts"],"names":[],"mappings":"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"}
|
package/dist/streaming.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createOutputBuffer } from "@wirecat/cli-base";
|
|
2
|
-
import { checkCancelled
|
|
1
|
+
import { CliError, createOutputBuffer } from "@wirecat/cli-base";
|
|
2
|
+
import { checkCancelled } from "./errors.js";
|
|
3
3
|
/** Await kernel-facing stdout backpressure before advancing another ingestion/download cycle. */
|
|
4
4
|
export const writeStream = (stream, text, signal) => {
|
|
5
5
|
checkCancelled(signal);
|
|
@@ -11,7 +11,7 @@ export const writeStream = (stream, text, signal) => {
|
|
|
11
11
|
let drained = false;
|
|
12
12
|
let callbackFailed = false;
|
|
13
13
|
let errorObserved = false;
|
|
14
|
-
const outputError = () => new
|
|
14
|
+
const outputError = () => new CliError("configuration_error", "could not write command output");
|
|
15
15
|
const removeGuard = () => stream.removeListener("error", failed);
|
|
16
16
|
const done = (error) => {
|
|
17
17
|
if (settled)
|
package/dist/streaming.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"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"}
|
package/dist/tokens.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIrD,MAAM,WAAW,MAAM;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AACD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,YAAY,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,OAAO,KAAK,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AACD,qBAAa,YAAY;IAEX,QAAQ,CAAC,OAAO,EAAE,YAAY;IAD1C,OAAO,CAAC,YAAY,CAAqC;IACzD,YAAqB,OAAO,EAAE,YAAY,EAAI;IAC9C,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,GAAE,OAAO,KAA0B,GAAG,YAAY,CAgBzF;IACD,IAAI,CAAC,QAAQ,SAAwB,GAAG,MAAM,GAAG,IAAI,CA8BpD;IACD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAwB,GAAG,IAAI,CAM3D;IACK,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,SAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CA0DnH;IACK,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAoB9B;CACF"}
|
package/dist/tokens.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CliError } from "@wirecat/cli-base";
|
|
2
|
+
import { checkCancelled, object } from "./errors.js";
|
|
2
3
|
export class TokenManager {
|
|
3
4
|
options;
|
|
4
5
|
refreshState = new Map();
|
|
@@ -28,7 +29,7 @@ export class TokenManager {
|
|
|
28
29
|
saved = this.options.keyring.get(this.options.service, clientId);
|
|
29
30
|
}
|
|
30
31
|
catch {
|
|
31
|
-
throw new
|
|
32
|
+
throw new CliError("configuration_error", "system keyring is unavailable");
|
|
32
33
|
}
|
|
33
34
|
if (!saved)
|
|
34
35
|
return null;
|
|
@@ -51,7 +52,7 @@ export class TokenManager {
|
|
|
51
52
|
};
|
|
52
53
|
}
|
|
53
54
|
catch {
|
|
54
|
-
throw new
|
|
55
|
+
throw new CliError("authentication_error", "saved login is invalid; run zm session start again");
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
save(tokens, clientId = this.options.clientId) {
|
|
@@ -59,7 +60,7 @@ export class TokenManager {
|
|
|
59
60
|
this.options.keyring.set(this.options.service, clientId, JSON.stringify(tokens));
|
|
60
61
|
}
|
|
61
62
|
catch {
|
|
62
|
-
throw new
|
|
63
|
+
throw new CliError("configuration_error", "could not save login to the system keyring");
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
async exchange(params, previous, clientId = this.options.clientId) {
|
|
@@ -78,16 +79,16 @@ export class TokenManager {
|
|
|
78
79
|
});
|
|
79
80
|
}
|
|
80
81
|
catch {
|
|
81
|
-
throw new
|
|
82
|
+
throw new CliError("outcome_unknown", "Zoom token exchange did not finish; run zm session start again before retrying");
|
|
82
83
|
}
|
|
83
84
|
if (!response.ok)
|
|
84
|
-
throw new
|
|
85
|
+
throw new CliError("authentication_error", `Zoom token request failed (HTTP ${response.status}); run zm session start again`);
|
|
85
86
|
let body;
|
|
86
87
|
try {
|
|
87
88
|
body = object(await response.json());
|
|
88
89
|
}
|
|
89
90
|
catch {
|
|
90
|
-
throw new
|
|
91
|
+
throw new CliError("outcome_unknown", "Zoom returned an invalid token response; run zm session start again before retrying");
|
|
91
92
|
}
|
|
92
93
|
const refreshToken = typeof body.refresh_token === "string" ? body.refresh_token : previous?.refreshToken;
|
|
93
94
|
if (typeof body.access_token !== "string" ||
|
|
@@ -99,7 +100,7 @@ export class TokenManager {
|
|
|
99
100
|
!Number.isFinite((this.options.now?.() ?? Date.now()) + body.expires_in * 1000) ||
|
|
100
101
|
(body.scope !== undefined && typeof body.scope !== "string") ||
|
|
101
102
|
(body.refresh_token !== undefined && typeof body.refresh_token !== "string"))
|
|
102
|
-
throw new
|
|
103
|
+
throw new CliError("outcome_unknown", "Zoom returned an invalid token response; run zm session start again before retrying");
|
|
103
104
|
const tokens = {
|
|
104
105
|
accessToken: body.access_token,
|
|
105
106
|
refreshToken,
|
|
@@ -114,7 +115,7 @@ export class TokenManager {
|
|
|
114
115
|
const clientId = this.options.clientId;
|
|
115
116
|
const saved = this.load(clientId);
|
|
116
117
|
if (!saved)
|
|
117
|
-
throw new
|
|
118
|
+
throw new CliError("authentication_error", "run zm session start first");
|
|
118
119
|
if (saved.expiresAt > (this.options.now?.() ?? Date.now()) + 30000)
|
|
119
120
|
return saved;
|
|
120
121
|
let refreshing = this.refreshState.get(clientId);
|
package/dist/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
|
package/dist/unified-search.d.ts
CHANGED
|
@@ -3,14 +3,5 @@ export type UnifiedSearchRequest = Pick<SearchAllIncludingMeetingsRequest, "text
|
|
|
3
3
|
export type UnifiedSearch = (request: UnifiedSearchRequest) => Promise<SearchAllIncludingMeetingsFound>;
|
|
4
4
|
export declare const validateUnifiedSearch: (input: UnifiedSearchRequest, meetingsOnly?: boolean) => UnifiedSearchRequest;
|
|
5
5
|
export declare const runUnifiedSearch: (search: UnifiedSearch, input: UnifiedSearchRequest, meetingsOnly?: boolean) => Promise<SearchAllIncludingMeetingsFound>;
|
|
6
|
-
export declare const unifiedSearchAnswer: (result: SearchAllIncludingMeetingsFound) =>
|
|
7
|
-
item: SearchAllIncludingMeetingsFound;
|
|
8
|
-
meta: {
|
|
9
|
-
complete: boolean;
|
|
10
|
-
issues?: {
|
|
11
|
-
code: "authentication_error" | "cancelled" | "configuration_error" | "confirmation_required" | "invalid_response" | "network_error" | "not_found" | "outcome_unknown" | "permission_error" | "provider_error" | "provider_unavailable" | "rate_limited" | "timeout" | "validation_error";
|
|
12
|
-
source: string | undefined;
|
|
13
|
-
}[] | undefined;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
6
|
+
export declare const unifiedSearchAnswer: (result: SearchAllIncludingMeetingsFound) => import("@wirecat/cli-core/cli").ItemBody<SearchAllIncludingMeetingsFound>;
|
|
16
7
|
//# sourceMappingURL=unified-search.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-search.d.ts","sourceRoot":"","sources":["../src/unified-search.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unified-search.d.ts","sourceRoot":"","sources":["../src/unified-search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,+BAA+B,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAA;AAGpH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,iCAAiC,EACjC,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,eAAe,GAAG,QAAQ,CACjF,CAAA;AACD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,+BAA+B,CAAC,CAAA;AAEvG,eAAO,MAAM,qBAAqB,UAAW,oBAAoB,6BAAyB,oBAyDzF,CAAA;AACD,eAAO,MAAM,gBAAgB,WAAkB,aAAa,SAAS,oBAAoB,qEAMxF,CAAA;AAED,eAAO,MAAM,mBAAmB,WAAY,+BAA+B,8EAavE,CAAA"}
|
package/dist/unified-search.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CliError } from "@wirecat/cli-base";
|
|
2
|
+
import { itemOf } from "@wirecat/cli-core/cli";
|
|
3
|
+
import { checkCancelled } from "./errors.js";
|
|
2
4
|
const resources = ["messages", "mail", "notes", "meetings"];
|
|
3
5
|
export const validateUnifiedSearch = (input, meetingsOnly = false) => {
|
|
4
6
|
const limit = input.limit ?? 100;
|
|
@@ -18,7 +20,7 @@ export const validateUnifiedSearch = (input, meetingsOnly = false) => {
|
|
|
18
20
|
only.some((resource) => !resources.includes(resource)) ||
|
|
19
21
|
(meetingsOnly && (only.length !== 1 || only[0] !== "meetings")) ||
|
|
20
22
|
(input.exact !== undefined && typeof input.exact !== "boolean"))
|
|
21
|
-
throw new
|
|
23
|
+
throw new CliError("validation_error", "expected nonempty search text, supported resources and bounds from 1 through 1000");
|
|
22
24
|
if (input.meetingCursor !== undefined) {
|
|
23
25
|
const cursor = input.meetingCursor;
|
|
24
26
|
if (typeof cursor !== "object" ||
|
|
@@ -36,7 +38,7 @@ export const validateUnifiedSearch = (input, meetingsOnly = false) => {
|
|
|
36
38
|
cursor.meetingOffset > Number.MAX_SAFE_INTEGER - 2 ||
|
|
37
39
|
!Number.isSafeInteger(cursor.hitOffset) ||
|
|
38
40
|
cursor.hitOffset < 0)
|
|
39
|
-
throw new
|
|
41
|
+
throw new CliError("validation_error", "meeting continuation requires a source-only cursor bound to its account and query");
|
|
40
42
|
}
|
|
41
43
|
return {
|
|
42
44
|
text: input.text,
|
|
@@ -55,15 +57,14 @@ export const runUnifiedSearch = async (search, input, meetingsOnly = false) => {
|
|
|
55
57
|
checkCancelled(request.signal);
|
|
56
58
|
return result;
|
|
57
59
|
};
|
|
58
|
-
export const unifiedSearchAnswer = (result) => ({
|
|
59
|
-
item: result,
|
|
60
|
+
export const unifiedSearchAnswer = (result) => itemOf(result, {
|
|
60
61
|
meta: {
|
|
61
62
|
complete: result.skipped.length === 0,
|
|
62
63
|
...(result.skipped.length
|
|
63
64
|
? {
|
|
64
65
|
issues: result.skipped.map((issue) => ({
|
|
65
66
|
code: issue.code,
|
|
66
|
-
source:
|
|
67
|
+
source: issue.source ?? issue.resource,
|
|
67
68
|
})),
|
|
68
69
|
}
|
|
69
70
|
: {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-search.js","sourceRoot":"","sources":["../src/unified-search.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unified-search.js","sourceRoot":"","sources":["../src/unified-search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type RemoteOptions } from "./remote-http.js";
|
|
2
|
+
import type { TokenManager } from "./tokens.js";
|
|
3
|
+
export interface ZoomUpcomingCredentials {
|
|
4
|
+
withSignal(signal?: AbortSignal): Pick<TokenManager, "tokens">;
|
|
5
|
+
}
|
|
6
|
+
export declare const createZoomUpcomingMeetingReader: (account: string, credentials: ZoomUpcomingCredentials, fetcher: typeof fetch, options?: RemoteOptions) => {
|
|
7
|
+
scope: Readonly<import("@wirecat/cli-core/meetings").MeetingProviderScope>;
|
|
8
|
+
next(meetingId: string, request: import("@wirecat/cli-core/meetings").UpcomingMeetingRequest): Promise<import("@wirecat/cli-core/meetings").UpcomingMeetingResult>;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=upcoming-meetings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upcoming-meetings.d.ts","sourceRoot":"","sources":["../src/upcoming-meetings.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,kBAAkB,CAAA;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;CAC/D;AAED,eAAO,MAAM,+BAA+B,YACjC,MAAM,eACF,uBAAuB,WAC3B,OAAO,KAAK,YACZ,aAAa;;;CAqBvB,CAAA"}
|