@openclaw/google-meet 2026.9.8 → 2026.10.1-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/.setup/{chrome-create-wuAK5Pnq.mjs → chrome-create-Bh1L33pr.mjs} +20 -57
- package/dist/.setup/{cli-DVDq0TFu.mjs → cli-Bfm5LpNM.mjs} +63 -143
- package/dist/.setup/{cli-export-D4IM6KLJ.mjs → cli-export-BOebaVFW.mjs} +52 -57
- package/dist/.setup/{create-UrHOmnWb.mjs → create-DyYbmN11.mjs} +3 -3
- package/dist/.setup/google-api-DEZ9mWx7.mjs +50 -0
- package/dist/.setup/{google-meet-platform-adapter-gosgbMIM.mjs → google-meet-platform-adapter-CKXMbP3X.mjs} +1 -1
- package/dist/.setup/{node-host-Tr7Mx3da.mjs → node-host-CyFclhO_.mjs} +1 -1
- package/dist/.setup/{node-invoke-policy-Dd3krTYV.mjs → node-invoke-policy-BnX3PaH7.mjs} +3 -4
- package/dist/.setup/{oauth-BoyruWcS.mjs → oauth-XgdPFWEJ.mjs} +1 -1
- package/dist/.setup/{plugin-helpers-CdQ_YNA7.mjs → plugin-helpers-D1OyyzEZ.mjs} +85 -201
- package/dist/.setup/{plugin-registration-aCEuCerg.mjs → plugin-registration-BP83dqMw.mjs} +23 -31
- package/dist/.setup/{runtime-BdiF53A2.mjs → runtime-DQgxZ2Na.mjs} +16 -67
- package/dist/index.js +4 -4
- package/package.json +4 -4
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { n as GOOGLE_MEET_NODE_COMMAND, t as GOOGLE_MEET_BROWSER_NODE_ADAPTER } from "./google-meet-platform-constants-CnRfrYX7.mjs";
|
|
2
2
|
import { t as normalizeMeetUrl } from "./meet-url-BP2Jlvjs.mjs";
|
|
3
|
-
import { c as callBrowserProxyOnNode, l as resolveChromeNode, u as resolveChromeNodeInfo } from "./chrome-create-
|
|
4
|
-
import { n as normalizeDialInNumber, t as GOOGLE_MEET_PLATFORM_ADAPTER } from "./google-meet-platform-adapter-
|
|
3
|
+
import { c as callBrowserProxyOnNode, l as resolveChromeNode, u as resolveChromeNodeInfo } from "./chrome-create-Bh1L33pr.mjs";
|
|
4
|
+
import { n as normalizeDialInNumber, t as GOOGLE_MEET_PLATFORM_ADAPTER } from "./google-meet-platform-adapter-CKXMbP3X.mjs";
|
|
5
5
|
import { asOptionalRecord, asRecord, normalizeOptionalString, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
6
6
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import { isBlockedHostnameOrIp } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
9
9
|
import { GatewayClient, startGatewayClientWhenEventLoopReady } from "openclaw/plugin-sdk/gateway-runtime";
|
|
10
|
-
import {
|
|
10
|
+
import { raceWithTimeout } from "openclaw/plugin-sdk/time-runtime";
|
|
11
|
+
import { MeetingPlatformAdapter, MeetingSessionRuntime, addMeetingSetupCheck, createMeetingSession, createMeetingSetupStatus, createMeetingVoiceCallGateway, endMeetingVoiceCallGatewayCall, getMeetingVoiceCallGatewayCall, isMeetingVoiceCallMissingError, joinMeetingViaVoiceCallGateway, leaveMeetingWithBrowser, readMeetingTranscriptWithBrowser, recoverMeetingBrowserTab, resolveLocalMeetingBrowserRequest, speakMeetingViaVoiceCallGateway } from "openclaw/plugin-sdk/meeting-runtime";
|
|
11
12
|
import { resolveDefaultAgentId } from "openclaw/plugin-sdk/agent-runtime";
|
|
12
13
|
import { normalizeAgentId } from "openclaw/plugin-sdk/routing";
|
|
13
14
|
import fs from "node:fs";
|
|
@@ -380,44 +381,6 @@ async function getGoogleMeetRuntimeSetupStatus(params) {
|
|
|
380
381
|
});
|
|
381
382
|
}
|
|
382
383
|
//#endregion
|
|
383
|
-
//#region extensions/google-meet/src/transports/chrome-participation.ts
|
|
384
|
-
async function participateInChromeMeet(params) {
|
|
385
|
-
const adapter = GOOGLE_MEET_PLATFORM_ADAPTER.browser.participation;
|
|
386
|
-
const { session } = params;
|
|
387
|
-
const tab = session.chrome?.browserTab;
|
|
388
|
-
if (!adapter || !tab || session.transport !== "chrome" && session.transport !== "chrome-node") return {
|
|
389
|
-
status: "unsupported",
|
|
390
|
-
message: "Participation requires a supported tracked browser meeting."
|
|
391
|
-
};
|
|
392
|
-
const { nodeId } = session.chrome ?? {};
|
|
393
|
-
const meetingSessionId = session.id;
|
|
394
|
-
const meetingUrl = session.url;
|
|
395
|
-
const targetId = tab.targetId;
|
|
396
|
-
if (session.transport === "chrome-node" && nodeId === void 0) return {
|
|
397
|
-
status: "rejected",
|
|
398
|
-
message: "The meeting has no pinned browser node."
|
|
399
|
-
};
|
|
400
|
-
params.assertCurrent();
|
|
401
|
-
const callBrowser = session.transport === "chrome-node" ? (request) => callBrowserProxyOnNode({
|
|
402
|
-
...request,
|
|
403
|
-
runtime: params.runtime,
|
|
404
|
-
nodeId
|
|
405
|
-
}) : await resolveLocalMeetingBrowserRequest(params.runtime);
|
|
406
|
-
params.assertCurrent();
|
|
407
|
-
return await runMeetingParticipationWithBrowser({
|
|
408
|
-
adapter,
|
|
409
|
-
callBrowser,
|
|
410
|
-
meetingSessionId,
|
|
411
|
-
meetingUrl,
|
|
412
|
-
targetId,
|
|
413
|
-
requestId: params.request.requestId,
|
|
414
|
-
action: params.request.action,
|
|
415
|
-
assertCurrent: () => params.assertCurrent(),
|
|
416
|
-
isSameMeetingUrl: (left, right) => GOOGLE_MEET_PLATFORM_ADAPTER.urls.isSameMeeting(left, right),
|
|
417
|
-
timeoutMs: Math.min(1e4, params.config.chrome.joinTimeoutMs)
|
|
418
|
-
});
|
|
419
|
-
}
|
|
420
|
-
//#endregion
|
|
421
384
|
//#region extensions/google-meet/src/voice-call-gateway.ts
|
|
422
385
|
const GOOGLE_MEET_VOICE_CALL_SURFACE = {
|
|
423
386
|
clientDisplayName: "Google Meet plugin",
|
|
@@ -429,13 +392,8 @@ const GOOGLE_MEET_VOICE_CALL_SURFACE = {
|
|
|
429
392
|
async function createConnectedGatewayClient(params) {
|
|
430
393
|
let client;
|
|
431
394
|
const abortStart = new AbortController();
|
|
432
|
-
let timer;
|
|
433
395
|
try {
|
|
434
|
-
await new Promise((resolve, reject) => {
|
|
435
|
-
timer = setTimeout(() => {
|
|
436
|
-
abortStart.abort();
|
|
437
|
-
reject(/* @__PURE__ */ new Error("gateway connect timeout"));
|
|
438
|
-
}, params.config.requestTimeoutMs);
|
|
396
|
+
await raceWithTimeout(() => new Promise((resolve, reject) => {
|
|
439
397
|
client = new GatewayClient({
|
|
440
398
|
url: params.config.gatewayUrl,
|
|
441
399
|
token: params.config.token,
|
|
@@ -443,32 +401,26 @@ async function createConnectedGatewayClient(params) {
|
|
|
443
401
|
clientName: "cli",
|
|
444
402
|
clientDisplayName: params.surface.clientDisplayName,
|
|
445
403
|
scopes: ["operator.write"],
|
|
446
|
-
onHelloOk: () =>
|
|
447
|
-
clearTimeout(timer);
|
|
448
|
-
resolve();
|
|
449
|
-
},
|
|
404
|
+
onHelloOk: () => resolve(),
|
|
450
405
|
onConnectError: (error) => {
|
|
451
|
-
clearTimeout(timer);
|
|
452
406
|
abortStart.abort();
|
|
453
|
-
reject(error);
|
|
407
|
+
reject(error instanceof Error ? error : new Error(String(error)));
|
|
454
408
|
}
|
|
455
409
|
});
|
|
456
410
|
startGatewayClientWhenEventLoopReady(client, {
|
|
457
411
|
timeoutMs: params.config.requestTimeoutMs,
|
|
458
412
|
signal: abortStart.signal
|
|
459
413
|
}).then((readiness) => {
|
|
460
|
-
if (!readiness.ready && !readiness.aborted)
|
|
461
|
-
clearTimeout(timer);
|
|
462
|
-
reject(/* @__PURE__ */ new Error("gateway event loop readiness timeout"));
|
|
463
|
-
}
|
|
414
|
+
if (!readiness.ready && !readiness.aborted) reject(/* @__PURE__ */ new Error("gateway event loop readiness timeout"));
|
|
464
415
|
}).catch((error) => {
|
|
465
|
-
clearTimeout(timer);
|
|
466
416
|
reject(error instanceof Error ? error : new Error(String(error)));
|
|
467
417
|
});
|
|
418
|
+
}), params.config.requestTimeoutMs, () => {
|
|
419
|
+
abortStart.abort();
|
|
420
|
+
throw new Error("gateway connect timeout");
|
|
468
421
|
});
|
|
469
422
|
return client;
|
|
470
423
|
} catch (error) {
|
|
471
|
-
clearTimeout(timer);
|
|
472
424
|
abortStart.abort();
|
|
473
425
|
await client?.stopAndWait().catch(() => {});
|
|
474
426
|
throw error;
|
|
@@ -520,14 +472,11 @@ var GoogleMeetRuntime = class {
|
|
|
520
472
|
registerIfAbsent: async (key, attempt) => await getParticipationStore().registerIfAbsent(key, attempt),
|
|
521
473
|
register: async (key, attempt) => await getParticipationStore().register(key, attempt)
|
|
522
474
|
},
|
|
523
|
-
capabilities: (
|
|
524
|
-
validateAction: (
|
|
525
|
-
execute: async (
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
session,
|
|
529
|
-
request,
|
|
530
|
-
assertCurrent
|
|
475
|
+
capabilities: () => [],
|
|
476
|
+
validateAction: () => void 0,
|
|
477
|
+
execute: async () => ({
|
|
478
|
+
status: "unsupported",
|
|
479
|
+
message: "Participation requires a supported tracked browser meeting."
|
|
531
480
|
})
|
|
532
481
|
},
|
|
533
482
|
logger: params.logger,
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as GOOGLE_MEET_CLI_DESCRIPTOR } from "./.setup/cli-output-mode-BwH_6tH8.mjs";
|
|
2
2
|
import { n as GOOGLE_MEET_NODE_COMMAND } from "./.setup/google-meet-platform-constants-CnRfrYX7.mjs";
|
|
3
3
|
import { r as resolveGoogleMeetConfig } from "./.setup/config-BXGAMntj.mjs";
|
|
4
|
-
import { a as formatGoogleMeetGatewayError, c as
|
|
4
|
+
import { a as formatGoogleMeetGatewayError, c as loadGoogleMeetCreateModule, d as normalizeMode, f as normalizeTransport, g as shouldJoinCreatedMeet, h as sendGoogleMeetGatewayError, i as createLazyGoogleMeetNodeInvokePolicy, l as loadGoogleMeetNodeHostModule, m as resolveMeetingInput, n as callGoogleMeetGatewayFromTool, o as keepTrustedToolAgentId, p as readGoogleMeetParticipationParams, r as createGoogleMeetRuntimeAccessor, s as loadGoogleMeetCliModule, t as assertGoogleMeetAgentToolActionSupported, u as loadGoogleMeetPluginHelpers } from "./.setup/plugin-registration-BP83dqMw.mjs";
|
|
5
5
|
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
|
|
6
6
|
import { asNonArrayRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
7
7
|
import { jsonResult } from "openclaw/plugin-sdk/tool-results";
|
|
@@ -194,13 +194,13 @@ var google_meet_default = definePluginEntry({
|
|
|
194
194
|
});
|
|
195
195
|
registerGatewayMethod("googlemeet.create", async ({ params, client, respond }) => {
|
|
196
196
|
const raw = keepTrustedToolAgentId(asNonArrayRecord(params), client);
|
|
197
|
-
const
|
|
198
|
-
respond(true, shouldJoinCreatedMeet(raw) ? await
|
|
197
|
+
const create = await loadGoogleMeetCreateModule();
|
|
198
|
+
respond(true, shouldJoinCreatedMeet(raw) ? await create.createAndJoinMeetFromParams({
|
|
199
199
|
config,
|
|
200
200
|
runtime: api.runtime,
|
|
201
201
|
raw,
|
|
202
202
|
ensureRuntime
|
|
203
|
-
}) : await
|
|
203
|
+
}) : await create.createMeetFromParams({
|
|
204
204
|
config,
|
|
205
205
|
runtime: api.runtime,
|
|
206
206
|
raw
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/google-meet",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.10.1-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.3.34"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"openclaw": ">=2026.
|
|
15
|
+
"openclaw": ">=2026.10.1-beta.1"
|
|
16
16
|
},
|
|
17
17
|
"peerDependenciesMeta": {
|
|
18
18
|
"openclaw": {
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
"minHostVersion": ">=2026.4.20"
|
|
31
31
|
},
|
|
32
32
|
"compat": {
|
|
33
|
-
"pluginApi": ">=2026.
|
|
33
|
+
"pluginApi": ">=2026.10.1-beta.1"
|
|
34
34
|
},
|
|
35
35
|
"build": {
|
|
36
|
-
"openclawVersion": "2026.
|
|
36
|
+
"openclawVersion": "2026.10.1-beta.1"
|
|
37
37
|
},
|
|
38
38
|
"release": {
|
|
39
39
|
"publishToClawHub": true,
|