@wirecat/zoom-cli 0.3.2 → 0.5.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 +109 -7
- package/dist/archive-commands.d.ts +2 -1
- package/dist/archive-commands.d.ts.map +1 -1
- package/dist/archive-commands.js +54 -10
- package/dist/archive-commands.js.map +1 -1
- package/dist/archive-import.d.ts +6 -2
- package/dist/archive-import.d.ts.map +1 -1
- package/dist/archive-import.js +32 -8
- package/dist/archive-import.js.map +1 -1
- package/dist/bin/zm.js +2 -0
- package/dist/bin/zm.js.map +1 -1
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +4 -0
- package/dist/execution.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/local-transcription-commands.d.ts +9 -0
- package/dist/local-transcription-commands.d.ts.map +1 -0
- package/dist/local-transcription-commands.js +51 -0
- package/dist/local-transcription-commands.js.map +1 -0
- package/dist/local-transcription.d.ts +52 -0
- package/dist/local-transcription.d.ts.map +1 -0
- package/dist/local-transcription.js +161 -0
- package/dist/local-transcription.js.map +1 -0
- package/dist/meeting-integration-commands.d.ts +9 -0
- package/dist/meeting-integration-commands.d.ts.map +1 -0
- package/dist/meeting-integration-commands.js +64 -0
- package/dist/meeting-integration-commands.js.map +1 -0
- package/dist/meeting-integration.d.ts +12 -0
- package/dist/meeting-integration.d.ts.map +1 -0
- package/dist/meeting-integration.js +9 -0
- package/dist/meeting-integration.js.map +1 -0
- package/dist/meeting-search-commands.d.ts +33 -0
- package/dist/meeting-search-commands.d.ts.map +1 -0
- package/dist/meeting-search-commands.js +85 -0
- package/dist/meeting-search-commands.js.map +1 -0
- package/dist/ordinary-file.d.ts +1 -0
- package/dist/ordinary-file.d.ts.map +1 -1
- package/dist/ordinary-file.js +13 -0
- package/dist/ordinary-file.js.map +1 -1
- package/dist/program.d.ts +22 -4
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +155 -4
- package/dist/program.js.map +1 -1
- package/dist/recording-archive.d.ts +2 -0
- package/dist/recording-archive.d.ts.map +1 -1
- package/dist/recording-archive.js +151 -79
- package/dist/recording-archive.js.map +1 -1
- package/dist/recording-partial-store.d.ts +20 -0
- package/dist/recording-partial-store.d.ts.map +1 -0
- package/dist/recording-partial-store.js +225 -0
- package/dist/recording-partial-store.js.map +1 -0
- package/dist/recording-promotion-store.d.ts +12 -0
- package/dist/recording-promotion-store.d.ts.map +1 -0
- package/dist/recording-promotion-store.js +92 -0
- package/dist/recording-promotion-store.js.map +1 -0
- package/dist/recording-schedule-commands.d.ts +12 -0
- package/dist/recording-schedule-commands.d.ts.map +1 -0
- package/dist/recording-schedule-commands.js +80 -0
- package/dist/recording-schedule-commands.js.map +1 -0
- package/dist/recording-schedule-store.d.ts +4 -0
- package/dist/recording-schedule-store.d.ts.map +1 -0
- package/dist/recording-schedule-store.js +141 -0
- package/dist/recording-schedule-store.js.map +1 -0
- package/dist/recording-schedule-systemd.d.ts +14 -0
- package/dist/recording-schedule-systemd.d.ts.map +1 -0
- package/dist/recording-schedule-systemd.js +173 -0
- package/dist/recording-schedule-systemd.js.map +1 -0
- package/dist/recording-schedule.d.ts +93 -0
- package/dist/recording-schedule.d.ts.map +1 -0
- package/dist/recording-schedule.js +121 -0
- package/dist/recording-schedule.js.map +1 -0
- package/dist/recording-sync-store.d.ts +3 -0
- package/dist/recording-sync-store.d.ts.map +1 -0
- package/dist/recording-sync-store.js +187 -0
- package/dist/recording-sync-store.js.map +1 -0
- package/dist/recording-sync.d.ts +10 -1
- package/dist/recording-sync.d.ts.map +1 -1
- package/dist/recording-sync.js +72 -41
- package/dist/recording-sync.js.map +1 -1
- package/dist/recordings.d.ts +9 -10
- package/dist/recordings.d.ts.map +1 -1
- package/dist/recordings.js +50 -13
- package/dist/recordings.js.map +1 -1
- package/dist/remote-meetings.d.ts +15 -0
- package/dist/remote-meetings.d.ts.map +1 -1
- package/dist/remote-meetings.js +73 -65
- package/dist/remote-meetings.js.map +1 -1
- package/dist/store-connection.d.ts +5 -1
- package/dist/store-connection.d.ts.map +1 -1
- package/dist/store-connection.js +145 -9
- package/dist/store-connection.js.map +1 -1
- package/dist/wav-audio.d.ts +28 -0
- package/dist/wav-audio.d.ts.map +1 -0
- package/dist/wav-audio.js +191 -0
- package/dist/wav-audio.js.map +1 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-meetings.js","sourceRoot":"","sources":["../src/remote-meetings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAA0C,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAkCtG,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,EAAE;IAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,kBAAkB,EAAE,iDAAiD,CAAC,CAAA;IACtH,OAAO,aAAa,EAAE,EAAE,CAAA;AAC1B,CAAC,CAAA;AACD,MAAM,UAAU,GAAG,CAAC,KAAc,EAAiB,EAAE;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACzB,MAAM,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACzG,MAAM,CAAC,EAAE,CAAC,CAAA;IACV,OAAO;QACL,EAAE;QACF,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACxB,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QACpD,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;QACjC,eAAe,EACb,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QAC9G,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;KAC9B,CAAA;AACH,CAAC,CAAA;AACD,MAAM,UAAU,GAAG,CAAC,MAAqB,EAAE,MAAe,EAA2B,EAAE;IACrF,IACE,CAAC,MAAM;QACP,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CACtB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAChG;QAED,MAAM,IAAI,SAAS,CAAC,kBAAkB,EAAE,kCAAkC,CAAC,CAAA;IAC7E,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"remote-meetings.js","sourceRoot":"","sources":["../src/remote-meetings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import { type MeetingContextStore, type MeetingSearchIndexStore, type MeetingSearchStore, type MeetingTranscriptReceiptStore } from "@wirecat/cli-meetings";
|
|
1
2
|
import type { MessageStore, StoreOptions } from "@wirecat/cli-messaging/store";
|
|
2
3
|
import type { StoreConnection, StoreConnectRequest } from "./program.js";
|
|
3
|
-
type
|
|
4
|
+
type OptionalMeetingPorts = MeetingTranscriptReceiptStore & MeetingSearchStore & MeetingSearchIndexStore & MeetingContextStore;
|
|
5
|
+
type SharedMeetingStore = Pick<MessageStore, "saveAccount" | "storedAccount" | "close"> & {
|
|
6
|
+
meetings: Omit<MessageStore["meetings"], keyof OptionalMeetingPorts> & Partial<MeetingTranscriptReceiptStore & MeetingSearchStore & MeetingSearchIndexStore & MeetingContextStore>;
|
|
7
|
+
} & Partial<Pick<MessageStore, "meetingVectors" | "personByUid" | "personSeenInAccounts" | "involvements" | "notes" | "knowledge" | "memories">>;
|
|
4
8
|
export interface StoreConnectionOptions extends StoreOptions {
|
|
5
9
|
openStore?: (options: StoreOptions) => Promise<SharedMeetingStore>;
|
|
6
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-connection.d.ts","sourceRoot":"","sources":["../src/store-connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store-connection.d.ts","sourceRoot":"","sources":["../src/store-connection.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,6BAA6B,EAGnC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAQ9E,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAGxE,KAAK,oBAAoB,GAAG,6BAA6B,GACvD,kBAAkB,GAClB,uBAAuB,GACvB,mBAAmB,CAAA;AACrB,KAAK,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,eAAe,GAAG,OAAO,CAAC,GAAG;IACxF,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,oBAAoB,CAAC,GAClE,OAAO,CAAC,6BAA6B,GAAG,kBAAkB,GAAG,uBAAuB,GAAG,mBAAmB,CAAC,CAAA;CAC9G,GAAG,OAAO,CACP,IAAI,CACF,YAAY,EACZ,gBAAgB,GAAG,aAAa,GAAG,sBAAsB,GAAG,cAAc,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAChH,CACF,CAAA;AAQH,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;CACnE;AAED,eAAO,MAAM,oBAAoB,aACrB,sBAAsB,eAChB,mBAAmB,KAAG,OAAO,CAAC,eAAe,CAmO5D,CAAA"}
|
package/dist/store-connection.js
CHANGED
|
@@ -1,30 +1,62 @@
|
|
|
1
1
|
import { CliError } from "@wirecat/cli-core";
|
|
2
|
+
import { dispatchMeetingMutation, validateMeetingContextChange, } from "@wirecat/cli-meetings";
|
|
2
3
|
import { profileAccountKey } from "./config.js";
|
|
3
4
|
import { ZoomError } from "./errors.js";
|
|
5
|
+
import { createLocalTranscriptionCapabilities } from "./local-transcription.js";
|
|
4
6
|
import { createMeetingContextCapabilities } from "./meeting-context.js";
|
|
7
|
+
import { integrationReference } from "./meeting-integration.js";
|
|
8
|
+
import { validateMeetingHitSearch } from "./meeting-search-commands.js";
|
|
5
9
|
import { createMeetingSemanticCapabilities } from "./meeting-semantic.js";
|
|
6
10
|
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";
|
|
7
17
|
export const createStoreConnector = (options = {}) => async (request) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
18
|
+
const input = {
|
|
19
|
+
profile: request?.profile,
|
|
20
|
+
externalId: request?.externalId,
|
|
21
|
+
intent: request?.intent,
|
|
22
|
+
capability: request?.capability,
|
|
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-search-index"].includes(input.capability)))
|
|
13
30
|
throw new ZoomError("validation_error", "expected a selected Zoom profile and read or ingestion intent");
|
|
14
31
|
let store;
|
|
15
32
|
try {
|
|
16
33
|
const open = options.openStore ?? (await import("@wirecat/cli-messaging/store")).openStore;
|
|
17
34
|
store = await open({ path: options.path, env: options.env, now: options.now });
|
|
18
35
|
const append = store.meetings.appendTranscripts;
|
|
19
|
-
|
|
36
|
+
const appendReceipt = store.meetings.appendTranscriptsWithReceipt;
|
|
37
|
+
if (input.capability === "transcript-append" &&
|
|
38
|
+
typeof append !== "function" &&
|
|
39
|
+
typeof appendReceipt !== "function")
|
|
20
40
|
throw new ZoomError("configuration_error", "the installed meeting store does not support transcript append");
|
|
21
|
-
const key = { provider: "zoom", account:
|
|
22
|
-
const accountId =
|
|
23
|
-
? await store.saveAccount(key, { name:
|
|
41
|
+
const key = { provider: "zoom", account: input.externalId };
|
|
42
|
+
const accountId = input.intent === "ingestion"
|
|
43
|
+
? await store.saveAccount(key, { name: input.profile })
|
|
24
44
|
: (await store.storedAccount(key)).id;
|
|
25
45
|
if (!Number.isSafeInteger(accountId) || accountId < 1)
|
|
26
46
|
throw new ZoomError("configuration_error", "the selected meeting account is unavailable");
|
|
27
47
|
const connected = store;
|
|
48
|
+
const searchHits = connected.meetings.searchHits;
|
|
49
|
+
const indexSearch = connected.meetings.indexSearch;
|
|
50
|
+
const notes = connected.notes;
|
|
51
|
+
const knowledge = connected.knowledge;
|
|
52
|
+
const memories = connected.memories;
|
|
53
|
+
const contextMeetings = contextServiceMeetings(connected.meetings) ? connected.meetings : undefined;
|
|
54
|
+
if (input.capability === "meeting-integration" && (!notes || !knowledge || !memories || !contextMeetings))
|
|
55
|
+
throw new ZoomError("configuration_error", "the installed store does not support meeting knowledge integration");
|
|
56
|
+
if (input.capability === "meeting-search" && typeof connected.meetings.searchHits !== "function")
|
|
57
|
+
throw new ZoomError("configuration_error", "the installed meeting store does not support bounded hit search");
|
|
58
|
+
if (input.capability === "meeting-search-index" && typeof connected.meetings.indexSearch !== "function")
|
|
59
|
+
throw new ZoomError("configuration_error", "the installed meeting store does not support bounded search indexing");
|
|
28
60
|
return {
|
|
29
61
|
store: connected.meetings,
|
|
30
62
|
accountId,
|
|
@@ -38,6 +70,110 @@ export const createStoreConnector = (options = {}) => async (request) => {
|
|
|
38
70
|
},
|
|
39
71
|
}
|
|
40
72
|
: {}),
|
|
73
|
+
...(typeof appendReceipt === "function"
|
|
74
|
+
? {
|
|
75
|
+
appendTranscriptsWithReceipt: (input) => {
|
|
76
|
+
if (input.accountId !== accountId)
|
|
77
|
+
throw new ZoomError("validation_error", "append account is selected by the connection");
|
|
78
|
+
return appendReceipt.call(connected.meetings, input);
|
|
79
|
+
},
|
|
80
|
+
}
|
|
81
|
+
: {}),
|
|
82
|
+
...(typeof appendReceipt === "function" && typeof connected.meetings.meetingMetadata === "function"
|
|
83
|
+
? {
|
|
84
|
+
meetingTranscription: createLocalTranscriptionCapabilities({
|
|
85
|
+
accountId,
|
|
86
|
+
resolveMeeting: async (value, signal) => {
|
|
87
|
+
const reference = /^[1-9]\d*$/.test(value) ? `meeting:${accountId}/${value}` : value;
|
|
88
|
+
const target = integrationReference(reference);
|
|
89
|
+
if (target.parsed.accountId !== accountId)
|
|
90
|
+
return null;
|
|
91
|
+
const meeting = await connected.meetings.meetingMetadata({
|
|
92
|
+
accountId,
|
|
93
|
+
meetingId: target.parsed.meetingId,
|
|
94
|
+
signal,
|
|
95
|
+
});
|
|
96
|
+
if (meeting.accountId !== accountId ||
|
|
97
|
+
meeting.id !== target.parsed.meetingId ||
|
|
98
|
+
meeting.deletedAt !== null)
|
|
99
|
+
return null;
|
|
100
|
+
return { accountId, meetingId: meeting.id, externalId: meeting.externalId };
|
|
101
|
+
},
|
|
102
|
+
appendTranscriptsWithReceipt: (input) => {
|
|
103
|
+
if (input.accountId !== accountId)
|
|
104
|
+
throw new ZoomError("validation_error", "transcription account is selected by the connection");
|
|
105
|
+
return appendReceipt.call(connected.meetings, input);
|
|
106
|
+
},
|
|
107
|
+
}, { env: options.env, now: options.now }),
|
|
108
|
+
}
|
|
109
|
+
: {}),
|
|
110
|
+
...(typeof indexSearch === "function"
|
|
111
|
+
? {
|
|
112
|
+
meetingSearchIndex: async (input) => {
|
|
113
|
+
validateMeetingHitSearch("index", input);
|
|
114
|
+
const limit = input.limit ?? 100;
|
|
115
|
+
const maxReadBytes = input.maxReadBytes ?? 4194304;
|
|
116
|
+
const signal = input.signal;
|
|
117
|
+
const outcome = await dispatchMeetingMutation({ apply: input.apply, dryRun: input.dryRun, signal }, () => indexSearch.call(connected.meetings, { accountId, limit, maxReadBytes, signal }));
|
|
118
|
+
return {
|
|
119
|
+
applied: outcome.applied,
|
|
120
|
+
accountId,
|
|
121
|
+
request: { limit, maxReadBytes },
|
|
122
|
+
...(outcome.value ?? {}),
|
|
123
|
+
};
|
|
124
|
+
},
|
|
125
|
+
}
|
|
126
|
+
: {}),
|
|
127
|
+
...(typeof searchHits === "function"
|
|
128
|
+
? {
|
|
129
|
+
meetingSearch: async (query, options) => {
|
|
130
|
+
const { meetingId, since, until, limit, after, maxReadBytes, signal } = options;
|
|
131
|
+
return searchHits.call(connected.meetings, query, {
|
|
132
|
+
accountId,
|
|
133
|
+
meetingId,
|
|
134
|
+
since,
|
|
135
|
+
until,
|
|
136
|
+
limit,
|
|
137
|
+
after,
|
|
138
|
+
maxReadBytes,
|
|
139
|
+
signal,
|
|
140
|
+
});
|
|
141
|
+
},
|
|
142
|
+
}
|
|
143
|
+
: {}),
|
|
144
|
+
...(notes && knowledge && memories && contextMeetings
|
|
145
|
+
? {
|
|
146
|
+
meetingIntegration: {
|
|
147
|
+
change: async (reference, input, options = {}) => {
|
|
148
|
+
const source = integrationReference(reference);
|
|
149
|
+
if (source.parsed.accountId !== accountId)
|
|
150
|
+
throw new ZoomError("not_found", "meeting is unavailable for the selected account");
|
|
151
|
+
const change = validateMeetingContextChange(input);
|
|
152
|
+
if (change.action !== "event.link" && change.action !== "person.link")
|
|
153
|
+
throw new ZoomError("validation_error", "meeting linking supports only explicit event or person changes");
|
|
154
|
+
const mutation = { apply: options.apply, dryRun: options.dryRun, signal: options.signal };
|
|
155
|
+
const api = await import("@wirecat/cli-messaging/services");
|
|
156
|
+
if (typeof api.createMeetingContextService !== "function")
|
|
157
|
+
throw new ZoomError("configuration_error", "the installed producer does not support meeting links; install a compatible published version");
|
|
158
|
+
await api.resolveMeetingReference(connected.meetings, accountId, source.reference, {
|
|
159
|
+
signal: mutation.signal,
|
|
160
|
+
});
|
|
161
|
+
const service = await api.createMeetingContextService({
|
|
162
|
+
storedAccount: connected.storedAccount.bind(connected),
|
|
163
|
+
meetings: contextMeetings,
|
|
164
|
+
notes,
|
|
165
|
+
knowledge,
|
|
166
|
+
memories,
|
|
167
|
+
}, key);
|
|
168
|
+
if (service.accountId !== accountId ||
|
|
169
|
+
service.scope.provider !== key.provider ||
|
|
170
|
+
service.scope.account !== key.account)
|
|
171
|
+
throw new ZoomError("invalid_response", "meeting context service returned an inconsistent account");
|
|
172
|
+
return service.change(source.parsed.meetingId, change, mutation);
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
}
|
|
176
|
+
: {}),
|
|
41
177
|
unifiedSearch: async (input) => {
|
|
42
178
|
const request = validateUnifiedSearch(input);
|
|
43
179
|
const { searchAllIncludingMeetings } = await import("@wirecat/cli-messaging/services");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-connection.js","sourceRoot":"","sources":["../src/store-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"store-connection.js","sourceRoot":"","sources":["../src/store-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface WavAudioDescriptor {
|
|
2
|
+
id: string;
|
|
3
|
+
contentHash: string;
|
|
4
|
+
size: number;
|
|
5
|
+
durationMs: number;
|
|
6
|
+
format: "wav";
|
|
7
|
+
sampleRate: 16000 | 48000;
|
|
8
|
+
channels: 1 | 2;
|
|
9
|
+
}
|
|
10
|
+
export interface WavAudioOptions {
|
|
11
|
+
maxBytes: number;
|
|
12
|
+
maxDurationMs: number;
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
}
|
|
15
|
+
export interface WavAudioPlan {
|
|
16
|
+
readonly media: Readonly<WavAudioDescriptor>;
|
|
17
|
+
}
|
|
18
|
+
export interface WavPcmWindow {
|
|
19
|
+
startMs: number;
|
|
20
|
+
endMs: number;
|
|
21
|
+
samples: Float32Array;
|
|
22
|
+
}
|
|
23
|
+
export declare const preflightWavAudio: (path: string, input: WavAudioOptions) => Promise<WavAudioPlan>;
|
|
24
|
+
export declare const openWavAudio: (plan: WavAudioPlan, input: WavAudioOptions) => Promise<{
|
|
25
|
+
windows(): AsyncIterable<WavPcmWindow>;
|
|
26
|
+
close(): Promise<void>;
|
|
27
|
+
}>;
|
|
28
|
+
//# sourceMappingURL=wav-audio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wav-audio.d.ts","sourceRoot":"","sources":["../src/wav-audio.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,KAAK,CAAA;IACb,UAAU,EAAE,KAAK,GAAG,KAAK,CAAA;IACzB,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAA;CAChB;AACD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AACD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;CAC7C;AACD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,YAAY,CAAA;CACtB;AAmHD,eAAO,MAAM,iBAAiB,SAAgB,MAAM,SAAS,eAAe,KAAG,OAAO,CAAC,YAAY,CA8BlG,CAAA;AACD,eAAO,MAAM,YAAY,SACjB,YAAY,SACX,eAAe,KACrB,OAAO,CAAC;IAAE,OAAO,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;IAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CA+D5E,CAAA"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { basename, resolve } from "node:path";
|
|
3
|
+
import { checkCancelled, ZoomError } from "./errors.js";
|
|
4
|
+
import { openOrdinaryFile } from "./ordinary-file.js";
|
|
5
|
+
const prepared = new WeakMap();
|
|
6
|
+
const invalid = () => {
|
|
7
|
+
throw new ZoomError("validation_error", "local transcription requires PCM16 mono/stereo WAV at 16 or 48 kHz; convert the media locally to PCM WAV first");
|
|
8
|
+
};
|
|
9
|
+
const validate = (options) => {
|
|
10
|
+
if (!Number.isSafeInteger(options.maxBytes) ||
|
|
11
|
+
options.maxBytes < 1 ||
|
|
12
|
+
options.maxBytes > 4 * 1024 ** 3 ||
|
|
13
|
+
!Number.isSafeInteger(options.maxDurationMs) ||
|
|
14
|
+
options.maxDurationMs < 1 ||
|
|
15
|
+
options.maxDurationMs > 24 * 3600_000)
|
|
16
|
+
throw new ZoomError("validation_error", "audio byte and duration budgets must be positive bounded integers");
|
|
17
|
+
checkCancelled(options.signal);
|
|
18
|
+
};
|
|
19
|
+
const exact = async (file, offset, size, signal) => {
|
|
20
|
+
const bytes = Buffer.alloc(size);
|
|
21
|
+
let read = 0;
|
|
22
|
+
while (read < size) {
|
|
23
|
+
checkCancelled(signal);
|
|
24
|
+
const result = await file.read(bytes, read, size - read, offset + read);
|
|
25
|
+
if (!result.bytesRead)
|
|
26
|
+
throw new ZoomError("validation_error", "WAV changed or was truncated while reading");
|
|
27
|
+
read += result.bytesRead;
|
|
28
|
+
}
|
|
29
|
+
return bytes;
|
|
30
|
+
};
|
|
31
|
+
const layoutOf = async (file, size, options) => {
|
|
32
|
+
if (size < 44 || size > options.maxBytes)
|
|
33
|
+
invalid();
|
|
34
|
+
const header = await exact(file, 0, 12, options.signal);
|
|
35
|
+
if (header.toString("ascii", 0, 4) !== "RIFF" ||
|
|
36
|
+
header.toString("ascii", 8, 12) !== "WAVE" ||
|
|
37
|
+
header.readUInt32LE(4) + 8 !== size)
|
|
38
|
+
invalid();
|
|
39
|
+
let format;
|
|
40
|
+
let data;
|
|
41
|
+
let at = 12;
|
|
42
|
+
let chunks = 0;
|
|
43
|
+
while (at < size) {
|
|
44
|
+
checkCancelled(options.signal);
|
|
45
|
+
if (++chunks > 1024 || size - at < 8)
|
|
46
|
+
invalid();
|
|
47
|
+
const chunk = await exact(file, at, 8, options.signal);
|
|
48
|
+
const kind = chunk.toString("ascii", 0, 4);
|
|
49
|
+
const length = chunk.readUInt32LE(4);
|
|
50
|
+
const start = at + 8;
|
|
51
|
+
const next = start + length + (length % 2);
|
|
52
|
+
if (next > size)
|
|
53
|
+
invalid();
|
|
54
|
+
if (kind === "fmt ") {
|
|
55
|
+
if (format || ![16, 18].includes(length))
|
|
56
|
+
invalid();
|
|
57
|
+
const bytes = await exact(file, start, length, options.signal);
|
|
58
|
+
const channels = bytes.readUInt16LE(2);
|
|
59
|
+
const sampleRate = bytes.readUInt32LE(4);
|
|
60
|
+
if (bytes.readUInt16LE(0) !== 1 ||
|
|
61
|
+
![1, 2].includes(channels) ||
|
|
62
|
+
![16000, 48000].includes(sampleRate) ||
|
|
63
|
+
bytes.readUInt16LE(14) !== 16 ||
|
|
64
|
+
bytes.readUInt16LE(12) !== channels * 2 ||
|
|
65
|
+
bytes.readUInt32LE(8) !== sampleRate * channels * 2 ||
|
|
66
|
+
(length === 18 && bytes.readUInt16LE(16) !== 0))
|
|
67
|
+
invalid();
|
|
68
|
+
format = { sampleRate: sampleRate, channels: channels };
|
|
69
|
+
}
|
|
70
|
+
else if (kind === "data") {
|
|
71
|
+
if (data || !length)
|
|
72
|
+
invalid();
|
|
73
|
+
data = { offset: start, size: length };
|
|
74
|
+
}
|
|
75
|
+
at = next;
|
|
76
|
+
}
|
|
77
|
+
if (!format || !data || data.size % (format.channels * 2) !== 0)
|
|
78
|
+
return invalid();
|
|
79
|
+
const frames = data.size / (format.channels * 2);
|
|
80
|
+
if (Math.ceil((frames * 1000) / format.sampleRate) > options.maxDurationMs)
|
|
81
|
+
throw new ZoomError("validation_error", "WAV exceeds the configured duration limit");
|
|
82
|
+
return { ...format, dataOffset: data.offset, dataSize: data.size, frames };
|
|
83
|
+
};
|
|
84
|
+
const hashRange = async (file, hash, start, end, signal) => {
|
|
85
|
+
let at = start;
|
|
86
|
+
while (at < end) {
|
|
87
|
+
const bytes = await exact(file, at, Math.min(65536, end - at), signal);
|
|
88
|
+
hash.update(bytes);
|
|
89
|
+
at += bytes.length;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
const hashFile = async (file, size, signal) => {
|
|
93
|
+
const hash = createHash("sha256");
|
|
94
|
+
await hashRange(file, hash, 0, size, signal);
|
|
95
|
+
if ((await file.stat()).size !== size)
|
|
96
|
+
throw new ZoomError("validation_error", "WAV changed while verifying its content");
|
|
97
|
+
return hash.digest("hex");
|
|
98
|
+
};
|
|
99
|
+
export const preflightWavAudio = async (path, input) => {
|
|
100
|
+
const options = { ...input };
|
|
101
|
+
validate(options);
|
|
102
|
+
if (typeof path !== "string" || !path.trim() || /\0/.test(path))
|
|
103
|
+
throw new ZoomError("validation_error", "local audio file is required");
|
|
104
|
+
const absolute = resolve(path);
|
|
105
|
+
const file = await openOrdinaryFile(absolute);
|
|
106
|
+
try {
|
|
107
|
+
const stat = await file.stat({ bigint: true });
|
|
108
|
+
const size = Number(stat.size);
|
|
109
|
+
const layout = await layoutOf(file, size, options);
|
|
110
|
+
const contentHash = await hashFile(file, size, options.signal);
|
|
111
|
+
const after = await file.stat({ bigint: true });
|
|
112
|
+
if (stat.size !== after.size || stat.mtimeNs !== after.mtimeNs)
|
|
113
|
+
throw new ZoomError("validation_error", "WAV changed while preparing the transcription");
|
|
114
|
+
const media = Object.freeze({
|
|
115
|
+
id: createHash("sha256").update(basename(absolute)).digest("hex"),
|
|
116
|
+
contentHash,
|
|
117
|
+
size,
|
|
118
|
+
durationMs: Math.ceil((layout.frames * 1000) / layout.sampleRate),
|
|
119
|
+
format: "wav",
|
|
120
|
+
sampleRate: layout.sampleRate,
|
|
121
|
+
channels: layout.channels,
|
|
122
|
+
});
|
|
123
|
+
const plan = Object.freeze({ media });
|
|
124
|
+
prepared.set(plan, { path: absolute, dev: stat.dev, ino: stat.ino, layout });
|
|
125
|
+
return plan;
|
|
126
|
+
}
|
|
127
|
+
finally {
|
|
128
|
+
await file.close();
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
export const openWavAudio = async (plan, input) => {
|
|
132
|
+
const options = { ...input };
|
|
133
|
+
validate(options);
|
|
134
|
+
const known = prepared.get(plan);
|
|
135
|
+
if (!known)
|
|
136
|
+
throw new ZoomError("validation_error", "audio plan was not prepared by this adapter");
|
|
137
|
+
const file = await openOrdinaryFile(known.path);
|
|
138
|
+
try {
|
|
139
|
+
const stat = await file.stat({ bigint: true });
|
|
140
|
+
if (stat.dev !== known.dev || stat.ino !== known.ino || Number(stat.size) !== plan.media.size)
|
|
141
|
+
throw new ZoomError("validation_error", "WAV identity changed before transcription");
|
|
142
|
+
const layout = await layoutOf(file, plan.media.size, options);
|
|
143
|
+
if (JSON.stringify(layout) !== JSON.stringify(known.layout) ||
|
|
144
|
+
(await hashFile(file, plan.media.size, options.signal)) !== plan.media.contentHash)
|
|
145
|
+
throw new ZoomError("validation_error", "WAV content changed before transcription");
|
|
146
|
+
let closed = false;
|
|
147
|
+
let consumed = false;
|
|
148
|
+
return {
|
|
149
|
+
async *windows() {
|
|
150
|
+
if (closed || consumed)
|
|
151
|
+
throw new ZoomError("configuration_error", "audio source can be consumed once before closing");
|
|
152
|
+
consumed = true;
|
|
153
|
+
const hash = createHash("sha256");
|
|
154
|
+
await hashRange(file, hash, 0, layout.dataOffset, options.signal);
|
|
155
|
+
const step = layout.sampleRate / 16000;
|
|
156
|
+
for (let frame = 0; frame < layout.frames;) {
|
|
157
|
+
checkCancelled(options.signal);
|
|
158
|
+
const count = Math.min(layout.sampleRate * 30, layout.frames - frame);
|
|
159
|
+
const bytes = await exact(file, layout.dataOffset + frame * layout.channels * 2, count * layout.channels * 2, options.signal);
|
|
160
|
+
hash.update(bytes);
|
|
161
|
+
const samples = new Float32Array(Math.floor(count / step));
|
|
162
|
+
for (let index = 0; index < samples.length; index++) {
|
|
163
|
+
let sum = 0;
|
|
164
|
+
for (let offset = 0; offset < step; offset++)
|
|
165
|
+
for (let channel = 0; channel < layout.channels; channel++)
|
|
166
|
+
sum += bytes.readInt16LE(((index * step + offset) * layout.channels + channel) * 2);
|
|
167
|
+
samples[index] = sum / (32768 * step * layout.channels);
|
|
168
|
+
}
|
|
169
|
+
const startMs = Math.floor((frame * 1000) / layout.sampleRate);
|
|
170
|
+
frame += count;
|
|
171
|
+
if (samples.length)
|
|
172
|
+
yield { startMs, endMs: Math.ceil((frame * 1000) / layout.sampleRate), samples };
|
|
173
|
+
}
|
|
174
|
+
await hashRange(file, hash, layout.dataOffset + layout.dataSize, plan.media.size, options.signal);
|
|
175
|
+
if (hash.digest("hex") !== plan.media.contentHash || (await file.stat()).size !== plan.media.size)
|
|
176
|
+
throw new ZoomError("validation_error", "WAV changed during recognition; no transcript may be stored");
|
|
177
|
+
},
|
|
178
|
+
async close() {
|
|
179
|
+
if (!closed) {
|
|
180
|
+
closed = true;
|
|
181
|
+
await file.close();
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
await file.close();
|
|
188
|
+
throw error;
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
//# sourceMappingURL=wav-audio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wav-audio.js","sourceRoot":"","sources":["../src/wav-audio.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.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Zoom cloud recording archives, persistent transcripts and meeting tools",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"@modelcontextprotocol/sdk": "1.32.1",
|
|
55
55
|
"@wirecat/cli-core": "0.19.4",
|
|
56
|
-
"@wirecat/cli-meetings": "0.
|
|
57
|
-
"@wirecat/cli-messaging": "0.
|
|
56
|
+
"@wirecat/cli-meetings": "0.4.1",
|
|
57
|
+
"@wirecat/cli-messaging": "0.234.0",
|
|
58
58
|
"commander": "15.0.0"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|