@openclaw/google-meet 2026.7.1-beta.1 → 2026.7.1-beta.2
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.
|
@@ -598,6 +598,15 @@ function buildGoogleMeetPreflightReport(params) {
|
|
|
598
598
|
}
|
|
599
599
|
//#endregion
|
|
600
600
|
//#region extensions/google-meet/src/transports/chrome-browser-proxy.ts
|
|
601
|
+
function forceMeetEnglishUi(url) {
|
|
602
|
+
try {
|
|
603
|
+
const parsed = new URL(url);
|
|
604
|
+
parsed.searchParams.set("hl", "en");
|
|
605
|
+
return parsed.toString();
|
|
606
|
+
} catch {
|
|
607
|
+
return url;
|
|
608
|
+
}
|
|
609
|
+
}
|
|
601
610
|
function normalizeMeetUrlForReuse(url) {
|
|
602
611
|
if (!url) return;
|
|
603
612
|
try {
|
|
@@ -819,7 +828,9 @@ const CREATE_MEET_FROM_BROWSER_SCRIPT = `async () => {
|
|
|
819
828
|
}
|
|
820
829
|
const href = current();
|
|
821
830
|
if (meetUrlPattern.test(href)) {
|
|
822
|
-
|
|
831
|
+
// The /new redirect keeps the hl=en param we open with; strip query/hash so the
|
|
832
|
+
// meeting link handed to users stays canonical instead of forcing English on them.
|
|
833
|
+
return { meetingUri: href.split(/[?#]/)[0], browserUrl: href, browserTitle: document.title, notes };
|
|
823
834
|
}
|
|
824
835
|
const pageText = text(document.body);
|
|
825
836
|
if (clickButton(/\\buse microphone\\b/i, "Accepted Meet microphone prompt with browser automation.")) {
|
|
@@ -898,7 +909,7 @@ async function createMeetWithBrowserProxyOnNode(params) {
|
|
|
898
909
|
nodeId,
|
|
899
910
|
method: "POST",
|
|
900
911
|
path: "/tabs/open",
|
|
901
|
-
body: { url: GOOGLE_MEET_NEW_URL },
|
|
912
|
+
body: { url: forceMeetEnglishUi(GOOGLE_MEET_NEW_URL) },
|
|
902
913
|
timeoutMs: stepTimeoutMs
|
|
903
914
|
}));
|
|
904
915
|
const targetId = tab?.targetId;
|
|
@@ -952,4 +963,4 @@ async function createMeetWithBrowserProxyOnNode(params) {
|
|
|
952
963
|
throw new Error(lastResult?.manualAction ?? `Google Meet did not return a meeting URL from the browser create flow before timeout.${lastError ? ` Last browser automation error: ${formatBrowserAutomationError(lastError)}` : ""}`);
|
|
953
964
|
}
|
|
954
965
|
//#endregion
|
|
955
|
-
export {
|
|
966
|
+
export { fetchLatestGoogleMeetConferenceRecord as _, forceMeetEnglishUi as a, readBrowserTab as c, buildGoogleMeetPreflightReport as d, createGoogleMeetSpace as f, fetchGoogleMeetSpace as g, fetchGoogleMeetAttendance as h, callBrowserProxyOnNode as i, resolveChromeNode as l, fetchGoogleMeetArtifacts as m, isGoogleMeetBrowserManualActionError as n, isSameMeetUrlForReuse as o, endGoogleMeetActiveConference as p, asBrowserTabs as r, normalizeMeetUrlForReuse as s, createMeetWithBrowserProxyOnNode as t, resolveChromeNodeInfo as u };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as buildGoogleMeetCalendarDayWindow, i as resolveGoogleMeetGatewayOperationTimeoutMs, o as findGoogleMeetCalendarEvent, s as listGoogleMeetCalendarEvents } from "./config-D_YKxh0m.js";
|
|
2
|
-
import {
|
|
2
|
+
import { _ as fetchLatestGoogleMeetConferenceRecord, d as buildGoogleMeetPreflightReport, f as createGoogleMeetSpace, g as fetchGoogleMeetSpace, h as fetchGoogleMeetAttendance, m as fetchGoogleMeetArtifacts, p as endGoogleMeetActiveConference } from "./chrome-create-C1akZT_q.js";
|
|
3
3
|
import { buildGoogleMeetAuthUrl, createGoogleMeetOAuthState, createGoogleMeetPkce, exchangeGoogleMeetAuthCode, resolveGoogleMeetAccessToken, waitForGoogleMeetAuthCode } from "./oauth-DK1mwF2i.js";
|
|
4
|
-
import { hasCreateSpaceConfigInput, resolveCreateSpaceConfig } from "./create-
|
|
4
|
+
import { hasCreateSpaceConfigInput, resolveCreateSpaceConfig } from "./create-CHlW2v6-.js";
|
|
5
5
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
6
6
|
import { callGatewayFromCli } from "openclaw/plugin-sdk/gateway-runtime";
|
|
7
7
|
import { clampTimerTimeoutMs, parseStrictPositiveInteger } from "openclaw/plugin-sdk/number-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { f as createGoogleMeetSpace, t as createMeetWithBrowserProxyOnNode } from "./chrome-create-C1akZT_q.js";
|
|
2
2
|
import { resolveGoogleMeetAccessToken } from "./oauth-DK1mwF2i.js";
|
|
3
3
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
4
4
|
//#region extensions/google-meet/src/create.ts
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { a as buildGoogleMeetCalendarDayWindow, i as resolveGoogleMeetGatewayOperationTimeoutMs, n as DEFAULT_GOOGLE_MEET_AUDIO_OUTPUT_COMMAND, o as findGoogleMeetCalendarEvent, r as resolveGoogleMeetConfig, s as listGoogleMeetCalendarEvents, t as DEFAULT_GOOGLE_MEET_AUDIO_INPUT_COMMAND } from "./config-D_YKxh0m.js";
|
|
2
|
-
import { a as
|
|
2
|
+
import { _ as fetchLatestGoogleMeetConferenceRecord, a as forceMeetEnglishUi, c as readBrowserTab, d as buildGoogleMeetPreflightReport, g as fetchGoogleMeetSpace, h as fetchGoogleMeetAttendance, i as callBrowserProxyOnNode, l as resolveChromeNode, m as fetchGoogleMeetArtifacts, n as isGoogleMeetBrowserManualActionError, o as isSameMeetUrlForReuse, p as endGoogleMeetActiveConference, r as asBrowserTabs, s as normalizeMeetUrlForReuse, t as createMeetWithBrowserProxyOnNode, u as resolveChromeNodeInfo } from "./chrome-create-C1akZT_q.js";
|
|
3
3
|
import { optionalPositiveIntegerSchema, readPositiveIntegerParam } from "openclaw/plugin-sdk/channel-actions";
|
|
4
4
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
5
5
|
import { ErrorCodes, GatewayClient, callGatewayFromCli, errorShape, startGatewayClientWhenEventLoopReady } from "openclaw/plugin-sdk/gateway-runtime";
|
|
6
|
+
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
6
7
|
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
|
|
7
8
|
import { asRecord, normalizeOptionalString, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
8
9
|
import { Type } from "typebox";
|
|
@@ -2389,7 +2390,7 @@ function meetStatusScript(params) {
|
|
|
2389
2390
|
notes.push("Muted Meet microphone for observe-only mode.");
|
|
2390
2391
|
}
|
|
2391
2392
|
const join = !readOnly && ${JSON.stringify(params.autoJoin)}
|
|
2392
|
-
? findButton(/join now|ask to join/i)
|
|
2393
|
+
? findButton(/join now|ask to join|join here too/i)
|
|
2393
2394
|
: null;
|
|
2394
2395
|
if (join) join.click();
|
|
2395
2396
|
const microphoneChoice = findButton(/\\buse microphone\\b/i);
|
|
@@ -2623,7 +2624,7 @@ async function openMeetWithBrowserRequest(params) {
|
|
|
2623
2624
|
tab = readBrowserTab(await params.callBrowser({
|
|
2624
2625
|
method: "POST",
|
|
2625
2626
|
path: "/tabs/open",
|
|
2626
|
-
body: { url: params.url },
|
|
2627
|
+
body: { url: forceMeetEnglishUi(params.url) },
|
|
2627
2628
|
timeoutMs
|
|
2628
2629
|
}));
|
|
2629
2630
|
targetId = tab?.targetId;
|
|
@@ -3867,16 +3868,8 @@ function createGoogleMeetChromeNodeInvokePolicy(config) {
|
|
|
3867
3868
|
}
|
|
3868
3869
|
//#endregion
|
|
3869
3870
|
//#region extensions/google-meet/index.ts
|
|
3870
|
-
|
|
3871
|
-
|
|
3872
|
-
const loadGoogleMeetCreateModule = async () => {
|
|
3873
|
-
googleMeetCreateModulePromise ??= import("./create-9bdDXOHB.js");
|
|
3874
|
-
return await googleMeetCreateModulePromise;
|
|
3875
|
-
};
|
|
3876
|
-
const loadGoogleMeetCliModule = async () => {
|
|
3877
|
-
googleMeetCliModulePromise ??= import("./cli-D-HGF-yt.js");
|
|
3878
|
-
return await googleMeetCliModulePromise;
|
|
3879
|
-
};
|
|
3871
|
+
const loadGoogleMeetCreateModule = createLazyRuntimeModule(() => import("./create-CHlW2v6-.js"));
|
|
3872
|
+
const loadGoogleMeetCliModule = createLazyRuntimeModule(() => import("./cli-BXICNPAs.js"));
|
|
3880
3873
|
const googleMeetConfigSchema = {
|
|
3881
3874
|
parse(value) {
|
|
3882
3875
|
return resolveGoogleMeetConfig(value);
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/google-meet",
|
|
3
|
-
"version": "2026.7.1-beta.
|
|
3
|
+
"version": "2026.7.1-beta.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@openclaw/google-meet",
|
|
9
|
-
"version": "2026.7.1-beta.
|
|
9
|
+
"version": "2026.7.1-beta.2",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"commander": "14.0.3",
|
|
12
12
|
"typebox": "1.1.39"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"openclaw": ">=2026.7.1-beta.
|
|
15
|
+
"openclaw": ">=2026.7.1-beta.2"
|
|
16
16
|
},
|
|
17
17
|
"peerDependenciesMeta": {
|
|
18
18
|
"openclaw": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/google-meet",
|
|
3
|
-
"version": "2026.7.1-beta.
|
|
3
|
+
"version": "2026.7.1-beta.2",
|
|
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.7.1-beta.
|
|
15
|
+
"openclaw": ">=2026.7.1-beta.2"
|
|
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.7.1-beta.
|
|
32
|
+
"pluginApi": ">=2026.7.1-beta.2"
|
|
33
33
|
},
|
|
34
34
|
"build": {
|
|
35
|
-
"openclawVersion": "2026.7.1-beta.
|
|
35
|
+
"openclawVersion": "2026.7.1-beta.2"
|
|
36
36
|
},
|
|
37
37
|
"release": {
|
|
38
38
|
"publishToClawHub": true,
|