@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.
Files changed (21) hide show
  1. package/dist/.setup/{chrome-create-CW_QQzuj.mjs → chrome-create-DIcW4QCh.mjs} +4 -7
  2. package/dist/.setup/{cli-CBLj67Qo.mjs → cli-9linTFHb.mjs} +11 -17
  3. package/dist/.setup/{cli-export-3ijBYTqg.mjs → cli-export-CaDYoSP8.mjs} +3 -5
  4. package/dist/.setup/{cli-output-mode-BwH_6tH8.mjs → cli-output-mode-BJSm88N9.mjs} +1 -2
  5. package/dist/.setup/{config-BXGAMntj.mjs → config-Cu3zsl_3.mjs} +1 -2
  6. package/dist/.setup/{create-DMUmVyQg.mjs → create-D3fHR8uX.mjs} +4 -5
  7. package/dist/.setup/{google-api-KAOF1Wn5.mjs → google-api-B5FR9zy2.mjs} +1 -2
  8. package/dist/.setup/{google-meet-platform-adapter-Bz77Bdt-.mjs → google-meet-platform-adapter-D7poqL1J.mjs} +9 -15
  9. package/dist/.setup/{google-meet-platform-constants-CnRfrYX7.mjs → google-meet-platform-constants-C83Cdmpd.mjs} +2 -4
  10. package/dist/.setup/{meet-url-i_QvIxnP.mjs → meet-url-DzLdrq0Z.mjs} +1 -2
  11. package/dist/.setup/{node-host-BP4g4zw3.mjs → node-host-B196lvNZ.mjs} +4 -5
  12. package/dist/.setup/{node-invoke-policy-67WaZNPN.mjs → node-invoke-policy-BzRAe25r.mjs} +3 -4
  13. package/dist/.setup/{oauth-pXa-YQ9H.mjs → oauth-DGv28ZgA.mjs} +2 -3
  14. package/dist/.setup/{plugin-helpers-D3VKNUTD.mjs → plugin-helpers-Buhixxsx.mjs} +11 -17
  15. package/dist/.setup/{plugin-registration-1Oc4T1Bj.mjs → plugin-registration-B_nOxAym.mjs} +9 -10
  16. package/dist/.setup/{runtime-2_R9PsRx.mjs → runtime-D-dwEsSW.mjs} +10 -16
  17. package/dist/.source-module-urls/c06239f68b6f4959b5d3db7e0cee004911d8eb43092f4135c729b507e37f6333.json +1 -1
  18. package/dist/cli-metadata.js +2 -3
  19. package/dist/doctor-contract-api.js +1 -2
  20. package/dist/index.js +6 -8
  21. 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-CnRfrYX7.mjs";
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
- //#region extensions/google-meet/src/transports/chrome-browser-proxy.ts
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
- //#endregion
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
- //#endregion
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-D3VKNUTD.mjs";
2
- import { i as resolveGoogleMeetGatewayOperationTimeoutMs } from "./config-BXGAMntj.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-3ijBYTqg.mjs";
4
- import { buildGoogleMeetAuthUrl, exchangeGoogleMeetAuthCode, resolveGoogleMeetAccessToken, waitForGoogleMeetAuthCode } from "./oauth-pXa-YQ9H.mjs";
5
- import { i as hasGoogleMeetOAuth, r as hasCreateSpaceConfigInput, t as createSpaceFromParams } from "./create-DMUmVyQg.mjs";
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
- //#region extensions/google-meet/src/cli-command-context.ts
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
- //#endregion
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
- //#endregion
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
- //#endregion
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
- //#endregion
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
- //#endregion
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-D3VKNUTD.mjs";
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
- //#region extensions/google-meet/src/cli-shared.ts
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
- //#endregion
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
- //#region extensions/google-meet/src/cli-output-mode.ts
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
- //#region extensions/google-meet/src/config.ts
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-D3VKNUTD.mjs";
2
- import { d as normalizeMode, f as normalizeTransport } from "./plugin-registration-1Oc4T1Bj.mjs";
3
- import { t as createMeetWithBrowserProxyOnNode } from "./chrome-create-CW_QQzuj.mjs";
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
- //#region extensions/google-meet/src/create.ts
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
- //#region extensions/google-meet/src/google-api.ts
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-CnRfrYX7.mjs";
2
- import { t as normalizeMeetUrl } from "./meet-url-i_QvIxnP.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-CW_QQzuj.mjs";
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
- //#region extensions/google-meet/src/transports/types.ts
8
+ // extensions/google-meet/src/transports/types.ts
9
9
  const GOOGLE_MEET_TRANSCRIPT_MAX_LINES = 2e3;
