@openclaw/google-meet 2026.10.10-beta.4 → 2026.10.10
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-CW_QQzuj.mjs → chrome-create-DIcW4QCh.mjs} +4 -7
- package/dist/.setup/{cli-CBLj67Qo.mjs → cli-9linTFHb.mjs} +11 -17
- package/dist/.setup/{cli-export-3ijBYTqg.mjs → cli-export-CaDYoSP8.mjs} +3 -5
- package/dist/.setup/{cli-output-mode-BwH_6tH8.mjs → cli-output-mode-BJSm88N9.mjs} +1 -2
- package/dist/.setup/{config-BXGAMntj.mjs → config-Cu3zsl_3.mjs} +1 -2
- package/dist/.setup/{create-DMUmVyQg.mjs → create-D3fHR8uX.mjs} +4 -5
- package/dist/.setup/{google-api-KAOF1Wn5.mjs → google-api-B5FR9zy2.mjs} +1 -2
- package/dist/.setup/{google-meet-platform-adapter-Bz77Bdt-.mjs → google-meet-platform-adapter-D7poqL1J.mjs} +9 -15
- package/dist/.setup/{google-meet-platform-constants-CnRfrYX7.mjs → google-meet-platform-constants-C83Cdmpd.mjs} +2 -4
- package/dist/.setup/{meet-url-i_QvIxnP.mjs → meet-url-DzLdrq0Z.mjs} +1 -2
- package/dist/.setup/{node-host-BP4g4zw3.mjs → node-host-B196lvNZ.mjs} +4 -5
- package/dist/.setup/{node-invoke-policy-67WaZNPN.mjs → node-invoke-policy-BzRAe25r.mjs} +3 -4
- package/dist/.setup/{oauth-pXa-YQ9H.mjs → oauth-DGv28ZgA.mjs} +2 -3
- package/dist/.setup/{plugin-helpers-D3VKNUTD.mjs → plugin-helpers-Buhixxsx.mjs} +11 -17
- package/dist/.setup/{plugin-registration-1Oc4T1Bj.mjs → plugin-registration-B_nOxAym.mjs} +9 -10
- package/dist/.setup/{runtime-2_R9PsRx.mjs → runtime-D-dwEsSW.mjs} +10 -16
- package/dist/.source-module-urls/c06239f68b6f4959b5d3db7e0cee004911d8eb43092f4135c729b507e37f6333.json +1 -1
- package/dist/cli-metadata.js +2 -3
- package/dist/doctor-contract-api.js +1 -2
- package/dist/index.js +6 -8
- package/package.json +4 -4
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { r as GoogleMeetBrowserManualActionError, t as GOOGLE_MEET_BROWSER_NODE_ADAPTER } from "./google-meet-platform-constants-
|
|
1
|
+
import { r as GoogleMeetBrowserManualActionError, t as GOOGLE_MEET_BROWSER_NODE_ADAPTER } from "./google-meet-platform-constants-C83Cdmpd.mjs";
|
|
2
2
|
import { asFiniteNumber, asOptionalObjectRecord, asRecord, filterStringEntries, readStringValue } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { asMeetingBrowserTabs, callMeetingBrowserProxyOnNode, readMeetingBrowserTab, resolveMeetingBrowserNode, resolveMeetingBrowserNodeInfo } from "openclaw/plugin-sdk/meeting-runtime";
|
|
4
4
|
import { sleep } from "openclaw/plugin-sdk/runtime-env";
|
|
5
|
-
|
|
5
|
+
// extensions/google-meet/src/transports/chrome-browser-proxy.ts
|
|
6
6
|
async function resolveChromeNodeInfo(params) {
|
|
7
7
|
return await resolveMeetingBrowserNodeInfo({
|
|
8
8
|
...params,
|
|
@@ -21,8 +21,7 @@ async function callBrowserProxyOnNode(params) {
|
|
|
21
21
|
adapter: GOOGLE_MEET_BROWSER_NODE_ADAPTER
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
//#region extensions/google-meet/src/transports/google-meet-urls.ts
|
|
24
|
+
// extensions/google-meet/src/transports/google-meet-urls.ts
|
|
26
25
|
function forceMeetEnglishUi(url) {
|
|
27
26
|
const parsed = URL.parse(url);
|
|
28
27
|
if (!parsed) return url;
|
|
@@ -53,8 +52,7 @@ function isRecoverableMeetTab(tab, url) {
|
|
|
53
52
|
if (normalizeMeetUrlForReuse(tab.url)) return true;
|
|
54
53
|
return (tab.url ?? "").startsWith("https://accounts.google.com/") && /sign in|google accounts|meet/i.test(tab.title ?? "");
|
|
55
54
|
}
|
|
56
|
-
|
|
57
|
-
//#region extensions/google-meet/src/transports/chrome-create.ts
|
|
55
|
+
// extensions/google-meet/src/transports/chrome-create.ts
|
|
58
56
|
const GOOGLE_MEET_NEW_URL = "https://meet.google.com/new";
|
|
59
57
|
const GOOGLE_MEET_BROWSER_CREATE_TIMEOUT_MS = 6e4;
|
|
60
58
|
const GOOGLE_MEET_BROWSER_STEP_TIMEOUT_MS = 1e4;
|
|
@@ -252,5 +250,4 @@ async function createMeetWithBrowserProxyOnNode(params) {
|
|
|
252
250
|
}
|
|
253
251
|
throw new Error(lastResult?.manualAction?.message ?? `Google Meet did not return a meeting URL from the browser create flow before timeout.${lastError ? ` Last browser automation error: ${formatBrowserAutomationError(lastError)}` : ""}`);
|
|
254
252
|
}
|
|
255
|
-
//#endregion
|
|
256
253
|
export { isSameMeetUrlForReuse as a, callBrowserProxyOnNode as c, isRecoverableMeetTab as i, resolveChromeNode as l, forceMeetEnglishUi as n, normalizeMeetUrlForReuse as o, isEnglishMeetTab as r, readMeetAuthUser as s, createMeetWithBrowserProxyOnNode as t, resolveChromeNodeInfo as u };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { a as resolveArtifactQueryFromParams, c as resolveSpaceFromParams, d as endGoogleMeetActiveConference, f as fetchGoogleMeetSpace, h as listGoogleMeetCalendarEvents, l as buildGoogleMeetPreflightReport, m as buildGoogleMeetCalendarDayWindow, n as fetchResolvedGoogleMeetArtifacts, o as resolveGoogleMeetTokenFromParams, p as fetchLatestGoogleMeetConferenceRecord, r as fetchResolvedGoogleMeetAttendance, s as resolveMeetingFromParams, t as buildGoogleMeetExportRequest, u as createGoogleMeetSpace } from "./plugin-helpers-
|
|
2
|
-
import { i as resolveGoogleMeetGatewayOperationTimeoutMs } from "./config-
|
|
3
|
-
import { C as writeStdoutJson, S as writeSetupStatus, _ as resolveGoogleMeetOAuthCallbackTimeoutMs, a as renderAttendanceCsv, b as writeLeaveResult, c as callGoogleMeetGateway, d as parseGoogleMeetTransport, f as parseOptionalNumber, g as resolveCliJoinRequest, h as promptInput, i as renderAttendance, l as parseGoogleMeetBrowserTransport, m as parsePositiveNumber, n as exportGoogleMeetBundle, o as writeCalendarEventsSummary, p as parsePositiveIntegerOption, r as renderArtifacts, s as writeLatestConferenceRecordSummary, u as parseGoogleMeetMode, v as writeCliOutput, w as writeStdoutLine, x as writeRecoverCurrentTabResult, y as writeDoctorStatus } from "./cli-export-
|
|
4
|
-
import { buildGoogleMeetAuthUrl, exchangeGoogleMeetAuthCode, resolveGoogleMeetAccessToken, waitForGoogleMeetAuthCode } from "./oauth-
|
|
5
|
-
import { i as hasGoogleMeetOAuth, r as hasCreateSpaceConfigInput, t as createSpaceFromParams } from "./create-
|
|
1
|
+
import { a as resolveArtifactQueryFromParams, c as resolveSpaceFromParams, d as endGoogleMeetActiveConference, f as fetchGoogleMeetSpace, h as listGoogleMeetCalendarEvents, l as buildGoogleMeetPreflightReport, m as buildGoogleMeetCalendarDayWindow, n as fetchResolvedGoogleMeetArtifacts, o as resolveGoogleMeetTokenFromParams, p as fetchLatestGoogleMeetConferenceRecord, r as fetchResolvedGoogleMeetAttendance, s as resolveMeetingFromParams, t as buildGoogleMeetExportRequest, u as createGoogleMeetSpace } from "./plugin-helpers-Buhixxsx.mjs";
|
|
2
|
+
import { i as resolveGoogleMeetGatewayOperationTimeoutMs } from "./config-Cu3zsl_3.mjs";
|
|
3
|
+
import { C as writeStdoutJson, S as writeSetupStatus, _ as resolveGoogleMeetOAuthCallbackTimeoutMs, a as renderAttendanceCsv, b as writeLeaveResult, c as callGoogleMeetGateway, d as parseGoogleMeetTransport, f as parseOptionalNumber, g as resolveCliJoinRequest, h as promptInput, i as renderAttendance, l as parseGoogleMeetBrowserTransport, m as parsePositiveNumber, n as exportGoogleMeetBundle, o as writeCalendarEventsSummary, p as parsePositiveIntegerOption, r as renderArtifacts, s as writeLatestConferenceRecordSummary, u as parseGoogleMeetMode, v as writeCliOutput, w as writeStdoutLine, x as writeRecoverCurrentTabResult, y as writeDoctorStatus } from "./cli-export-CaDYoSP8.mjs";
|
|
4
|
+
import { buildGoogleMeetAuthUrl, exchangeGoogleMeetAuthCode, resolveGoogleMeetAccessToken, waitForGoogleMeetAuthCode } from "./oauth-DGv28ZgA.mjs";
|
|
5
|
+
import { i as hasGoogleMeetOAuth, r as hasCreateSpaceConfigInput, t as createSpaceFromParams } from "./create-D3fHR8uX.mjs";
|
|
6
6
|
import { parseStrictNonNegativeInteger } from "openclaw/plugin-sdk/number-runtime";
|
|
7
7
|
import { generateHexPkceVerifierChallenge } from "openclaw/plugin-sdk/provider-auth";
|
|
8
8
|
import { generateOAuthState } from "openclaw/plugin-sdk/provider-auth-runtime";
|
|
9
|
-
|
|
9
|
+
// extensions/google-meet/src/cli-command-context.ts
|
|
10
10
|
function addGoogleMeetOAuthOptions(command) {
|
|
11
11
|
return command.option("--access-token <token>", "Access token override").option("--refresh-token <token>", "Refresh token override").option("--client-id <id>", "OAuth client id override").option("--client-secret <secret>", "OAuth client secret override").option("--expires-at <ms>", "Cached access token expiry as unix epoch milliseconds");
|
|
12
12
|
}
|
|
@@ -40,8 +40,7 @@ async function callGoogleMeetRuntime(context, method, payload, local, timeoutMs)
|
|
|
40
40
|
});
|
|
41
41
|
return delegated.ok ? delegated.payload : local(await context.ensureRuntime());
|
|
42
42
|
}
|
|
43
|
-
|
|
44
|
-
//#region extensions/google-meet/src/cli-artifact-commands.ts
|
|
43
|
+
// extensions/google-meet/src/cli-artifact-commands.ts
|
|
45
44
|
async function resolveCliArtifactQuery(context, options) {
|
|
46
45
|
const meeting = options.meeting?.trim() || context.config.defaults.meeting;
|
|
47
46
|
const conferenceRecord = options.conferenceRecord?.trim();
|
|
@@ -114,8 +113,7 @@ function registerGoogleMeetArtifactCommands(context) {
|
|
|
114
113
|
if (payload.zipFile) writeStdoutLine("zip: %s", payload.zipFile);
|
|
115
114
|
});
|
|
116
115
|
}
|
|
117
|
-
|
|
118
|
-
//#region extensions/google-meet/src/cli-doctor.ts
|
|
116
|
+
// extensions/google-meet/src/cli-doctor.ts
|
|
119
117
|
function sanitizeOAuthErrorMessage(error) {
|
|
120
118
|
return (error instanceof Error ? error.message : String(error)).replace(/(access_token["'=:\s]+)[^"',\s&]+/gi, "$1[redacted]").replace(/(refresh_token["'=:\s]+)[^"',\s&]+/gi, "$1[redacted]").replace(/(client_secret["'=:\s]+)[^"',\s&]+/gi, "$1[redacted]");
|
|
121
119
|
}
|
|
@@ -242,8 +240,7 @@ function registerGoogleMeetDoctorCommand(context) {
|
|
|
242
240
|
writeDoctorStatus(status);
|
|
243
241
|
});
|
|
244
242
|
}
|
|
245
|
-
|
|
246
|
-
//#region extensions/google-meet/src/cli-runtime-commands.ts
|
|
243
|
+
// extensions/google-meet/src/cli-runtime-commands.ts
|
|
247
244
|
function registerGoogleMeetProbeCommands(context) {
|
|
248
245
|
const { root, operationTimeoutMs } = context;
|
|
249
246
|
root.command("join").argument("[url]", "Explicit https://meet.google.com/... URL").option("--transport <transport>", "Transport: chrome, chrome-node, or twilio").option("--mode <mode>", "Mode: agent, bidi, or transcribe").option("--message <text>", "Realtime speech to trigger after join").option("--dial-in-number <phone>", "Meet dial-in number for Twilio transport").option("--pin <pin>", "Meet phone PIN; # is appended if omitted").option("--dtmf-sequence <sequence>", "Explicit Twilio DTMF sequence").action(async (url, options) => {
|
|
@@ -329,8 +326,7 @@ function registerGoogleMeetLifecycleCommands(context) {
|
|
|
329
326
|
writeStdoutLine("speaking on %s", sessionId);
|
|
330
327
|
});
|
|
331
328
|
}
|
|
332
|
-
|
|
333
|
-
//#region extensions/google-meet/src/cli-space-commands.ts
|
|
329
|
+
// extensions/google-meet/src/cli-space-commands.ts
|
|
334
330
|
function writeGoogleMeetCreateOutput(payload, json) {
|
|
335
331
|
if (json) {
|
|
336
332
|
writeStdoutJson(payload);
|
|
@@ -512,8 +508,7 @@ function registerGoogleMeetApiCommands(context) {
|
|
|
512
508
|
writeStdoutLine("token source: %s", token.refreshed ? "refresh-token" : "cached-access-token");
|
|
513
509
|
});
|
|
514
510
|
}
|
|
515
|
-
|
|
516
|
-
//#region extensions/google-meet/src/cli.ts
|
|
511
|
+
// extensions/google-meet/src/cli.ts
|
|
517
512
|
function registerGoogleMeetCli(params) {
|
|
518
513
|
const operationTimeoutMs = resolveGoogleMeetGatewayOperationTimeoutMs(params.config);
|
|
519
514
|
const root = params.program.command("googlemeet").description("Google Meet participant utilities").addHelpText("after", () => `\nDocs: https://docs.openclaw.ai/plugins/google-meet\n`);
|
|
@@ -571,5 +566,4 @@ function registerGoogleMeetCli(params) {
|
|
|
571
566
|
registerGoogleMeetDoctorCommand(context);
|
|
572
567
|
registerGoogleMeetLifecycleCommands(context);
|
|
573
568
|
}
|
|
574
|
-
//#endregion
|
|
575
569
|
export { registerGoogleMeetCli };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as __exportAll } from "./plugin-helpers-
|
|
1
|
+
import { g as __exportAll } from "./plugin-helpers-Buhixxsx.mjs";
|
|
2
2
|
import { clampTimerTimeoutMs, parseStrictPositiveInteger } from "openclaw/plugin-sdk/number-runtime";
|
|
3
3
|
import fsp, { stat } from "node:fs/promises";
|
|
4
4
|
import path from "node:path";
|
|
@@ -8,7 +8,7 @@ import { createInterface } from "node:readline/promises";
|
|
|
8
8
|
import { format } from "node:util";
|
|
9
9
|
import { callGatewayFromCli, isGatewayClientRequestError, isGatewayTransportError } from "openclaw/plugin-sdk/gateway-runtime";
|
|
10
10
|
import { formatDurationCompact } from "openclaw/plugin-sdk/time-runtime";
|
|
11
|
-
|
|
11
|
+
// extensions/google-meet/src/cli-shared.ts
|
|
12
12
|
const GOOGLE_MEET_GATEWAY_DEFAULT_TIMEOUT_MS = 5e3;
|
|
13
13
|
const PLAIN_DECIMAL_NUMBER_RE = /^\d+(?:\.\d+)?$/;
|
|
14
14
|
function parseGoogleMeetMode(value) {
|
|
@@ -244,8 +244,7 @@ function writeLeaveResult(sessionId, result) {
|
|
|
244
244
|
}
|
|
245
245
|
writeStdoutLine("left %s", sessionId);
|
|
246
246
|
}
|
|
247
|
-
|
|
248
|
-
//#region extensions/google-meet/src/cli-export.ts
|
|
247
|
+
// extensions/google-meet/src/cli-export.ts
|
|
249
248
|
var cli_export_exports = /* @__PURE__ */ __exportAll({
|
|
250
249
|
buildGoogleMeetExportManifest: () => buildGoogleMeetExportManifest,
|
|
251
250
|
exportGoogleMeetBundle: () => exportGoogleMeetBundle,
|
|
@@ -629,5 +628,4 @@ async function exportGoogleMeetBundle(params) {
|
|
|
629
628
|
...metadata
|
|
630
629
|
};
|
|
631
630
|
}
|
|
632
|
-
//#endregion
|
|
633
631
|
export { writeStdoutJson as C, writeSetupStatus as S, resolveGoogleMeetOAuthCallbackTimeoutMs as _, renderAttendanceCsv as a, writeLeaveResult as b, callGoogleMeetGateway as c, parseGoogleMeetTransport as d, parseOptionalNumber as f, resolveCliJoinRequest as g, promptInput as h, renderAttendance as i, parseGoogleMeetBrowserTransport as l, parsePositiveNumber as m, exportGoogleMeetBundle as n, writeCalendarEventsSummary as o, parsePositiveIntegerOption as p, renderArtifacts as r, writeLatestConferenceRecordSummary as s, cli_export_exports as t, parseGoogleMeetMode as u, writeCliOutput as v, writeStdoutLine as w, writeRecoverCurrentTabResult as x, writeDoctorStatus as y };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getRootOptionAwareCommandPath } from "openclaw/plugin-sdk/cli-argv";
|
|
2
|
-
|
|
2
|
+
// extensions/google-meet/src/cli-output-mode.ts
|
|
3
3
|
const DEFAULT_JSON_COMMANDS = /* @__PURE__ */ new Set([
|
|
4
4
|
"join",
|
|
5
5
|
"status",
|
|
@@ -24,5 +24,4 @@ const GOOGLE_MEET_CLI_DESCRIPTOR = {
|
|
|
24
24
|
hasSubcommands: true,
|
|
25
25
|
machineOutput: isGoogleMeetMachineOutput
|
|
26
26
|
};
|
|
27
|
-
//#endregion
|
|
28
27
|
export { GOOGLE_MEET_CLI_DESCRIPTOR as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { asBoolean, asRecord, normalizeOptionalLowercaseString, normalizeOptionalString, normalizeOptionalTrimmedStringList, parseBooleanValue, readStringValue } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
2
|
import { addTimerTimeoutGraceMs, asPositiveFiniteNumber, resolvePositiveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime";
|
|
3
3
|
import { REALTIME_VOICE_AGENT_CONSULT_TOOL_NAME, resolveRealtimeVoiceAgentConsultToolPolicy } from "openclaw/plugin-sdk/realtime-voice";
|
|
4
|
-
|
|
4
|
+
// extensions/google-meet/src/config.ts
|
|
5
5
|
function resolveGoogleMeetGatewayOperationTimeoutMs(config) {
|
|
6
6
|
return Math.max(6e4, addTimerTimeoutGraceMs(config.chrome.joinTimeoutMs, 3e4) ?? 1, addTimerTimeoutGraceMs(config.voiceCall.requestTimeoutMs, 1e4) ?? 1);
|
|
7
7
|
}
|
|
@@ -236,5 +236,4 @@ function resolveGoogleMeetConfig(input) {
|
|
|
236
236
|
}
|
|
237
237
|
};
|
|
238
238
|
}
|
|
239
|
-
//#endregion
|
|
240
239
|
export { resolveGoogleMeetGatewayOperationTimeoutMs as i, DEFAULT_GOOGLE_MEET_AUDIO_OUTPUT_COMMAND as n, resolveGoogleMeetConfig as r, DEFAULT_GOOGLE_MEET_AUDIO_INPUT_COMMAND as t };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { g as __exportAll, o as resolveGoogleMeetTokenFromParams, u as createGoogleMeetSpace } from "./plugin-helpers-
|
|
2
|
-
import { d as normalizeMode, f as normalizeTransport } from "./plugin-registration-
|
|
3
|
-
import { t as createMeetWithBrowserProxyOnNode } from "./chrome-create-
|
|
1
|
+
import { g as __exportAll, o as resolveGoogleMeetTokenFromParams, u as createGoogleMeetSpace } from "./plugin-helpers-Buhixxsx.mjs";
|
|
2
|
+
import { d as normalizeMode, f as normalizeTransport } from "./plugin-registration-B_nOxAym.mjs";
|
|
3
|
+
import { t as createMeetWithBrowserProxyOnNode } from "./chrome-create-DIcW4QCh.mjs";
|
|
4
4
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
|
-
|
|
5
|
+
// extensions/google-meet/src/create.ts
|
|
6
6
|
var create_exports = /* @__PURE__ */ __exportAll({
|
|
7
7
|
createAndJoinMeetFromParams: () => createAndJoinMeetFromParams,
|
|
8
8
|
createMeetFromParams: () => createMeetFromParams,
|
|
@@ -101,5 +101,4 @@ async function createAndJoinMeetFromParams(params) {
|
|
|
101
101
|
join
|
|
102
102
|
};
|
|
103
103
|
}
|
|
104
|
-
//#endregion
|
|
105
104
|
export { hasGoogleMeetOAuth as i, create_exports as n, hasCreateSpaceConfigInput as r, createSpaceFromParams as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readResponseTextLimited } from "openclaw/plugin-sdk/provider-http";
|
|
2
2
|
import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
3
|
-
|
|
3
|
+
// extensions/google-meet/src/google-api.ts
|
|
4
4
|
const REAUTH_HINT = "Re-run `openclaw googlemeet auth login` and store the refreshed oauth block.";
|
|
5
5
|
const GOOGLE_API_ERROR_BODY_LIMIT_BYTES = 8192;
|
|
6
6
|
async function readGoogleApiErrorDetail(response) {
|
|
@@ -38,5 +38,4 @@ async function requestGoogleApi(params, read) {
|
|
|
38
38
|
await release();
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
//#endregion
|
|
42
41
|
export { requestGoogleApi as n, readGoogleApiErrorDetail as t };
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { n as GOOGLE_MEET_NODE_COMMAND } from "./google-meet-platform-constants-
|
|
2
|
-
import { t as normalizeMeetUrl } from "./meet-url-
|
|
3
|
-
import { a as isSameMeetUrlForReuse, i as isRecoverableMeetTab, n as forceMeetEnglishUi, o as normalizeMeetUrlForReuse, r as isEnglishMeetTab, s as readMeetAuthUser, t as createMeetWithBrowserProxyOnNode } from "./chrome-create-
|
|
1
|
+
import { n as GOOGLE_MEET_NODE_COMMAND } from "./google-meet-platform-constants-C83Cdmpd.mjs";
|
|
2
|
+
import { t as normalizeMeetUrl } from "./meet-url-DzLdrq0Z.mjs";
|
|
3
|
+
import { a as isSameMeetUrlForReuse, i as isRecoverableMeetTab, n as forceMeetEnglishUi, o as normalizeMeetUrlForReuse, r as isEnglishMeetTab, s as readMeetAuthUser, t as createMeetWithBrowserProxyOnNode } from "./chrome-create-DIcW4QCh.mjs";
|
|
4
4
|
import { asRecord, filterStringEntries, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
6
6
|
import { MeetingPlatformAdapter } from "openclaw/plugin-sdk/meeting-runtime";
|
|
7
7
|
import { createMeetingBrowserAudioCaptureSource } from "openclaw/plugin-sdk/meeting-page-script-runtime";
|
|
8
|
-
|
|
8
|
+
// extensions/google-meet/src/transports/types.ts
|
|
9
9
|
const GOOGLE_MEET_TRANSCRIPT_MAX_LINES = 2e3;
|
|
10
|
-
|
|
11
|
-
//#region extensions/google-meet/src/transports/google-meet-caption-scripts.ts
|
|
10
|
+
// extensions/google-meet/src/transports/google-meet-caption-scripts.ts
|
|
12
11
|
const CAPTION_LINE_COMMIT_SOURCE = `
|
|
13
12
|
const captionSelf = (value) => value === true ? "self" : value === false ? "other" : "unknown";
|
|
14
13
|
const captionHistoryKey = (text, ownEcho) => JSON.stringify([text, captionSelf(ownEcho)]);
|
|
@@ -113,8 +112,7 @@ function meetTranscriptScript(meetingUrl, meetingSessionId, finalize) {
|
|
|
113
112
|
});
|
|
114
113
|
}`;
|
|
115
114
|
}
|
|
116
|
-
|
|
117
|
-
//#region extensions/google-meet/src/transports/google-meet-caption-observer-source.ts
|
|
115
|
+
// extensions/google-meet/src/transports/google-meet-caption-observer-source.ts
|
|
118
116
|
const GOOGLE_MEET_CAPTION_SETTLE_MS = 1e3;
|
|
119
117
|
const GOOGLE_MEET_CAPTION_OBSERVER_SOURCE = `
|
|
120
118
|
let captioning = false;
|
|
@@ -339,8 +337,7 @@ const GOOGLE_MEET_CAPTION_OBSERVER_SOURCE = `
|
|
|
339
337
|
recentTranscript = lines.slice(-5).map(captionLine);
|
|
340
338
|
}
|
|
341
339
|
`;
|
|
342
|
-
|
|
343
|
-
//#region extensions/google-meet/src/transports/google-meet-page-scripts.ts
|
|
340
|
+
// extensions/google-meet/src/transports/google-meet-page-scripts.ts
|
|
344
341
|
function meetAudioCaptureScript(params) {
|
|
345
342
|
return createMeetingBrowserAudioCaptureSource({
|
|
346
343
|
...params,
|
|
@@ -775,8 +772,7 @@ function meetLeaveScript(meetingUrl) {
|
|
|
775
772
|
return JSON.stringify({ departed: false, urlMatched: true });
|
|
776
773
|
}`;
|
|
777
774
|
}
|
|
778
|
-
|
|
779
|
-
//#region extensions/google-meet/src/transports/twilio.ts
|
|
775
|
+
// extensions/google-meet/src/transports/twilio.ts
|
|
780
776
|
const DTMF_PATTERN = /^[0-9*#wWpP,]+$/;
|
|
781
777
|
function normalizeDialInNumber(value) {
|
|
782
778
|
const normalized = normalizeOptionalString(value);
|
|
@@ -806,8 +802,7 @@ function prefixDtmfWait(sequence, delayMs) {
|
|
|
806
802
|
const waitCount = Math.ceil(delayMs / 500);
|
|
807
803
|
return `${"w".repeat(waitCount)}${sequence}`;
|
|
808
804
|
}
|
|
809
|
-
|
|
810
|
-
//#region extensions/google-meet/src/transports/google-meet-platform-adapter.ts
|
|
805
|
+
// extensions/google-meet/src/transports/google-meet-platform-adapter.ts
|
|
811
806
|
function parsePermissionGrantNotes(result) {
|
|
812
807
|
const unsupportedPermissions = filterStringEntries(asRecord(result).unsupportedPermissions);
|
|
813
808
|
const notes = ["Granted Meet microphone/camera permissions through browser control."];
|
|
@@ -924,5 +919,4 @@ const GOOGLE_MEET_PLATFORM_ADAPTER = MeetingPlatformAdapter.create({
|
|
|
924
919
|
statusFields: (parsed) => ({ leaveReason: typeof parsed.leaveReason === "string" ? parsed.leaveReason : void 0 })
|
|
925
920
|
}
|
|
926
921
|
});
|
|
927
|
-
//#endregion
|
|
928
922
|
export { normalizeDialInNumber as n, GOOGLE_MEET_PLATFORM_ADAPTER as t };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// extensions/google-meet/src/browser-manual-action-error.ts
|
|
2
2
|
var GoogleMeetBrowserManualActionError = class extends Error {
|
|
3
3
|
constructor(payload) {
|
|
4
4
|
super(`${payload.manualAction.reason}: ${payload.manualAction.message}`);
|
|
@@ -10,13 +10,11 @@ var GoogleMeetBrowserManualActionError = class extends Error {
|
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
12
|
};
|
|
13
|
-
|
|
14
|
-
//#region extensions/google-meet/src/transports/google-meet-platform-constants.ts
|
|
13
|
+
// extensions/google-meet/src/transports/google-meet-platform-constants.ts
|
|
15
14
|
const GOOGLE_MEET_NODE_COMMAND = "googlemeet.chrome";
|
|
16
15
|
const GOOGLE_MEET_BROWSER_NODE_ADAPTER = {
|
|
17
16
|
displayName: "Google Meet",
|
|
18
17
|
nodeCommandName: GOOGLE_MEET_NODE_COMMAND,
|
|
19
18
|
nodeConfigPath: "plugins.entries.google-meet.config.chromeNode.node"
|
|
20
19
|
};
|
|
21
|
-
//#endregion
|
|
22
20
|
export { GOOGLE_MEET_NODE_COMMAND as n, GoogleMeetBrowserManualActionError as r, GOOGLE_MEET_BROWSER_NODE_ADAPTER as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
|
-
|
|
2
|
+
// extensions/google-meet/src/meet-url.ts
|
|
3
3
|
function normalizeMeetUrl(input) {
|
|
4
4
|
const raw = normalizeOptionalString(input);
|
|
5
5
|
if (!raw) throw new Error("url required");
|
|
@@ -9,5 +9,4 @@ function normalizeMeetUrl(input) {
|
|
|
9
9
|
if (!/^\/[a-z]{3}-[a-z]{4}-[a-z]{3}(?:$|[/?#])/i.test(url.pathname)) throw new Error("url must include a Google Meet meeting code");
|
|
10
10
|
return url.toString();
|
|
11
11
|
}
|
|
12
|
-
//#endregion
|
|
13
12
|
export { normalizeMeetUrl as t };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { n as GOOGLE_MEET_NODE_COMMAND } from "./google-meet-platform-constants-
|
|
2
|
-
import { n as DEFAULT_GOOGLE_MEET_AUDIO_OUTPUT_COMMAND, t as DEFAULT_GOOGLE_MEET_AUDIO_INPUT_COMMAND } from "./config-
|
|
3
|
-
import { t as GOOGLE_MEET_PLATFORM_ADAPTER } from "./google-meet-platform-adapter-
|
|
1
|
+
import { n as GOOGLE_MEET_NODE_COMMAND } from "./google-meet-platform-constants-C83Cdmpd.mjs";
|
|
2
|
+
import { n as DEFAULT_GOOGLE_MEET_AUDIO_OUTPUT_COMMAND, t as DEFAULT_GOOGLE_MEET_AUDIO_INPUT_COMMAND } from "./config-Cu3zsl_3.mjs";
|
|
3
|
+
import { t as GOOGLE_MEET_PLATFORM_ADAPTER } from "./google-meet-platform-adapter-D7poqL1J.mjs";
|
|
4
4
|
import { MeetingPlatformAdapter } from "openclaw/plugin-sdk/meeting-runtime";
|
|
5
|
-
|
|
5
|
+
// extensions/google-meet/src/node-host.ts
|
|
6
6
|
function normalizeMeetKey(value) {
|
|
7
7
|
if (!value) return;
|
|
8
8
|
const url = URL.parse(value);
|
|
@@ -38,5 +38,4 @@ const handleGoogleMeetNodeHostCommand = MeetingPlatformAdapter.createNodeHostHan
|
|
|
38
38
|
openedNotes: ["Browser page control is handled by OpenClaw browser automation when using chrome-node."]
|
|
39
39
|
}
|
|
40
40
|
});
|
|
41
|
-
//#endregion
|
|
42
41
|
export { handleGoogleMeetNodeHostCommand };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { n as GOOGLE_MEET_NODE_COMMAND } from "./google-meet-platform-constants-
|
|
2
|
-
import { t as GOOGLE_MEET_PLATFORM_ADAPTER } from "./google-meet-platform-adapter-
|
|
1
|
+
import { n as GOOGLE_MEET_NODE_COMMAND } from "./google-meet-platform-constants-C83Cdmpd.mjs";
|
|
2
|
+
import { t as GOOGLE_MEET_PLATFORM_ADAPTER } from "./google-meet-platform-adapter-D7poqL1J.mjs";
|
|
3
3
|
import { createMeetingBrowserNodeInvokePolicy } from "openclaw/plugin-sdk/meeting-runtime";
|
|
4
|
-
|
|
4
|
+
// extensions/google-meet/src/node-invoke-policy.ts
|
|
5
5
|
const START_MODES = /* @__PURE__ */ new Set([
|
|
6
6
|
"agent",
|
|
7
7
|
"bidi",
|
|
@@ -19,5 +19,4 @@ function createGoogleMeetChromeNodeInvokePolicy(config) {
|
|
|
19
19
|
start: config.chrome
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
|
-
//#endregion
|
|
23
22
|
export { createGoogleMeetChromeNodeInvokePolicy };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { t as readGoogleApiErrorDetail } from "./google-api-
|
|
1
|
+
import { t as readGoogleApiErrorDetail } from "./google-api-B5FR9zy2.mjs";
|
|
2
2
|
import { MAX_DATE_TIMESTAMP_MS, resolveDateTimestampMs, resolveExpiresAtMsFromDurationSeconds } from "openclaw/plugin-sdk/number-runtime";
|
|
3
3
|
import { readProviderJsonResponse } from "openclaw/plugin-sdk/provider-http";
|
|
4
4
|
import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
5
5
|
import { parseOAuthCallbackInput, waitForLocalOAuthCallback } from "openclaw/plugin-sdk/provider-auth-runtime";
|
|
6
|
-
|
|
6
|
+
// extensions/google-meet/src/oauth.ts
|
|
7
7
|
const GOOGLE_MEET_REDIRECT_URI = "http://localhost:8085/oauth2callback";
|
|
8
8
|
const GOOGLE_MEET_AUTH_URL = "https://accounts.google.com/o/oauth2/v2/auth";
|
|
9
9
|
const GOOGLE_MEET_TOKEN_URL = "https://oauth2.googleapis.com/token";
|
|
@@ -155,5 +155,4 @@ async function waitForGoogleMeetAuthCode(params) {
|
|
|
155
155
|
});
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
|
-
//#endregion
|
|
159
158
|
export { buildGoogleMeetAuthUrl, exchangeGoogleMeetAuthCode, resolveGoogleMeetAccessToken, waitForGoogleMeetAuthCode };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { m as resolveMeetingInput } from "./plugin-registration-
|
|
2
|
-
import { n as requestGoogleApi } from "./google-api-
|
|
3
|
-
import { t as normalizeMeetUrl } from "./meet-url-
|
|
1
|
+
import { m as resolveMeetingInput } from "./plugin-registration-B_nOxAym.mjs";
|
|
2
|
+
import { n as requestGoogleApi } from "./google-api-B5FR9zy2.mjs";
|
|
3
|
+
import { t as normalizeMeetUrl } from "./meet-url-DzLdrq0Z.mjs";
|
|
4
4
|
import { normalizeOptionalString, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
6
6
|
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
7
7
|
import { parseDateStringTimestampMs, timestampMsToIsoString } from "openclaw/plugin-sdk/number-runtime";
|
|
8
8
|
import { readPositiveIntegerParam } from "openclaw/plugin-sdk/channel-actions";
|
|
9
9
|
import { readProviderJsonResponse, readProviderTextResponse } from "openclaw/plugin-sdk/provider-http";
|
|
10
|
-
|
|
10
|
+
// \0rolldown/runtime.js
|
|
11
11
|
var __defProp = Object.defineProperty;
|
|
12
12
|
var __exportAll = (all, no_symbols) => {
|
|
13
13
|
let target = {};
|
|
@@ -18,8 +18,7 @@ var __exportAll = (all, no_symbols) => {
|
|
|
18
18
|
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
19
19
|
return target;
|
|
20
20
|
};
|
|
21
|
-
|
|
22
|
-
//#region extensions/google-meet/src/calendar.ts
|
|
21
|
+
// extensions/google-meet/src/calendar.ts
|
|
23
22
|
const GOOGLE_CALENDAR_API_BASE_URL = "https://www.googleapis.com/calendar/v3";
|
|
24
23
|
const GOOGLE_CALENDAR_API_HOST = "www.googleapis.com";
|
|
25
24
|
const GOOGLE_CALENDAR_EVENTS_SCOPE = "https://www.googleapis.com/auth/calendar.events.readonly";
|
|
@@ -140,8 +139,7 @@ async function findGoogleMeetCalendarEvent(params) {
|
|
|
140
139
|
meetingUri: selected.meetingUri
|
|
141
140
|
};
|
|
142
141
|
}
|
|
143
|
-
|
|
144
|
-
//#region extensions/google-meet/src/meet-api.ts
|
|
142
|
+
// extensions/google-meet/src/meet-api.ts
|
|
145
143
|
const GOOGLE_MEET_API_BASE_URL = `https://meet.googleapis.com/v2`;
|
|
146
144
|
const GOOGLE_MEET_URL_HOST = "meet.google.com";
|
|
147
145
|
const GOOGLE_MEET_API_HOST = "meet.googleapis.com";
|
|
@@ -361,8 +359,7 @@ async function resolveConferenceRecordQuery(params) {
|
|
|
361
359
|
conferenceRecords
|
|
362
360
|
};
|
|
363
361
|
}
|
|
364
|
-
|
|
365
|
-
//#region extensions/google-meet/src/drive.ts
|
|
362
|
+
// extensions/google-meet/src/drive.ts
|
|
366
363
|
const GOOGLE_DRIVE_API_BASE_URL = "https://www.googleapis.com/drive/v3";
|
|
367
364
|
const GOOGLE_DRIVE_API_HOST = "www.googleapis.com";
|
|
368
365
|
const GOOGLE_DRIVE_MEET_SCOPE = "https://www.googleapis.com/auth/drive.meet.readonly";
|
|
@@ -386,8 +383,7 @@ async function exportGoogleDriveDocumentText(params) {
|
|
|
386
383
|
accept: TEXT_PLAIN_MIME
|
|
387
384
|
}, (response) => readProviderTextResponse(response, "Google Drive files.export"));
|
|
388
385
|
}
|
|
389
|
-
|
|
390
|
-
//#region extensions/google-meet/src/meet.ts
|
|
386
|
+
// extensions/google-meet/src/meet.ts
|
|
391
387
|
function getParticipantDisplayName(participant) {
|
|
392
388
|
return participant.signedinUser?.displayName ?? participant.anonymousUser?.displayName ?? participant.phoneUser?.displayName;
|
|
393
389
|
}
|
|
@@ -581,8 +577,7 @@ function buildGoogleMeetPreflightReport(params) {
|
|
|
581
577
|
blockers
|
|
582
578
|
};
|
|
583
579
|
}
|
|
584
|
-
|
|
585
|
-
//#region extensions/google-meet/src/plugin-helpers.ts
|
|
580
|
+
// extensions/google-meet/src/plugin-helpers.ts
|
|
586
581
|
var plugin_helpers_exports = /* @__PURE__ */ __exportAll({
|
|
587
582
|
buildGoogleMeetCalendarDayWindow: () => buildGoogleMeetCalendarDayWindow,
|
|
588
583
|
buildGoogleMeetExportRequest: () => buildGoogleMeetExportRequest,
|
|
@@ -598,9 +593,9 @@ var plugin_helpers_exports = /* @__PURE__ */ __exportAll({
|
|
|
598
593
|
resolveMeetingFromParams: () => resolveMeetingFromParams,
|
|
599
594
|
resolveSpaceFromParams: () => resolveSpaceFromParams
|
|
600
595
|
});
|
|
601
|
-
const loadGoogleMeetExportModule = createLazyRuntimeModule(() => import("./cli-export-
|
|
596
|
+
const loadGoogleMeetExportModule = createLazyRuntimeModule(() => import("./cli-export-CaDYoSP8.mjs").then((n) => n.t));
|
|
602
597
|
async function resolveGoogleMeetTokenFromParams(config, raw) {
|
|
603
|
-
const { resolveGoogleMeetAccessToken } = await import("./oauth-
|
|
598
|
+
const { resolveGoogleMeetAccessToken } = await import("./oauth-DGv28ZgA.mjs");
|
|
604
599
|
return resolveGoogleMeetAccessToken({
|
|
605
600
|
clientId: normalizeOptionalString(raw.clientId) ?? config.oauth.clientId,
|
|
606
601
|
clientSecret: normalizeOptionalString(raw.clientSecret) ?? config.oauth.clientSecret,
|
|
@@ -712,5 +707,4 @@ async function exportGoogleMeetBundleFromParams(config, raw) {
|
|
|
712
707
|
dryRun: raw.dryRun === true
|
|
713
708
|
});
|
|
714
709
|
}
|
|
715
|
-
//#endregion
|
|
716
710
|
export { resolveArtifactQueryFromParams as a, resolveSpaceFromParams as c, endGoogleMeetActiveConference as d, fetchGoogleMeetSpace as f, __exportAll as g, listGoogleMeetCalendarEvents as h, plugin_helpers_exports as i, buildGoogleMeetPreflightReport as l, buildGoogleMeetCalendarDayWindow as m, fetchResolvedGoogleMeetArtifacts as n, resolveGoogleMeetTokenFromParams as o, fetchLatestGoogleMeetConferenceRecord as p, fetchResolvedGoogleMeetAttendance as r, resolveMeetingFromParams as s, buildGoogleMeetExportRequest as t, createGoogleMeetSpace as u };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { n as GOOGLE_MEET_NODE_COMMAND, r as GoogleMeetBrowserManualActionError } from "./google-meet-platform-constants-
|
|
2
|
-
import { i as resolveGoogleMeetGatewayOperationTimeoutMs } from "./config-
|
|
1
|
+
import { n as GOOGLE_MEET_NODE_COMMAND, r as GoogleMeetBrowserManualActionError } from "./google-meet-platform-constants-C83Cdmpd.mjs";
|
|
2
|
+
import { i as resolveGoogleMeetGatewayOperationTimeoutMs } from "./config-Cu3zsl_3.mjs";
|
|
3
3
|
import { asNonArrayRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
4
4
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
5
5
|
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
6
|
-
|
|
7
|
-
const loadGoogleMeetPluginHelpers = createLazyRuntimeModule(() => import("./plugin-helpers-
|
|
8
|
-
const loadGoogleMeetCliModule = createLazyRuntimeModule(() => import("./cli-
|
|
9
|
-
const loadGoogleMeetCreateModule = createLazyRuntimeModule(() => import("./create-
|
|
10
|
-
const loadGoogleMeetNodeHostModule = createLazyRuntimeModule(() => import("./node-host-
|
|
11
|
-
const loadGoogleMeetRuntimeModule = createLazyRuntimeModule(() => import("./runtime-
|
|
12
|
-
const loadGoogleMeetNodeInvokePolicyModule = createLazyRuntimeModule(() => import("./node-invoke-policy-
|
|
6
|
+
// extensions/google-meet/src/plugin-registration.ts
|
|
7
|
+
const loadGoogleMeetPluginHelpers = createLazyRuntimeModule(() => import("./plugin-helpers-Buhixxsx.mjs").then((n) => n.i));
|
|
8
|
+
const loadGoogleMeetCliModule = createLazyRuntimeModule(() => import("./cli-9linTFHb.mjs"));
|
|
9
|
+
const loadGoogleMeetCreateModule = createLazyRuntimeModule(() => import("./create-D3fHR8uX.mjs").then((n) => n.n));
|
|
10
|
+
const loadGoogleMeetNodeHostModule = createLazyRuntimeModule(() => import("./node-host-B196lvNZ.mjs"));
|
|
11
|
+
const loadGoogleMeetRuntimeModule = createLazyRuntimeModule(() => import("./runtime-D-dwEsSW.mjs"));
|
|
12
|
+
const loadGoogleMeetNodeInvokePolicyModule = createLazyRuntimeModule(() => import("./node-invoke-policy-BzRAe25r.mjs"));
|
|
13
13
|
const loadGoogleMeetGatewayRuntimeModule = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/gateway-runtime"));
|
|
14
14
|
function normalizeTransport(value) {
|
|
15
15
|
return value === "chrome" || value === "chrome-node" || value === "twilio" ? value : void 0;
|
|
@@ -168,5 +168,4 @@ function sendGoogleMeetGatewayError(respond, err, code = "UNAVAILABLE") {
|
|
|
168
168
|
details: payload
|
|
169
169
|
});
|
|
170
170
|
}
|
|
171
|
-
//#endregion
|
|
172
171
|
export { formatGoogleMeetGatewayError as a, loadGoogleMeetCreateModule as c, normalizeMode as d, normalizeTransport as f, shouldJoinCreatedMeet as g, sendGoogleMeetGatewayError as h, createLazyGoogleMeetNodeInvokePolicy as i, loadGoogleMeetNodeHostModule as l, resolveMeetingInput as m, callGoogleMeetGatewayFromTool as n, keepTrustedToolAgentId as o, readGoogleMeetParticipationParams as p, createGoogleMeetRuntimeAccessor as r, loadGoogleMeetCliModule as s, assertGoogleMeetAgentToolActionSupported as t, loadGoogleMeetPluginHelpers as u };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { n as GOOGLE_MEET_NODE_COMMAND, t as GOOGLE_MEET_BROWSER_NODE_ADAPTER } from "./google-meet-platform-constants-
|
|
2
|
-
import { t as normalizeMeetUrl } from "./meet-url-
|
|
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-
|
|
1
|
+
import { n as GOOGLE_MEET_NODE_COMMAND, t as GOOGLE_MEET_BROWSER_NODE_ADAPTER } from "./google-meet-platform-constants-C83Cdmpd.mjs";
|
|
2
|
+
import { t as normalizeMeetUrl } from "./meet-url-DzLdrq0Z.mjs";
|
|
3
|
+
import { c as callBrowserProxyOnNode, l as resolveChromeNode, u as resolveChromeNodeInfo } from "./chrome-create-DIcW4QCh.mjs";
|
|
4
|
+
import { n as normalizeDialInNumber, t as GOOGLE_MEET_PLATFORM_ADAPTER } from "./google-meet-platform-adapter-D7poqL1J.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";
|
|
@@ -14,7 +14,7 @@ import { normalizeAgentId } from "openclaw/plugin-sdk/routing";
|
|
|
14
14
|
import fs from "node:fs";
|
|
15
15
|
import os from "node:os";
|
|
16
16
|
import { resolveTranscriptsConfig } from "openclaw/plugin-sdk/transcripts";
|
|
17
|
-
|
|
17
|
+
// extensions/google-meet/src/runtime-probes.ts
|
|
18
18
|
const probes = MeetingPlatformAdapter.createRuntimeProbes({
|
|
19
19
|
defaultSpeechMessage: "Say exactly: Google Meet speech test complete.",
|
|
20
20
|
invalidRequest: (message) => new Error(message),
|
|
@@ -34,8 +34,7 @@ const probes = MeetingPlatformAdapter.createRuntimeProbes({
|
|
|
34
34
|
});
|
|
35
35
|
const testGoogleMeetListening = probes.testListening;
|
|
36
36
|
const testGoogleMeetSpeech = probes.testSpeech;
|
|
37
|
-
|
|
38
|
-
//#region extensions/google-meet/src/setup.ts
|
|
37
|
+
// extensions/google-meet/src/setup.ts
|
|
39
38
|
function resolveUserPath(input) {
|
|
40
39
|
if (input === "~") return os.homedir();
|
|
41
40
|
if (input.startsWith("~/")) return path.join(os.homedir(), input.slice(2));
|
|
@@ -169,8 +168,7 @@ function getGoogleMeetSetupStatus(config, options) {
|
|
|
169
168
|
}
|
|
170
169
|
return createMeetingSetupStatus(checks);
|
|
171
170
|
}
|
|
172
|
-
|
|
173
|
-
//#region extensions/google-meet/src/transports/chrome.ts
|
|
171
|
+
// extensions/google-meet/src/transports/chrome.ts
|
|
174
172
|
const chromeTransport = MeetingPlatformAdapter.createChromeTransportWithExternalAudio({
|
|
175
173
|
browserNodeAdapter: GOOGLE_MEET_BROWSER_NODE_ADAPTER,
|
|
176
174
|
isRealtimeRouteReady: (mode, health) => !MeetingPlatformAdapter.isTalkBackMode(mode) || MeetingPlatformAdapter.isRealtimeRouteReady(mode, health),
|
|
@@ -252,8 +250,7 @@ async function recoverCurrentMeetTab(params) {
|
|
|
252
250
|
})
|
|
253
251
|
};
|
|
254
252
|
}
|
|
255
|
-
|
|
256
|
-
//#region extensions/google-meet/src/runtime-setup.ts
|
|
253
|
+
// extensions/google-meet/src/runtime-setup.ts
|
|
257
254
|
function collectChromeAudioCommands(config) {
|
|
258
255
|
const commands = config.chrome.audioBridgeCommand ? [config.chrome.audioBridgeCommand[0]] : [
|
|
259
256
|
config.chrome.audioInputCommand?.[0],
|
|
@@ -353,8 +350,7 @@ async function getGoogleMeetRuntimeSetupStatus(params) {
|
|
|
353
350
|
message: commands.length === 0 ? "Chrome talk-back audio commands are not configured" : missingCommands.length === 0 ? `Chrome audio command${commands.length === 1 ? "" : "s"} available: ${commands.join(", ")}` : `Chrome audio command${missingCommands.length === 1 ? "" : "s"} missing: ${missingCommands.join(", ")}`
|
|
354
351
|
});
|
|
355
352
|
}
|
|
356
|
-
|
|
357
|
-
//#region extensions/google-meet/src/voice-call-gateway.ts
|
|
353
|
+
// extensions/google-meet/src/voice-call-gateway.ts
|
|
358
354
|
const GOOGLE_MEET_VOICE_CALL_SURFACE = {
|
|
359
355
|
clientDisplayName: "Google Meet plugin",
|
|
360
356
|
configPath: "google-meet voiceCall.gatewayUrl",
|
|
@@ -414,8 +410,7 @@ async function joinMeetViaVoiceCallGateway(params) {
|
|
|
414
410
|
surface: GOOGLE_MEET_VOICE_CALL_SURFACE
|
|
415
411
|
});
|
|
416
412
|
}
|
|
417
|
-
|
|
418
|
-
//#region extensions/google-meet/src/runtime.ts
|
|
413
|
+
// extensions/google-meet/src/runtime.ts
|
|
419
414
|
const nowIso = () => (/* @__PURE__ */ new Date()).toISOString();
|
|
420
415
|
function isBrowserTransport(transport) {
|
|
421
416
|
return transport === "chrome" || transport === "chrome-node";
|
|
@@ -854,5 +849,4 @@ var GoogleMeetRuntime = class extends MeetingSessionRuntime {
|
|
|
854
849
|
return left;
|
|
855
850
|
}
|
|
856
851
|
};
|
|
857
|
-
//#endregion
|
|
858
852
|
export { GoogleMeetRuntime };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"entries":[{"output":"cli-metadata.js","source":"extensions/google-meet/cli-metadata.ts"},{"output":"doctor-contract-api.js","source":"extensions/google-meet/doctor-contract-api.ts"},{"output":"index.js","source":"extensions/google-meet/index.ts"}],"chunks":[{"output":".setup/chrome-create-
|
|
1
|
+
{"version":3,"entries":[{"output":"cli-metadata.js","source":"extensions/google-meet/cli-metadata.ts"},{"output":"doctor-contract-api.js","source":"extensions/google-meet/doctor-contract-api.ts"},{"output":"index.js","source":"extensions/google-meet/index.ts"}],"chunks":[{"output":".setup/chrome-create-DIcW4QCh.mjs","sha256":"d72a0b5ac5ff91043086ac5ef7eee9f9fd8c0e8978f14a35a2e0d305c7cd9b8f","facadeSource":null,"sources":["extensions/google-meet/src/transports/chrome-browser-proxy.ts","extensions/google-meet/src/transports/chrome-create.ts","extensions/google-meet/src/transports/google-meet-urls.ts"]},{"output":".setup/cli-9linTFHb.mjs","sha256":"94c6b3f7db7ba3e4bc0dcce81c09fb973d04c3a35834eb0170301b295306a39a","facadeSource":"extensions/google-meet/src/cli.ts","sources":["extensions/google-meet/src/cli-artifact-commands.ts","extensions/google-meet/src/cli-command-context.ts","extensions/google-meet/src/cli-doctor.ts","extensions/google-meet/src/cli-runtime-commands.ts","extensions/google-meet/src/cli-space-commands.ts","extensions/google-meet/src/cli.ts"]},{"output":".setup/cli-export-CaDYoSP8.mjs","sha256":"8db6ab424dd88b4a859d357ac0e946615e0df2449ec39558942eb46f698c1f5b","facadeSource":null,"sources":["extensions/google-meet/src/cli-export.ts","extensions/google-meet/src/cli-shared.ts"]},{"output":".setup/cli-output-mode-BJSm88N9.mjs","sha256":"528e4293c672ae91d3bd6300933e6911779e14eabd8b01bcbbdabcfba40660bb","facadeSource":null,"sources":["extensions/google-meet/src/cli-output-mode.ts"]},{"output":".setup/config-Cu3zsl_3.mjs","sha256":"5e5d56ef00819423c20ed1614fd0c675ad0a81a6b2f14716601ea2041d8baf1f","facadeSource":null,"sources":["extensions/google-meet/src/config.ts"]},{"output":".setup/create-D3fHR8uX.mjs","sha256":"d1be2016ca626deeb61a5fa7bfc2058dbf5d32b677073cdf7651ab432289b277","facadeSource":null,"sources":["extensions/google-meet/src/create.ts"]},{"output":".setup/google-api-B5FR9zy2.mjs","sha256":"a86efec8f6f1fdb4ee4da31a51b90ccdeaa6bc1240e6c6713ba34867fbb4c7be","facadeSource":null,"sources":["extensions/google-meet/src/google-api.ts"]},{"output":".setup/google-meet-platform-adapter-D7poqL1J.mjs","sha256":"aa75343ebd36bfdd5200711c674ad03933952ed4aec41c87bb08366825895c5f","facadeSource":null,"sources":["extensions/google-meet/src/transports/google-meet-caption-observer-source.ts","extensions/google-meet/src/transports/google-meet-caption-scripts.ts","extensions/google-meet/src/transports/google-meet-page-scripts.ts","extensions/google-meet/src/transports/google-meet-platform-adapter.ts","extensions/google-meet/src/transports/twilio.ts","extensions/google-meet/src/transports/types.ts"]},{"output":".setup/google-meet-platform-constants-C83Cdmpd.mjs","sha256":"13b40b9ac51fefa397f235f02dcc00e803083090c5fccfd73dc2e87f919e0a62","facadeSource":null,"sources":["extensions/google-meet/src/browser-manual-action-error.ts","extensions/google-meet/src/transports/google-meet-platform-constants.ts"]},{"output":".setup/meet-url-DzLdrq0Z.mjs","sha256":"97b073e80c8e8f44de27642813aa477c186473870495d3ff4913a7b58209ce6e","facadeSource":null,"sources":["extensions/google-meet/src/meet-url.ts"]},{"output":".setup/node-host-B196lvNZ.mjs","sha256":"74d7703249788503974779804616034a5f0e689394f760a6f4781d3510795ffa","facadeSource":"extensions/google-meet/src/node-host.ts","sources":["extensions/google-meet/src/node-host.ts"]},{"output":".setup/node-invoke-policy-BzRAe25r.mjs","sha256":"b2bf8dadd013e4c46c16885e763c3c6452c70474b04f3181d6229c71705c0a39","facadeSource":"extensions/google-meet/src/node-invoke-policy.ts","sources":["extensions/google-meet/src/node-invoke-policy.ts"]},{"output":".setup/oauth-DGv28ZgA.mjs","sha256":"96d2cd4c05ef3a3518ad966ec88a6b2efaf564952fdb0cf36e6982ca6a414c7d","facadeSource":"extensions/google-meet/src/oauth.ts","sources":["extensions/google-meet/src/oauth.ts"]},{"output":".setup/plugin-helpers-Buhixxsx.mjs","sha256":"b61643fe2def96ef2017385ebe195e83d46041bed880c6a757fa4c699e664686","facadeSource":null,"sources":["extensions/google-meet/src/calendar.ts","extensions/google-meet/src/drive.ts","extensions/google-meet/src/meet-api.ts","extensions/google-meet/src/meet.ts","extensions/google-meet/src/plugin-helpers.ts"]},{"output":".setup/plugin-registration-B_nOxAym.mjs","sha256":"0a14e419df910eabd692de1f7e88797a5d702da972aeca6a59f598d83566bb14","facadeSource":null,"sources":["extensions/google-meet/src/plugin-registration.ts"]},{"output":".setup/runtime-D-dwEsSW.mjs","sha256":"ca497077d99b439536573ce969ee0a8c660db9ffdf2615e855cdb62875b570db","facadeSource":"extensions/google-meet/src/runtime.ts","sources":["extensions/google-meet/src/runtime-probes.ts","extensions/google-meet/src/runtime-setup.ts","extensions/google-meet/src/runtime.ts","extensions/google-meet/src/setup.ts","extensions/google-meet/src/transports/chrome.ts","extensions/google-meet/src/voice-call-gateway.ts"]},{"output":"cli-metadata.js","sha256":"8415f2c36062cc9e6617d8cbee1a519a876399b64f13a31a7f55831ae9611adf","facadeSource":"extensions/google-meet/cli-metadata.ts","sources":["extensions/google-meet/cli-metadata.ts"]},{"output":"doctor-contract-api.js","sha256":"7360f137b716ea3407d6efc6a4ed404dd0db377937b4efa24e88653f0e16345c","facadeSource":"extensions/google-meet/doctor-contract-api.ts","sources":["extensions/google-meet/src/config-compat.ts"]},{"output":"index.js","sha256":"1d3ff8dc19512027a90ec6c50eed4695643e90d661b914c836276549ed9be53a","facadeSource":"extensions/google-meet/index.ts","sources":["extensions/google-meet/index.ts","extensions/google-meet/src/plugin-schema.ts"]}],"unrenderedSources":["extensions/google-meet/doctor-contract-api.ts"]}
|
package/dist/cli-metadata.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as GOOGLE_MEET_CLI_DESCRIPTOR } from "./.setup/cli-output-mode-
|
|
1
|
+
import { t as GOOGLE_MEET_CLI_DESCRIPTOR } from "./.setup/cli-output-mode-BJSm88N9.mjs";
|
|
2
2
|
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
|
|
3
|
-
|
|
3
|
+
// extensions/google-meet/cli-metadata.ts
|
|
4
4
|
var cli_metadata_default = definePluginEntry({
|
|
5
5
|
id: "google-meet",
|
|
6
6
|
name: "Google Meet",
|
|
@@ -9,5 +9,4 @@ var cli_metadata_default = definePluginEntry({
|
|
|
9
9
|
api.registerCli(() => {}, { descriptors: [GOOGLE_MEET_CLI_DESCRIPTOR] });
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
//#endregion
|
|
13
12
|
export { cli_metadata_default as default };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { asNullableRecord, normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
|
-
|
|
2
|
+
// extensions/google-meet/src/config-compat.ts
|
|
3
3
|
function hasLegacyGoogleRealtimeProvider(value) {
|
|
4
4
|
const realtime = asNullableRecord(value);
|
|
5
5
|
if (!realtime || normalizeOptionalLowercaseString(realtime.provider) !== "google") return false;
|
|
@@ -46,5 +46,4 @@ function normalizeCompatibilityConfig({ cfg }) {
|
|
|
46
46
|
changes: []
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
|
-
//#endregion
|
|
50
49
|
export { legacyConfigRules, normalizeCompatibilityConfig };
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { t as GOOGLE_MEET_CLI_DESCRIPTOR } from "./.setup/cli-output-mode-
|
|
2
|
-
import { n as GOOGLE_MEET_NODE_COMMAND } from "./.setup/google-meet-platform-constants-
|
|
3
|
-
import { r as resolveGoogleMeetConfig } from "./.setup/config-
|
|
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-
|
|
1
|
+
import { t as GOOGLE_MEET_CLI_DESCRIPTOR } from "./.setup/cli-output-mode-BJSm88N9.mjs";
|
|
2
|
+
import { n as GOOGLE_MEET_NODE_COMMAND } from "./.setup/google-meet-platform-constants-C83Cdmpd.mjs";
|
|
3
|
+
import { r as resolveGoogleMeetConfig } from "./.setup/config-Cu3zsl_3.mjs";
|
|
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-B_nOxAym.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";
|
|
8
8
|
import { optionalPositiveIntegerSchema } from "openclaw/plugin-sdk/channel-actions";
|
|
9
9
|
import { Type } from "typebox";
|
|
10
|
-
|
|
10
|
+
// extensions/google-meet/src/plugin-schema.ts
|
|
11
11
|
const googleMeetConfigSchema = { parse(value) {
|
|
12
12
|
return resolveGoogleMeetConfig(value);
|
|
13
13
|
} };
|
|
@@ -106,8 +106,7 @@ const GoogleMeetToolSchema = Type.Object({
|
|
|
106
106
|
clientSecret: Type.Optional(Type.String({ description: "OAuth client secret override" })),
|
|
107
107
|
expiresAt: Type.Optional(Type.Number({ description: "Cached access token expiry ms" }))
|
|
108
108
|
});
|
|
109
|
-
|
|
110
|
-
//#region extensions/google-meet/index.ts
|
|
109
|
+
// extensions/google-meet/index.ts
|
|
111
110
|
var InvalidGoogleMeetRequest = class extends Error {};
|
|
112
111
|
function requireSessionId(params) {
|
|
113
112
|
const sessionId = normalizeOptionalString(params?.sessionId);
|
|
@@ -391,5 +390,4 @@ var google_meet_default = definePluginEntry({
|
|
|
391
390
|
});
|
|
392
391
|
}
|
|
393
392
|
});
|
|
394
|
-
//#endregion
|
|
395
393
|
export { google_meet_default as default };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/google-meet",
|
|
3
|
-
"version": "2026.10.10
|
|
3
|
+
"version": "2026.10.10",
|
|
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.35"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"openclaw": ">=2026.10.10
|
|
15
|
+
"openclaw": ">=2026.10.10"
|
|
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.10.10
|
|
33
|
+
"pluginApi": ">=2026.10.10"
|
|
34
34
|
},
|
|
35
35
|
"build": {
|
|
36
|
-
"openclawVersion": "2026.10.10
|
|
36
|
+
"openclawVersion": "2026.10.10"
|
|
37
37
|
},
|
|
38
38
|
"release": {
|
|
39
39
|
"publishToClawHub": true,
|