@openclaw/google-meet 2026.5.28-beta.2 → 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-Byt1wS27.js";
4
- import { hasCreateSpaceConfigInput, resolveCreateSpaceConfig } from "./create-Q8KLuYnE.js";
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-Byt1wS27.js";
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-Q8KLuYnE.js")).createMeetFromParams(params);
4451
+ return (await import("./create-OMWgK9on.js")).createMeetFromParams(params);
4452
4452
  }
4453
4453
  async function createAndJoinMeetFromParams(params) {
4454
- return (await import("./create-Q8KLuYnE.js")).createAndJoinMeetFromParams(params);
4454
+ return (await import("./create-OMWgK9on.js")).createAndJoinMeetFromParams(params);
4455
4455
  }
4456
4456
  async function resolveGoogleMeetTokenFromParams(config, raw) {
4457
- const { resolveGoogleMeetAccessToken } = await import("./oauth-Byt1wS27.js");
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-Bnu0qPW-.js");
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-Bnu0qPW-.js");
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: Date.now() + expiresInSeconds * 1e3,
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
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@openclaw/google-meet",
3
- "version": "2026.5.28-beta.2",
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.2",
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.2"
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.2",
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.2"
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.2"
32
+ "pluginApi": ">=2026.5.28-beta.4"
33
33
  },
34
34
  "build": {
35
- "openclawVersion": "2026.5.28-beta.2"
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",