@openclaw/google-meet 2026.6.9-beta.1 → 2026.6.10-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/{chrome-create-By4DuikO.js → chrome-create-DWEeDc7N.js} +2 -16
- package/dist/{cli-DURm3Y-K.js → cli-BnEq0tBJ.js} +4 -4
- package/dist/{config-Co24FcXM.js → config-D_YKxh0m.js} +1 -2
- package/dist/{create-BzkoPzD2.js → create-C7GxW7BL.js} +2 -2
- package/dist/google-api-errors-CDUYkIcK.js +17 -0
- package/dist/index.js +6 -7
- package/dist/{oauth--J53aI66.js → oauth-BzOU5Ztq.js} +2 -1
- package/npm-shrinkwrap.json +3 -3
- package/package.json +4 -4
|
@@ -1,17 +1,8 @@
|
|
|
1
|
+
import { t as googleApiError } from "./google-api-errors-CDUYkIcK.js";
|
|
1
2
|
import { uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
3
|
import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
3
4
|
import { addTimerTimeoutGraceMs } from "openclaw/plugin-sdk/number-runtime";
|
|
4
5
|
import { sleep } from "openclaw/plugin-sdk/runtime-env";
|
|
5
|
-
//#region extensions/google-meet/src/google-api-errors.ts
|
|
6
|
-
const REAUTH_HINT = "Re-run `openclaw googlemeet auth login` and store the refreshed oauth block.";
|
|
7
|
-
function scopeText(scopes) {
|
|
8
|
-
return scopes.map((scope) => `\`${scope}\``).join(", ");
|
|
9
|
-
}
|
|
10
|
-
async function googleApiError(params) {
|
|
11
|
-
const scopeHint = params.scopes && params.scopes.length > 0 ? ` Required OAuth scope: ${scopeText(params.scopes)}. ${REAUTH_HINT}` : "";
|
|
12
|
-
return /* @__PURE__ */ new Error(`${params.prefix} failed (${params.response.status}): ${params.detail}${scopeHint}`);
|
|
13
|
-
}
|
|
14
|
-
//#endregion
|
|
15
6
|
//#region extensions/google-meet/src/drive.ts
|
|
16
7
|
const GOOGLE_DRIVE_API_BASE_URL = "https://www.googleapis.com/drive/v3";
|
|
17
8
|
const GOOGLE_DRIVE_API_HOST = "www.googleapis.com";
|
|
@@ -46,7 +37,6 @@ async function exportGoogleDriveDocumentText(params) {
|
|
|
46
37
|
try {
|
|
47
38
|
if (!response.ok) throw await googleApiError({
|
|
48
39
|
response,
|
|
49
|
-
detail: await response.text(),
|
|
50
40
|
prefix: "Google Drive files.export",
|
|
51
41
|
scopes: [GOOGLE_DRIVE_MEET_SCOPE]
|
|
52
42
|
});
|
|
@@ -123,7 +113,6 @@ async function fetchGoogleMeetJson(params) {
|
|
|
123
113
|
try {
|
|
124
114
|
if (!response.ok) throw await googleApiError({
|
|
125
115
|
response,
|
|
126
|
-
detail: await response.text(),
|
|
127
116
|
prefix: params.errorPrefix,
|
|
128
117
|
scopes: [GOOGLE_MEET_MEDIA_SCOPE]
|
|
129
118
|
});
|
|
@@ -167,7 +156,6 @@ async function fetchGoogleMeetSpace(params) {
|
|
|
167
156
|
try {
|
|
168
157
|
if (!response.ok) throw await googleApiError({
|
|
169
158
|
response,
|
|
170
|
-
detail: await response.text(),
|
|
171
159
|
prefix: "Google Meet spaces.get",
|
|
172
160
|
scopes: [GOOGLE_MEET_SPACE_SCOPE]
|
|
173
161
|
});
|
|
@@ -197,7 +185,6 @@ async function createGoogleMeetSpace(params) {
|
|
|
197
185
|
try {
|
|
198
186
|
if (!response.ok) throw await googleApiError({
|
|
199
187
|
response,
|
|
200
|
-
detail: await response.text(),
|
|
201
188
|
prefix: "Google Meet spaces.create",
|
|
202
189
|
scopes: params.config && Object.keys(params.config).length > 0 ? [GOOGLE_MEET_SPACE_CREATED_SCOPE, GOOGLE_MEET_SPACE_SETTINGS_SCOPE] : [GOOGLE_MEET_SPACE_CREATED_SCOPE]
|
|
203
190
|
});
|
|
@@ -235,7 +222,6 @@ async function endGoogleMeetActiveConference(params) {
|
|
|
235
222
|
try {
|
|
236
223
|
if (!response.ok) throw await googleApiError({
|
|
237
224
|
response,
|
|
238
|
-
detail: await response.text(),
|
|
239
225
|
prefix: "Google Meet spaces.endActiveConference",
|
|
240
226
|
scopes: [GOOGLE_MEET_SPACE_CREATED_SCOPE]
|
|
241
227
|
});
|
|
@@ -964,4 +950,4 @@ async function createMeetWithBrowserProxyOnNode(params) {
|
|
|
964
950
|
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)}` : ""}`);
|
|
965
951
|
}
|
|
966
952
|
//#endregion
|
|
967
|
-
export {
|
|
953
|
+
export { isSameMeetUrlForReuse as a, resolveChromeNode as c, createGoogleMeetSpace as d, endGoogleMeetActiveConference as f, fetchLatestGoogleMeetConferenceRecord as g, fetchGoogleMeetSpace as h, callBrowserProxyOnNode as i, resolveChromeNodeInfo as l, fetchGoogleMeetAttendance as m, isGoogleMeetBrowserManualActionError as n, normalizeMeetUrlForReuse as o, fetchGoogleMeetArtifacts as p, asBrowserTabs as r, readBrowserTab as s, createMeetWithBrowserProxyOnNode as t, buildGoogleMeetPreflightReport as u };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { buildGoogleMeetAuthUrl, createGoogleMeetOAuthState, createGoogleMeetPkce, exchangeGoogleMeetAuthCode, resolveGoogleMeetAccessToken, waitForGoogleMeetAuthCode } from "./oauth
|
|
4
|
-
import { hasCreateSpaceConfigInput, resolveCreateSpaceConfig } from "./create-
|
|
1
|
+
import { a as buildGoogleMeetCalendarDayWindow, i as resolveGoogleMeetGatewayOperationTimeoutMs, o as findGoogleMeetCalendarEvent, s as listGoogleMeetCalendarEvents } from "./config-D_YKxh0m.js";
|
|
2
|
+
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-DWEeDc7N.js";
|
|
3
|
+
import { buildGoogleMeetAuthUrl, createGoogleMeetOAuthState, createGoogleMeetPkce, exchangeGoogleMeetAuthCode, resolveGoogleMeetAccessToken, waitForGoogleMeetAuthCode } from "./oauth-BzOU5Ztq.js";
|
|
4
|
+
import { hasCreateSpaceConfigInput, resolveCreateSpaceConfig } from "./create-C7GxW7BL.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 { t as googleApiError } from "./google-api-errors-CDUYkIcK.js";
|
|
2
2
|
import { asRecord, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeOptionalTrimmedStringList } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
4
4
|
import { addTimerTimeoutGraceMs, resolvePositiveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime";
|
|
@@ -95,7 +95,6 @@ async function fetchGoogleCalendarEvents(params) {
|
|
|
95
95
|
try {
|
|
96
96
|
if (!response.ok) throw await googleApiError({
|
|
97
97
|
response,
|
|
98
|
-
detail: await response.text(),
|
|
99
98
|
prefix: "Google Calendar events.list",
|
|
100
99
|
scopes: [GOOGLE_CALENDAR_EVENTS_SCOPE]
|
|
101
100
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { d as createGoogleMeetSpace, t as createMeetWithBrowserProxyOnNode } from "./chrome-create-
|
|
2
|
-
import { resolveGoogleMeetAccessToken } from "./oauth
|
|
1
|
+
import { d as createGoogleMeetSpace, t as createMeetWithBrowserProxyOnNode } from "./chrome-create-DWEeDc7N.js";
|
|
2
|
+
import { resolveGoogleMeetAccessToken } from "./oauth-BzOU5Ztq.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) {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { readResponseTextLimited } from "openclaw/plugin-sdk/provider-http";
|
|
2
|
+
//#region extensions/google-meet/src/google-api-errors.ts
|
|
3
|
+
const REAUTH_HINT = "Re-run `openclaw googlemeet auth login` and store the refreshed oauth block.";
|
|
4
|
+
const GOOGLE_API_ERROR_BODY_LIMIT_BYTES = 8 * 1024;
|
|
5
|
+
function scopeText(scopes) {
|
|
6
|
+
return scopes.map((scope) => `\`${scope}\``).join(", ");
|
|
7
|
+
}
|
|
8
|
+
async function readGoogleApiErrorDetail(response) {
|
|
9
|
+
return await readResponseTextLimited(response, GOOGLE_API_ERROR_BODY_LIMIT_BYTES);
|
|
10
|
+
}
|
|
11
|
+
async function googleApiError(params) {
|
|
12
|
+
const detail = await readGoogleApiErrorDetail(params.response);
|
|
13
|
+
const scopeHint = params.scopes && params.scopes.length > 0 ? ` Required OAuth scope: ${scopeText(params.scopes)}. ${REAUTH_HINT}` : "";
|
|
14
|
+
return /* @__PURE__ */ new Error(`${params.prefix} failed (${params.response.status}): ${detail}${scopeHint}`);
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { readGoogleApiErrorDetail as n, googleApiError as t };
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as
|
|
2
|
-
import { a as
|
|
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 isSameMeetUrlForReuse, c as resolveChromeNode, f as endGoogleMeetActiveConference, g as fetchLatestGoogleMeetConferenceRecord, h as fetchGoogleMeetSpace, i as callBrowserProxyOnNode, l as resolveChromeNodeInfo, m as fetchGoogleMeetAttendance, n as isGoogleMeetBrowserManualActionError, o as normalizeMeetUrlForReuse, p as fetchGoogleMeetArtifacts, r as asBrowserTabs, s as readBrowserTab, t as createMeetWithBrowserProxyOnNode, u as buildGoogleMeetPreflightReport } from "./chrome-create-DWEeDc7N.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";
|
|
@@ -543,7 +543,6 @@ function addGoogleMeetSetupCheck(status, check) {
|
|
|
543
543
|
}
|
|
544
544
|
//#endregion
|
|
545
545
|
//#region extensions/google-meet/src/agent-consult.ts
|
|
546
|
-
const GOOGLE_MEET_AGENT_CONSULT_TOOL_NAME = REALTIME_VOICE_AGENT_CONSULT_TOOL_NAME;
|
|
547
546
|
const GOOGLE_MEET_CONSULT_SYSTEM_PROMPT = [
|
|
548
547
|
"You are a behind-the-scenes consultant for a live meeting voice agent.",
|
|
549
548
|
"Prioritize a fast, speakable answer over exhaustive investigation.",
|
|
@@ -598,7 +597,7 @@ function handleGoogleMeetRealtimeConsultToolCall(params) {
|
|
|
598
597
|
params.session.submitToolResult(callId, { error: `Tool "${params.event.name}" is only available in bidi realtime strategy` });
|
|
599
598
|
return;
|
|
600
599
|
}
|
|
601
|
-
if (params.event.name !==
|
|
600
|
+
if (params.event.name !== REALTIME_VOICE_AGENT_CONSULT_TOOL_NAME) {
|
|
602
601
|
params.onTalkEvent?.({
|
|
603
602
|
type: "tool.error",
|
|
604
603
|
callId,
|
|
@@ -3726,11 +3725,11 @@ var GoogleMeetRuntime = class {
|
|
|
3726
3725
|
let googleMeetCreateModulePromise = null;
|
|
3727
3726
|
let googleMeetCliModulePromise = null;
|
|
3728
3727
|
const loadGoogleMeetCreateModule = async () => {
|
|
3729
|
-
googleMeetCreateModulePromise ??= import("./create-
|
|
3728
|
+
googleMeetCreateModulePromise ??= import("./create-C7GxW7BL.js");
|
|
3730
3729
|
return await googleMeetCreateModulePromise;
|
|
3731
3730
|
};
|
|
3732
3731
|
const loadGoogleMeetCliModule = async () => {
|
|
3733
|
-
googleMeetCliModulePromise ??= import("./cli-
|
|
3732
|
+
googleMeetCliModulePromise ??= import("./cli-BnEq0tBJ.js");
|
|
3734
3733
|
return await googleMeetCliModulePromise;
|
|
3735
3734
|
};
|
|
3736
3735
|
const googleMeetConfigSchema = {
|
|
@@ -4103,7 +4102,7 @@ async function createAndJoinMeetFromParams(params) {
|
|
|
4103
4102
|
return (await loadGoogleMeetCreateModule()).createAndJoinMeetFromParams(params);
|
|
4104
4103
|
}
|
|
4105
4104
|
async function resolveGoogleMeetTokenFromParams(config, raw) {
|
|
4106
|
-
const { resolveGoogleMeetAccessToken } = await import("./oauth
|
|
4105
|
+
const { resolveGoogleMeetAccessToken } = await import("./oauth-BzOU5Ztq.js");
|
|
4107
4106
|
return resolveGoogleMeetAccessToken({
|
|
4108
4107
|
clientId: normalizeOptionalString(raw.clientId) ?? config.oauth.clientId,
|
|
4109
4108
|
clientSecret: normalizeOptionalString(raw.clientSecret) ?? config.oauth.clientSecret,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { n as readGoogleApiErrorDetail } from "./google-api-errors-CDUYkIcK.js";
|
|
1
2
|
import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
2
3
|
import { MAX_DATE_TIMESTAMP_MS, resolveDateTimestampMs, resolveExpiresAtMsFromDurationSeconds } from "openclaw/plugin-sdk/number-runtime";
|
|
3
4
|
import { generateHexPkceVerifierChallenge } from "openclaw/plugin-sdk/provider-auth";
|
|
@@ -50,7 +51,7 @@ async function executeGoogleTokenRequest(body) {
|
|
|
50
51
|
});
|
|
51
52
|
try {
|
|
52
53
|
if (!response.ok) {
|
|
53
|
-
const detail = await response
|
|
54
|
+
const detail = await readGoogleApiErrorDetail(response);
|
|
54
55
|
throw new Error(`Google OAuth token request failed (${response.status}): ${detail}`);
|
|
55
56
|
}
|
|
56
57
|
const payload = await response.json();
|
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.10-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.10-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.10-beta.1"
|
|
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.6.
|
|
3
|
+
"version": "2026.6.10-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.10-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.10-beta.1"
|
|
33
33
|
},
|
|
34
34
|
"build": {
|
|
35
|
-
"openclawVersion": "2026.6.
|
|
35
|
+
"openclawVersion": "2026.6.10-beta.1"
|
|
36
36
|
},
|
|
37
37
|
"release": {
|
|
38
38
|
"publishToClawHub": true,
|