@openclaw/google-meet 2026.5.28-beta.3 → 2026.5.28-beta.4
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
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# @openclaw/google-meet
|
|
2
|
+
|
|
3
|
+
Official Google Meet participant plugin for OpenClaw.
|
|
4
|
+
|
|
5
|
+
This plugin registers the `google_meet` tool so agents can join Google Meet calls through supported Chrome or Twilio transports.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
openclaw plugins install @openclaw/google-meet
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Restart the Gateway after installing or updating the plugin.
|
|
14
|
+
|
|
15
|
+
## Configure
|
|
16
|
+
|
|
17
|
+
Enable the plugin and follow the Google Meet docs for browser profile, transport, and call-join setup:
|
|
18
|
+
|
|
19
|
+
- https://docs.openclaw.ai/plugins/google-meet
|
|
20
|
+
|
|
21
|
+
## Package
|
|
22
|
+
|
|
23
|
+
- Plugin id: `google-meet`
|
|
24
|
+
- Tool: `google_meet`
|
|
25
|
+
- Package: `@openclaw/google-meet`
|
|
26
|
+
- Minimum OpenClaw host: `2026.4.20`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { d as createGoogleMeetSpace, f as endGoogleMeetActiveConference, g as fetchLatestGoogleMeetConferenceRecord, h as fetchGoogleMeetSpace, m as fetchGoogleMeetAttendance, p as fetchGoogleMeetArtifacts, u as buildGoogleMeetPreflightReport } from "./chrome-create-B3zyjf5f.js";
|
|
2
2
|
import { n as findGoogleMeetCalendarEvent, r as listGoogleMeetCalendarEvents, t as buildGoogleMeetCalendarDayWindow } from "./calendar-IxWkFtfn.js";
|
|
3
|
-
import { buildGoogleMeetAuthUrl, createGoogleMeetOAuthState, createGoogleMeetPkce, exchangeGoogleMeetAuthCode, resolveGoogleMeetAccessToken, waitForGoogleMeetAuthCode } from "./oauth-
|
|
4
|
-
import { hasCreateSpaceConfigInput, resolveCreateSpaceConfig } from "./create-
|
|
3
|
+
import { buildGoogleMeetAuthUrl, createGoogleMeetOAuthState, createGoogleMeetPkce, exchangeGoogleMeetAuthCode, resolveGoogleMeetAccessToken, waitForGoogleMeetAuthCode } from "./oauth-B3tz8JcD.js";
|
|
4
|
+
import { hasCreateSpaceConfigInput, resolveCreateSpaceConfig } from "./create-OMWgK9on.js";
|
|
5
5
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
6
6
|
import { callGatewayFromCli } from "openclaw/plugin-sdk/gateway-runtime";
|
|
7
7
|
import path from "node:path";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { d as createGoogleMeetSpace, t as createMeetWithBrowserProxyOnNode } from "./chrome-create-B3zyjf5f.js";
|
|
2
|
-
import { resolveGoogleMeetAccessToken } from "./oauth-
|
|
2
|
+
import { resolveGoogleMeetAccessToken } from "./oauth-B3tz8JcD.js";
|
|
3
3
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
4
4
|
//#region extensions/google-meet/src/create.ts
|
|
5
5
|
function normalizeTransport(value) {
|
package/dist/index.js
CHANGED
|
@@ -4448,13 +4448,13 @@ async function callGoogleMeetGatewayFromTool(params) {
|
|
|
4448
4448
|
}
|
|
4449
4449
|
}
|
|
4450
4450
|
async function createMeetFromParams(params) {
|
|
4451
|
-
return (await import("./create-
|
|
4451
|
+
return (await import("./create-OMWgK9on.js")).createMeetFromParams(params);
|
|
4452
4452
|
}
|
|
4453
4453
|
async function createAndJoinMeetFromParams(params) {
|
|
4454
|
-
return (await import("./create-
|
|
4454
|
+
return (await import("./create-OMWgK9on.js")).createAndJoinMeetFromParams(params);
|
|
4455
4455
|
}
|
|
4456
4456
|
async function resolveGoogleMeetTokenFromParams(config, raw) {
|
|
4457
|
-
const { resolveGoogleMeetAccessToken } = await import("./oauth-
|
|
4457
|
+
const { resolveGoogleMeetAccessToken } = await import("./oauth-B3tz8JcD.js");
|
|
4458
4458
|
return resolveGoogleMeetAccessToken({
|
|
4459
4459
|
clientId: normalizeOptionalString(raw.clientId) ?? config.oauth.clientId,
|
|
4460
4460
|
clientSecret: normalizeOptionalString(raw.clientSecret) ?? config.oauth.clientSecret,
|
|
@@ -4543,7 +4543,7 @@ async function exportGoogleMeetBundleFromParams(config, raw) {
|
|
|
4543
4543
|
lateAfterMinutes: resolved.lateAfterMinutes,
|
|
4544
4544
|
earlyBeforeMinutes: resolved.earlyBeforeMinutes
|
|
4545
4545
|
})]);
|
|
4546
|
-
const { buildGoogleMeetExportManifest, googleMeetExportFileNames, writeMeetExportBundle } = await import("./cli-
|
|
4546
|
+
const { buildGoogleMeetExportManifest, googleMeetExportFileNames, writeMeetExportBundle } = await import("./cli-Cc7dWaK8.js");
|
|
4547
4547
|
const calendarId = normalizeOptionalString(raw.calendarId);
|
|
4548
4548
|
const request = {
|
|
4549
4549
|
...resolved.meeting ? { meeting: resolved.meeting } : {},
|
|
@@ -4959,7 +4959,7 @@ var google_meet_default = definePluginEntry({
|
|
|
4959
4959
|
handle: handleGoogleMeetNodeHostCommand
|
|
4960
4960
|
});
|
|
4961
4961
|
api.registerCli(async ({ program }) => {
|
|
4962
|
-
const { registerGoogleMeetCli } = await import("./cli-
|
|
4962
|
+
const { registerGoogleMeetCli } = await import("./cli-Cc7dWaK8.js");
|
|
4963
4963
|
registerGoogleMeetCli({
|
|
4964
4964
|
program,
|
|
4965
4965
|
config,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
2
|
+
import { resolveExpiresAtMsFromDurationSeconds } from "openclaw/plugin-sdk/number-runtime";
|
|
2
3
|
import { generateHexPkceVerifierChallenge } from "openclaw/plugin-sdk/provider-auth";
|
|
3
4
|
import { generateOAuthState, parseOAuthCallbackInput, waitForLocalOAuthCallback } from "openclaw/plugin-sdk/provider-auth-runtime";
|
|
4
5
|
//#region extensions/google-meet/src/oauth.ts
|
|
@@ -6,6 +7,7 @@ const GOOGLE_MEET_REDIRECT_URI = "http://localhost:8085/oauth2callback";
|
|
|
6
7
|
const GOOGLE_MEET_AUTH_URL = "https://accounts.google.com/o/oauth2/v2/auth";
|
|
7
8
|
const GOOGLE_MEET_TOKEN_URL = "https://oauth2.googleapis.com/token";
|
|
8
9
|
const GOOGLE_MEET_TOKEN_HOST = "oauth2.googleapis.com";
|
|
10
|
+
const GOOGLE_MEET_DEFAULT_TOKEN_LIFETIME_SECONDS = 3600;
|
|
9
11
|
const GOOGLE_MEET_SCOPES = [
|
|
10
12
|
"https://www.googleapis.com/auth/meetings.space.created",
|
|
11
13
|
"https://www.googleapis.com/auth/meetings.space.readonly",
|
|
@@ -14,6 +16,10 @@ const GOOGLE_MEET_SCOPES = [
|
|
|
14
16
|
"https://www.googleapis.com/auth/calendar.events.readonly",
|
|
15
17
|
"https://www.googleapis.com/auth/drive.meet.readonly"
|
|
16
18
|
];
|
|
19
|
+
function resolveGoogleMeetTokenExpiresAt(value) {
|
|
20
|
+
if (typeof value === "number" && Number.isFinite(value) && value <= 0) return Date.now();
|
|
21
|
+
return resolveExpiresAtMsFromDurationSeconds(value) ?? Date.now() + GOOGLE_MEET_DEFAULT_TOKEN_LIFETIME_SECONDS * 1e3;
|
|
22
|
+
}
|
|
17
23
|
function buildGoogleMeetAuthUrl(params) {
|
|
18
24
|
return `${GOOGLE_MEET_AUTH_URL}?${new URLSearchParams({
|
|
19
25
|
client_id: params.clientId,
|
|
@@ -49,10 +55,9 @@ async function executeGoogleTokenRequest(body) {
|
|
|
49
55
|
const payload = await response.json();
|
|
50
56
|
const accessToken = payload.access_token?.trim();
|
|
51
57
|
if (!accessToken) throw new Error("Google OAuth token response was missing access_token");
|
|
52
|
-
const expiresInSeconds = typeof payload.expires_in === "number" && Number.isFinite(payload.expires_in) ? payload.expires_in : 3600;
|
|
53
58
|
return {
|
|
54
59
|
accessToken,
|
|
55
|
-
expiresAt:
|
|
60
|
+
expiresAt: resolveGoogleMeetTokenExpiresAt(payload.expires_in),
|
|
56
61
|
refreshToken: payload.refresh_token?.trim() || void 0,
|
|
57
62
|
scope: payload.scope?.trim() || void 0,
|
|
58
63
|
tokenType: payload.token_type?.trim() || void 0
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/google-meet",
|
|
3
|
-
"version": "2026.5.28-beta.
|
|
3
|
+
"version": "2026.5.28-beta.4",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@openclaw/google-meet",
|
|
9
|
-
"version": "2026.5.28-beta.
|
|
9
|
+
"version": "2026.5.28-beta.4",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"commander": "14.0.3",
|
|
12
12
|
"typebox": "1.1.38"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"openclaw": ">=2026.5.28-beta.
|
|
15
|
+
"openclaw": ">=2026.5.28-beta.4"
|
|
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.5.28-beta.
|
|
3
|
+
"version": "2026.5.28-beta.4",
|
|
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.38"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"openclaw": ">=2026.5.28-beta.
|
|
15
|
+
"openclaw": ">=2026.5.28-beta.4"
|
|
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.5.28-beta.
|
|
32
|
+
"pluginApi": ">=2026.5.28-beta.4"
|
|
33
33
|
},
|
|
34
34
|
"build": {
|
|
35
|
-
"openclawVersion": "2026.5.28-beta.
|
|
35
|
+
"openclawVersion": "2026.5.28-beta.4"
|
|
36
36
|
},
|
|
37
37
|
"release": {
|
|
38
38
|
"publishToClawHub": true,
|
|
@@ -45,7 +45,8 @@
|
|
|
45
45
|
"files": [
|
|
46
46
|
"dist/**",
|
|
47
47
|
"openclaw.plugin.json",
|
|
48
|
-
"npm-shrinkwrap.json"
|
|
48
|
+
"npm-shrinkwrap.json",
|
|
49
|
+
"README.md"
|
|
49
50
|
],
|
|
50
51
|
"bundledDependencies": [
|
|
51
52
|
"commander",
|