@openclaw/google-meet 2026.6.8 → 2026.6.9-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +24 -42
- package/npm-shrinkwrap.json +3 -3
- package/openclaw.plugin.json +4 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -655,6 +655,24 @@ function handleGoogleMeetRealtimeConsultToolCall(params) {
|
|
|
655
655
|
}
|
|
656
656
|
//#endregion
|
|
657
657
|
//#region extensions/google-meet/src/realtime.ts
|
|
658
|
+
function terminateBridgeProcess(proc, signal = "SIGTERM") {
|
|
659
|
+
if (proc.killed && signal !== "SIGKILL") return;
|
|
660
|
+
let exited = false;
|
|
661
|
+
proc.on("exit", () => {
|
|
662
|
+
exited = true;
|
|
663
|
+
});
|
|
664
|
+
try {
|
|
665
|
+
proc.kill(signal);
|
|
666
|
+
} catch {
|
|
667
|
+
return;
|
|
668
|
+
}
|
|
669
|
+
if (signal === "SIGKILL") return;
|
|
670
|
+
setTimeout(() => {
|
|
671
|
+
if (!exited) try {
|
|
672
|
+
proc.kill("SIGKILL");
|
|
673
|
+
} catch {}
|
|
674
|
+
}, 1e3).unref?.();
|
|
675
|
+
}
|
|
658
676
|
const recordGoogleMeetRealtimeTranscript = recordRealtimeVoiceTranscript;
|
|
659
677
|
function getGoogleMeetRealtimeTranscriptHealth(transcript) {
|
|
660
678
|
return getRealtimeVoiceTranscriptHealth(transcript);
|
|
@@ -914,24 +932,6 @@ async function startCommandAgentAudioBridge(params) {
|
|
|
914
932
|
providerConfig: resolved.providerConfig,
|
|
915
933
|
audioFormat: params.config.chrome.audioFormat
|
|
916
934
|
}));
|
|
917
|
-
const terminateProcess = (proc, signal = "SIGTERM") => {
|
|
918
|
-
if (proc.killed && signal !== "SIGKILL") return;
|
|
919
|
-
let exited = false;
|
|
920
|
-
proc.on("exit", () => {
|
|
921
|
-
exited = true;
|
|
922
|
-
});
|
|
923
|
-
try {
|
|
924
|
-
proc.kill(signal);
|
|
925
|
-
} catch {
|
|
926
|
-
return;
|
|
927
|
-
}
|
|
928
|
-
if (signal === "SIGKILL") return;
|
|
929
|
-
setTimeout(() => {
|
|
930
|
-
if (!exited) try {
|
|
931
|
-
proc.kill("SIGKILL");
|
|
932
|
-
} catch {}
|
|
933
|
-
}, 1e3).unref?.();
|
|
934
|
-
};
|
|
935
935
|
const stop = async () => {
|
|
936
936
|
if (stopped) return;
|
|
937
937
|
stopped = true;
|
|
@@ -946,8 +946,8 @@ async function startCommandAgentAudioBridge(params) {
|
|
|
946
946
|
final: true,
|
|
947
947
|
payload: { meetingSessionId: params.meetingSessionId }
|
|
948
948
|
});
|
|
949
|
-
|
|
950
|
-
|
|
949
|
+
terminateBridgeProcess(inputProcess);
|
|
950
|
+
terminateBridgeProcess(outputProcess);
|
|
951
951
|
};
|
|
952
952
|
const fail = (label) => (error) => {
|
|
953
953
|
params.logger.warn(`[google-meet] ${label} failed: ${formatErrorMessage(error)}`);
|
|
@@ -1206,24 +1206,6 @@ async function startCommandRealtimeAudioBridge(params) {
|
|
|
1206
1206
|
suppressInputUntil = suppression.suppressInputUntilMs;
|
|
1207
1207
|
lastOutputPlayableUntilMs = suppression.lastOutputPlayableUntilMs;
|
|
1208
1208
|
};
|
|
1209
|
-
const terminateProcess = (proc, signal = "SIGTERM") => {
|
|
1210
|
-
if (proc.killed && signal !== "SIGKILL") return;
|
|
1211
|
-
let exited = false;
|
|
1212
|
-
proc.on("exit", () => {
|
|
1213
|
-
exited = true;
|
|
1214
|
-
});
|
|
1215
|
-
try {
|
|
1216
|
-
proc.kill(signal);
|
|
1217
|
-
} catch {
|
|
1218
|
-
return;
|
|
1219
|
-
}
|
|
1220
|
-
if (signal === "SIGKILL") return;
|
|
1221
|
-
setTimeout(() => {
|
|
1222
|
-
if (!exited) try {
|
|
1223
|
-
proc.kill("SIGKILL");
|
|
1224
|
-
} catch {}
|
|
1225
|
-
}, 1e3).unref?.();
|
|
1226
|
-
};
|
|
1227
1209
|
const stop = async () => {
|
|
1228
1210
|
if (stopped) return;
|
|
1229
1211
|
stopped = true;
|
|
@@ -1233,9 +1215,9 @@ async function startCommandRealtimeAudioBridge(params) {
|
|
|
1233
1215
|
} catch (error) {
|
|
1234
1216
|
params.logger.debug?.(`[google-meet] realtime voice bridge close ignored: ${formatErrorMessage(error)}`);
|
|
1235
1217
|
}
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
if (bargeInInputProcess)
|
|
1218
|
+
terminateBridgeProcess(inputProcess);
|
|
1219
|
+
terminateBridgeProcess(outputProcess);
|
|
1220
|
+
if (bargeInInputProcess) terminateBridgeProcess(bargeInInputProcess);
|
|
1239
1221
|
};
|
|
1240
1222
|
const fail = (label) => (error) => {
|
|
1241
1223
|
params.logger.warn(`[google-meet] ${label} failed: ${formatErrorMessage(error)}`);
|
|
@@ -1271,7 +1253,7 @@ async function startCommandRealtimeAudioBridge(params) {
|
|
|
1271
1253
|
suppressInputUntil = 0;
|
|
1272
1254
|
lastOutputPlayableUntilMs = 0;
|
|
1273
1255
|
params.logger.debug?.(`[google-meet] cleared realtime audio output buffer by restarting playback command`);
|
|
1274
|
-
|
|
1256
|
+
terminateBridgeProcess(previousOutput, "SIGKILL");
|
|
1275
1257
|
};
|
|
1276
1258
|
const writeOutputAudio = (audio) => {
|
|
1277
1259
|
try {
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/google-meet",
|
|
3
|
-
"version": "2026.6.
|
|
3
|
+
"version": "2026.6.9-beta.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@openclaw/google-meet",
|
|
9
|
-
"version": "2026.6.
|
|
9
|
+
"version": "2026.6.9-beta.1",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"commander": "14.0.3",
|
|
12
12
|
"typebox": "1.1.39"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"openclaw": ">=2026.6.
|
|
15
|
+
"openclaw": ">=2026.6.9-beta.1"
|
|
16
16
|
},
|
|
17
17
|
"peerDependenciesMeta": {
|
|
18
18
|
"openclaw": {
|
package/openclaw.plugin.json
CHANGED
|
@@ -527,6 +527,9 @@
|
|
|
527
527
|
}
|
|
528
528
|
},
|
|
529
529
|
"configContracts": {
|
|
530
|
-
"compatibilityMigrationPaths": ["plugins.entries.google-meet.config.realtime.provider"]
|
|
530
|
+
"compatibilityMigrationPaths": ["plugins.entries.google-meet.config.realtime.provider"],
|
|
531
|
+
"secretInputs": {
|
|
532
|
+
"paths": [{ "path": "realtime.providers.*.apiKey", "expected": "string" }]
|
|
533
|
+
}
|
|
531
534
|
}
|
|
532
535
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/google-meet",
|
|
3
|
-
"version": "2026.6.
|
|
3
|
+
"version": "2026.6.9-beta.1",
|
|
4
4
|
"description": "OpenClaw Google Meet participant plugin for joining calls through Chrome or Twilio transports.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"typebox": "1.1.39"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"openclaw": ">=2026.6.
|
|
15
|
+
"openclaw": ">=2026.6.9-beta.1"
|
|
16
16
|
},
|
|
17
17
|
"peerDependenciesMeta": {
|
|
18
18
|
"openclaw": {
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
"minHostVersion": ">=2026.4.20"
|
|
30
30
|
},
|
|
31
31
|
"compat": {
|
|
32
|
-
"pluginApi": ">=2026.6.
|
|
32
|
+
"pluginApi": ">=2026.6.9-beta.1"
|
|
33
33
|
},
|
|
34
34
|
"build": {
|
|
35
|
-
"openclawVersion": "2026.6.
|
|
35
|
+
"openclawVersion": "2026.6.9-beta.1"
|
|
36
36
|
},
|
|
37
37
|
"release": {
|
|
38
38
|
"publishToClawHub": true,
|