10
- //#endregion
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
- //#endregion
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
- //#endregion
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
- //#endregion
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
- //#endregion
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
- //#region extensions/google-meet/src/browser-manual-action-error.ts
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
- //#endregion
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
- //#region extensions/google-meet/src/meet-url.ts
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-CnRfrYX7.mjs";
2
- import { n as DEFAULT_GOOGLE_MEET_AUDIO_OUTPUT_COMMAND, t as DEFAULT_GOOGLE_MEET_AUDIO_INPUT_COMMAND } from "./config-BXGAMntj.mjs";
3
- import { t as GOOGLE_MEET_PLATFORM_ADAPTER } from "./google-meet-platform-adapter-Bz77Bdt-.mjs";
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
- //#region extensions/google-meet/src/node-host.ts
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-CnRfrYX7.mjs";
2
- import { t as GOOGLE_MEET_PLATFORM_ADAPTER } from "./google-meet-platform-adapter-Bz77Bdt-.mjs";
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
- //#region extensions/google-meet/src/node-invoke-policy.ts
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-KAOF1Wn5.mjs";
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
- //#region extensions/google-meet/src/oauth.ts
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-1Oc4T1Bj.mjs";
2
- import { n as requestGoogleApi } from "./google-api-KAOF1Wn5.mjs";
3
- import { t as normalizeMeetUrl } from "./meet-url-i_QvIxnP.mjs";
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
- //#region \0rolldown/runtime.js
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
- //#endregion
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
- //#endregion
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
- //#endregion
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
- //#endregion
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
- //#endregion
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-3ijBYTqg.mjs").then((n) => n.t));
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-pXa-YQ9H.mjs");
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-CnRfrYX7.mjs";
2
- import { i as resolveGoogleMeetGatewayOperationTimeoutMs } from "./config-BXGAMntj.mjs";
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
- //#region extensions/google-meet/src/plugin-registration.ts
7
- const loadGoogleMeetPluginHelpers = createLazyRuntimeModule(() => import("./plugin-helpers-D3VKNUTD.mjs").then((n) => n.i));
8
- const loadGoogleMeetCliModule = createLazyRuntimeModule(() => import("./cli-CBLj67Qo.mjs"));
9
- const loadGoogleMeetCreateModule = createLazyRuntimeModule(() => import("./create-DMUmVyQg.mjs").then((n) => n.n));
10
- const loadGoogleMeetNodeHostModule = createLazyRuntimeModule(() => import("./node-host-BP4g4zw3.mjs"));
11
- const loadGoogleMeetRuntimeModule = createLazyRuntimeModule(() => import("./runtime-2_R9PsRx.mjs"));
12
- const loadGoogleMeetNodeInvokePolicyModule = createLazyRuntimeModule(() => import("./node-invoke-policy-67WaZNPN.mjs"));
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-CnRfrYX7.mjs";
2
- import { t as normalizeMeetUrl } from "./meet-url-i_QvIxnP.mjs";
3
- import { c as callBrowserProxyOnNode, l as resolveChromeNode, u as resolveChromeNodeInfo } from "./chrome-create-CW_QQzuj.mjs";
4
- import { n as normalizeDialInNumber, t as GOOGLE_MEET_PLATFORM_ADAPTER } from "./google-meet-platform-adapter-Bz77Bdt-.mjs";
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
- //#region extensions/google-meet/src/runtime-probes.ts
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
- //#endregion
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
- //#endregion
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
- //#endregion
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
- //#endregion
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
- //#endregion
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-CW_QQzuj.mjs","sha256":"cbfa4a7f4fbb5ca3fd00d2a5687fbcceaf36d3caa0eda949046f9545d80ae5d7","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-CBLj67Qo.mjs","sha256":"9326f59be8d7c5a103db99b7345cd7ec08a62bef6cc69760f936d67bb858f3c8","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-3ijBYTqg.mjs","sha256":"a36948c6cd000d1bda5904ae175a5d7898f87e04350bfd5e4da0abcba2f59e81","facadeSource":null,"sources":["extensions/google-meet/src/cli-export.ts","extensions/google-meet/src/cli-shared.ts"]},{"output":".setup/cli-output-mode-BwH_6tH8.mjs","sha256":"bbde9126a733b0db7fff56487a223a124c843631cc6f3449932bd01344f5d530","facadeSource":null,"sources":["extensions/google-meet/src/cli-output-mode.ts"]},{"output":".setup/config-BXGAMntj.mjs","sha256":"13c2c3342450925dea8c3deaec0dbd476b0288d0e4a56b3c5ab88b386ad0b95a","facadeSource":null,"sources":["extensions/google-meet/src/config.ts"]},{"output":".setup/create-DMUmVyQg.mjs","sha256":"2a64093e719117451f083debf422b8c396c5b228da947b8e7bb9e4190d4e27f2","facadeSource":null,"sources":["extensions/google-meet/src/create.ts"]},{"output":".setup/google-api-KAOF1Wn5.mjs","sha256":"8557cbc56cb665b5edec14f81b9deb976c618646f0779b3da334abd1a1b6cf3e","facadeSource":null,"sources":["extensions/google-meet/src/google-api.ts"]},{"output":".setup/google-meet-platform-adapter-Bz77Bdt-.mjs","sha256":"6baba2f5b59bebb7641a39673ecdabb2fc88e48e346c0913f37d20cdee9f23b0","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-CnRfrYX7.mjs","sha256":"45a32f4b0996c7e35f0deffcefff6241f77a085a72d5865c8a9f1380bf0198bc","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-i_QvIxnP.mjs","sha256":"f5710a459748fabc498d7dca22c802f17e5a19b4769bd7469a24c253d4e545ce","facadeSource":null,"sources":["extensions/google-meet/src/meet-url.ts"]},{"output":".setup/node-host-BP4g4zw3.mjs","sha256":"81a468a21963c9e1ac1ed08f50b6a0536579c06181a49a95fe73dbff3cbac95d","facadeSource":"extensions/google-meet/src/node-host.ts","sources":["extensions/google-meet/src/node-host.ts"]},{"output":".setup/node-invoke-policy-67WaZNPN.mjs","sha256":"c056116faf42ec2de53885163d07de0604f0233e1696beffa3a2f7a4b7006d6b","facadeSource":"extensions/google-meet/src/node-invoke-policy.ts","sources":["extensions/google-meet/src/node-invoke-policy.ts"]},{"output":".setup/oauth-pXa-YQ9H.mjs","sha256":"30f463d170b7c5e3dd44448bbc9a670a16cd285506803436d6f0d2e123372ed0","facadeSource":"extensions/google-meet/src/oauth.ts","sources":["extensions/google-meet/src/oauth.ts"]},{"output":".setup/plugin-helpers-D3VKNUTD.mjs","sha256":"014780b808f56d0f12e563a84d98e491e0a4801cdf768a121e537d51ddb74c1f","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-1Oc4T1Bj.mjs","sha256":"ccf60891d0d4390608f999b7349a972201063c9d6739905a9e2d2dc0ad4c7c79","facadeSource":null,"sources":["extensions/google-meet/src/plugin-registration.ts"]},{"output":".setup/runtime-2_R9PsRx.mjs","sha256":"6cb116ed04954276be7c752fe7a34995cfb03ff236794b5304d1966af3a85eae","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":"f530e62ab39b76b5110033c1426b9454a04f0c1dac1369bf9c18998a277e0e2f","facadeSource":"extensions/google-meet/cli-metadata.ts","sources":["extensions/google-meet/cli-metadata.ts"]},{"output":"doctor-contract-api.js","sha256":"a848de6bfff4cacd294a9c48e8f8d21c22bd6a62adf46e8b5421ff30e257c3e0","facadeSource":"extensions/google-meet/doctor-contract-api.ts","sources":["extensions/google-meet/src/config-compat.ts"]},{"output":"index.js","sha256":"8956f7f69f32a8251963ec0558c14de2bd75a19f6f9118273fc8579f2eebe138","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"]}
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"]}
@@ -1,6 +1,6 @@
1
- import { t as GOOGLE_MEET_CLI_DESCRIPTOR } from "./.setup/cli-output-mode-BwH_6tH8.mjs";
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
- //#region extensions/google-meet/cli-metadata.ts
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
- //#region extensions/google-meet/src/config-compat.ts
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-BwH_6tH8.mjs";
2
- import { n as GOOGLE_MEET_NODE_COMMAND } from "./.setup/google-meet-platform-constants-CnRfrYX7.mjs";
3
- import { r as resolveGoogleMeetConfig } from "./.setup/config-BXGAMntj.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-1Oc4T1Bj.mjs";
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
- //#region extensions/google-meet/src/plugin-schema.ts
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
- //#endregion
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-beta.4",
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-beta.4"
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-beta.4"
33
+ "pluginApi": ">=2026.10.10"
34
34
  },
35
35
  "build": {
36
- "openclawVersion": "2026.10.10-beta.4"
36
+ "openclawVersion": "2026.10.10"
37
37
  },
38
38
  "release": {
39
39
  "publishToClawHub": true,