@openclaw/google-meet 2026.7.2-beta.5 → 2026.8.1-beta.2

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 (130) hide show
  1. package/dist/chrome-create-PKAyxCiL.js +325 -0
  2. package/dist/{cli-GeuAaEIy.js → cli-o7RWVqDb.js} +166 -234
  3. package/dist/{config-BcaS1BDr.js → config-wBK8loBb.js} +97 -221
  4. package/dist/{create-af1MDlus.js → create-UHeaRzsH.js} +3 -14
  5. package/dist/google-meet-platform-adapter-C3J-iFRE.js +791 -0
  6. package/dist/google-meet-platform-constants-Bs5iAg3E.js +25 -0
  7. package/dist/index.js +185 -2639
  8. package/dist/meet-url-BP2Jlvjs.js +17 -0
  9. package/dist/node-host-BXtXbsMa.js +49 -0
  10. package/dist/node-invoke-policy-B0gOlLJR.js +24 -0
  11. package/dist/{oauth-DOfMKlGp.js → oauth-9sUJ68Mw.js} +3 -14
  12. package/dist/{chrome-create-DMKruRFW.js → plugin-helpers-CfeT1SYY.js} +335 -355
  13. package/dist/plugin-registration-rSOssQmm.js +141 -0
  14. package/dist/runtime-B8d1beHo.js +1308 -0
  15. package/openclaw.plugin.json +8 -47
  16. package/package.json +4 -4
  17. /package/node_modules/{core-util-is → jszip/node_modules/core-util-is}/LICENSE +0 -0
  18. /package/node_modules/{core-util-is → jszip/node_modules/core-util-is}/README.md +0 -0
  19. /package/node_modules/{core-util-is → jszip/node_modules/core-util-is}/lib/util.js +0 -0
  20. /package/node_modules/{core-util-is → jszip/node_modules/core-util-is}/package.json +0 -0
  21. /package/node_modules/{immediate → jszip/node_modules/immediate}/LICENSE.txt +0 -0
  22. /package/node_modules/{immediate → jszip/node_modules/immediate}/README.md +0 -0
  23. /package/node_modules/{immediate → jszip/node_modules/immediate}/dist/immediate.js +0 -0
  24. /package/node_modules/{immediate → jszip/node_modules/immediate}/dist/immediate.min.js +0 -0
  25. /package/node_modules/{immediate → jszip/node_modules/immediate}/lib/browser.js +0 -0
  26. /package/node_modules/{immediate → jszip/node_modules/immediate}/lib/index.js +0 -0
  27. /package/node_modules/{immediate → jszip/node_modules/immediate}/package.json +0 -0
  28. /package/node_modules/{inherits → jszip/node_modules/inherits}/LICENSE +0 -0
  29. /package/node_modules/{inherits → jszip/node_modules/inherits}/README.md +0 -0
  30. /package/node_modules/{inherits → jszip/node_modules/inherits}/inherits.js +0 -0
  31. /package/node_modules/{inherits → jszip/node_modules/inherits}/inherits_browser.js +0 -0
  32. /package/node_modules/{inherits → jszip/node_modules/inherits}/package.json +0 -0
  33. /package/node_modules/{isarray → jszip/node_modules/isarray}/.npmignore +0 -0
  34. /package/node_modules/{isarray → jszip/node_modules/isarray}/.travis.yml +0 -0
  35. /package/node_modules/{isarray → jszip/node_modules/isarray}/Makefile +0 -0
  36. /package/node_modules/{isarray → jszip/node_modules/isarray}/README.md +0 -0
  37. /package/node_modules/{isarray → jszip/node_modules/isarray}/component.json +0 -0
  38. /package/node_modules/{isarray → jszip/node_modules/isarray}/index.js +0 -0
  39. /package/node_modules/{isarray → jszip/node_modules/isarray}/package.json +0 -0
  40. /package/node_modules/{isarray → jszip/node_modules/isarray}/test.js +0 -0
  41. /package/node_modules/{lie → jszip/node_modules/lie}/README.md +0 -0
  42. /package/node_modules/{lie → jszip/node_modules/lie}/dist/lie.js +0 -0
  43. /package/node_modules/{lie → jszip/node_modules/lie}/dist/lie.min.js +0 -0
  44. /package/node_modules/{lie → jszip/node_modules/lie}/dist/lie.polyfill.js +0 -0
  45. /package/node_modules/{lie → jszip/node_modules/lie}/dist/lie.polyfill.min.js +0 -0
  46. /package/node_modules/{lie → jszip/node_modules/lie}/lib/browser.js +0 -0
  47. /package/node_modules/{lie → jszip/node_modules/lie}/lib/index.js +0 -0
  48. /package/node_modules/{lie → jszip/node_modules/lie}/license.md +0 -0
  49. /package/node_modules/{lie → jszip/node_modules/lie}/lie.d.ts +0 -0
  50. /package/node_modules/{lie → jszip/node_modules/lie}/package.json +0 -0
  51. /package/node_modules/{lie → jszip/node_modules/lie}/polyfill.js +0 -0
  52. /package/node_modules/{pako → jszip/node_modules/pako}/CHANGELOG.md +0 -0
  53. /package/node_modules/{pako → jszip/node_modules/pako}/LICENSE +0 -0
  54. /package/node_modules/{pako → jszip/node_modules/pako}/README.md +0 -0
  55. /package/node_modules/{pako → jszip/node_modules/pako}/dist/pako.js +0 -0
  56. /package/node_modules/{pako → jszip/node_modules/pako}/dist/pako.min.js +0 -0
  57. /package/node_modules/{pako → jszip/node_modules/pako}/dist/pako_deflate.js +0 -0
  58. /package/node_modules/{pako → jszip/node_modules/pako}/dist/pako_deflate.min.js +0 -0
  59. /package/node_modules/{pako → jszip/node_modules/pako}/dist/pako_inflate.js +0 -0
  60. /package/node_modules/{pako → jszip/node_modules/pako}/dist/pako_inflate.min.js +0 -0
  61. /package/node_modules/{pako → jszip/node_modules/pako}/index.js +0 -0
  62. /package/node_modules/{pako → jszip/node_modules/pako}/lib/deflate.js +0 -0
  63. /package/node_modules/{pako → jszip/node_modules/pako}/lib/inflate.js +0 -0
  64. /package/node_modules/{pako → jszip/node_modules/pako}/lib/utils/common.js +0 -0
  65. /package/node_modules/{pako → jszip/node_modules/pako}/lib/utils/strings.js +0 -0
  66. /package/node_modules/{pako → jszip/node_modules/pako}/lib/zlib/README +0 -0
  67. /package/node_modules/{pako → jszip/node_modules/pako}/lib/zlib/adler32.js +0 -0
  68. /package/node_modules/{pako → jszip/node_modules/pako}/lib/zlib/constants.js +0 -0
  69. /package/node_modules/{pako → jszip/node_modules/pako}/lib/zlib/crc32.js +0 -0
  70. /package/node_modules/{pako → jszip/node_modules/pako}/lib/zlib/deflate.js +0 -0
  71. /package/node_modules/{pako → jszip/node_modules/pako}/lib/zlib/gzheader.js +0 -0
  72. /package/node_modules/{pako → jszip/node_modules/pako}/lib/zlib/inffast.js +0 -0
  73. /package/node_modules/{pako → jszip/node_modules/pako}/lib/zlib/inflate.js +0 -0
  74. /package/node_modules/{pako → jszip/node_modules/pako}/lib/zlib/inftrees.js +0 -0
  75. /package/node_modules/{pako → jszip/node_modules/pako}/lib/zlib/messages.js +0 -0
  76. /package/node_modules/{pako → jszip/node_modules/pako}/lib/zlib/trees.js +0 -0
  77. /package/node_modules/{pako → jszip/node_modules/pako}/lib/zlib/zstream.js +0 -0
  78. /package/node_modules/{pako → jszip/node_modules/pako}/package.json +0 -0
  79. /package/node_modules/{process-nextick-args → jszip/node_modules/process-nextick-args}/index.js +0 -0
  80. /package/node_modules/{process-nextick-args → jszip/node_modules/process-nextick-args}/license.md +0 -0
  81. /package/node_modules/{process-nextick-args → jszip/node_modules/process-nextick-args}/package.json +0 -0
  82. /package/node_modules/{process-nextick-args → jszip/node_modules/process-nextick-args}/readme.md +0 -0
  83. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/.travis.yml +0 -0
  84. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/CONTRIBUTING.md +0 -0
  85. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/GOVERNANCE.md +0 -0
  86. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/LICENSE +0 -0
  87. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/README.md +0 -0
  88. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/doc/wg-meetings/2015-01-30.md +0 -0
  89. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/duplex-browser.js +0 -0
  90. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/duplex.js +0 -0
  91. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/lib/_stream_duplex.js +0 -0
  92. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/lib/_stream_passthrough.js +0 -0
  93. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/lib/_stream_readable.js +0 -0
  94. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/lib/_stream_transform.js +0 -0
  95. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/lib/_stream_writable.js +0 -0
  96. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/lib/internal/streams/BufferList.js +0 -0
  97. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/lib/internal/streams/destroy.js +0 -0
  98. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/lib/internal/streams/stream-browser.js +0 -0
  99. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/lib/internal/streams/stream.js +0 -0
  100. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/package.json +0 -0
  101. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/passthrough.js +0 -0
  102. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/readable-browser.js +0 -0
  103. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/readable.js +0 -0
  104. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/transform.js +0 -0
  105. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/writable-browser.js +0 -0
  106. /package/node_modules/{readable-stream → jszip/node_modules/readable-stream}/writable.js +0 -0
  107. /package/node_modules/{safe-buffer → jszip/node_modules/safe-buffer}/LICENSE +0 -0
  108. /package/node_modules/{safe-buffer → jszip/node_modules/safe-buffer}/README.md +0 -0
  109. /package/node_modules/{safe-buffer → jszip/node_modules/safe-buffer}/index.d.ts +0 -0
  110. /package/node_modules/{safe-buffer → jszip/node_modules/safe-buffer}/index.js +0 -0
  111. /package/node_modules/{safe-buffer → jszip/node_modules/safe-buffer}/package.json +0 -0
  112. /package/node_modules/{setimmediate → jszip/node_modules/setimmediate}/LICENSE.txt +0 -0
  113. /package/node_modules/{setimmediate → jszip/node_modules/setimmediate}/package.json +0 -0
  114. /package/node_modules/{setimmediate → jszip/node_modules/setimmediate}/setImmediate.js +0 -0
  115. /package/node_modules/{string_decoder → jszip/node_modules/string_decoder}/.travis.yml +0 -0
  116. /package/node_modules/{string_decoder → jszip/node_modules/string_decoder}/LICENSE +0 -0
  117. /package/node_modules/{string_decoder → jszip/node_modules/string_decoder}/README.md +0 -0
  118. /package/node_modules/{string_decoder → jszip/node_modules/string_decoder}/lib/string_decoder.js +0 -0
  119. /package/node_modules/{string_decoder → jszip/node_modules/string_decoder}/package.json +0 -0
  120. /package/node_modules/{util-deprecate → jszip/node_modules/util-deprecate}/History.md +0 -0
  121. /package/node_modules/{util-deprecate → jszip/node_modules/util-deprecate}/LICENSE +0 -0
  122. /package/node_modules/{util-deprecate → jszip/node_modules/util-deprecate}/README.md +0 -0
  123. /package/node_modules/{util-deprecate → jszip/node_modules/util-deprecate}/browser.js +0 -0
  124. /package/node_modules/{util-deprecate → jszip/node_modules/util-deprecate}/node.js +0 -0
  125. /package/node_modules/{util-deprecate → jszip/node_modules/util-deprecate}/package.json +0 -0
  126. /package/node_modules/{parse-ms → pretty-ms/node_modules/parse-ms}/index.d.ts +0 -0
  127. /package/node_modules/{parse-ms → pretty-ms/node_modules/parse-ms}/index.js +0 -0
  128. /package/node_modules/{parse-ms → pretty-ms/node_modules/parse-ms}/license +0 -0
  129. /package/node_modules/{parse-ms → pretty-ms/node_modules/parse-ms}/package.json +0 -0
  130. /package/node_modules/{parse-ms → pretty-ms/node_modules/parse-ms}/readme.md +0 -0
@@ -0,0 +1,17 @@
1
+ import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
2
+ //#region extensions/google-meet/src/meet-url.ts
3
+ function normalizeMeetUrl(input) {
4
+ const raw = normalizeOptionalString(input);
5
+ if (!raw) throw new Error("url required");
6
+ let url;
7
+ try {
8
+ url = new URL(raw);
9
+ } catch {
10
+ throw new Error("url must be a valid Google Meet URL");
11
+ }
12
+ if (url.protocol !== "https:" || url.hostname.toLowerCase() !== "meet.google.com" || url.port || url.username || url.password) throw new Error("url must be an explicit https://meet.google.com/... URL");
13
+ 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");
14
+ return url.toString();
15
+ }
16
+ //#endregion
17
+ export { normalizeMeetUrl as t };
@@ -0,0 +1,49 @@
1
+ import { n as GOOGLE_MEET_NODE_COMMAND } from "./google-meet-platform-constants-Bs5iAg3E.js";
2
+ import { n as DEFAULT_GOOGLE_MEET_AUDIO_OUTPUT_COMMAND, t as DEFAULT_GOOGLE_MEET_AUDIO_INPUT_COMMAND } from "./config-wBK8loBb.js";
3
+ import { t as GOOGLE_MEET_PLATFORM_ADAPTER } from "./google-meet-platform-adapter-C3J-iFRE.js";
4
+ import { MeetingPlatformAdapter } from "openclaw/plugin-sdk/meeting-runtime";
5
+ //#region extensions/google-meet/src/node-host.ts
6
+ function normalizeMeetKey(value) {
7
+ if (!value) return;
8
+ try {
9
+ const url = new URL(value);
10
+ if (url.hostname.toLowerCase() !== "meet.google.com") return value;
11
+ return /^\/([a-z]{3}-[a-z]{4}-[a-z]{3})(?:$|[/?#])/i.exec(url.pathname)?.[1]?.toLowerCase() ?? value;
12
+ } catch {
13
+ return value;
14
+ }
15
+ }
16
+ const googleMeetNodeHost = MeetingPlatformAdapter.createNodeHostHandler({
17
+ commandName: GOOGLE_MEET_NODE_COMMAND,
18
+ displayName: "Google Meet",
19
+ browserLabel: "Meet",
20
+ bridgeIdPrefix: "meet_node_",
21
+ defaultAudioInputCommand: DEFAULT_GOOGLE_MEET_AUDIO_INPUT_COMMAND,
22
+ defaultAudioOutputCommand: DEFAULT_GOOGLE_MEET_AUDIO_OUTPUT_COMMAND,
23
+ defaultAudio: {
24
+ backend: "auto",
25
+ bufferBytes: 4096,
26
+ format: "pcm16-24khz"
27
+ },
28
+ meetingLabel: "Google Meet",
29
+ sharePrerequisiteDeadline: true,
30
+ talkBackModes: /* @__PURE__ */ new Set([
31
+ "agent",
32
+ "bidi",
33
+ "realtime"
34
+ ]),
35
+ agentMode: "agent",
36
+ normalizeUrl: (url) => GOOGLE_MEET_PLATFORM_ADAPTER.urls.validateAndNormalize(url),
37
+ normalizeMeetingKey: normalizeMeetKey,
38
+ browser: {
39
+ application: "Google Chrome",
40
+ buildProfileArgs: (profile) => ["--args", `--profile-directory=${profile}`],
41
+ openedStatus: "chrome-opened",
42
+ openedNotes: ["Browser page control is handled by OpenClaw browser automation when using chrome-node."]
43
+ }
44
+ });
45
+ async function handleGoogleMeetNodeHostCommand(paramsJSON) {
46
+ return await googleMeetNodeHost(paramsJSON);
47
+ }
48
+ //#endregion
49
+ export { handleGoogleMeetNodeHostCommand };
@@ -0,0 +1,24 @@
1
+ import { n as GOOGLE_MEET_NODE_COMMAND } from "./google-meet-platform-constants-Bs5iAg3E.js";
2
+ import { t as GOOGLE_MEET_PLATFORM_ADAPTER } from "./google-meet-platform-adapter-C3J-iFRE.js";
3
+ import { createMeetingBrowserNodeInvokePolicy } from "openclaw/plugin-sdk/meeting-runtime";
4
+ //#region extensions/google-meet/src/node-invoke-policy.ts
5
+ const GOOGLE_MEET_CHROME_NODE_COMMAND = GOOGLE_MEET_NODE_COMMAND;
6
+ const START_MODES = /* @__PURE__ */ new Set([
7
+ "agent",
8
+ "bidi",
9
+ "realtime",
10
+ "transcribe"
11
+ ]);
12
+ function createGoogleMeetChromeNodeInvokePolicy(config) {
13
+ return createMeetingBrowserNodeInvokePolicy({
14
+ commandName: GOOGLE_MEET_CHROME_NODE_COMMAND,
15
+ displayName: "Google Meet",
16
+ deniedCode: "GOOGLE_MEET_NODE_POLICY_DENIED",
17
+ supportedModes: START_MODES,
18
+ normalizeUrl: (url) => GOOGLE_MEET_PLATFORM_ADAPTER.urls.validateAndNormalize(url),
19
+ useConfiguredSetupCommands: true,
20
+ start: config.chrome
21
+ });
22
+ }
23
+ //#endregion
24
+ export { GOOGLE_MEET_CHROME_NODE_COMMAND, createGoogleMeetChromeNodeInvokePolicy };
@@ -1,9 +1,8 @@
1
1
  import { n as readGoogleApiErrorDetail } from "./google-api-errors-CDUYkIcK.js";
2
+ import { MAX_DATE_TIMESTAMP_MS, resolveDateTimestampMs, resolveExpiresAtMsFromDurationSeconds } from "openclaw/plugin-sdk/number-runtime";
3
+ import { parseOAuthCallbackInput, waitForLocalOAuthCallback } from "openclaw/plugin-sdk/provider-auth-runtime";
2
4
  import { readProviderJsonResponse } from "openclaw/plugin-sdk/provider-http";
3
5
  import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
4
- import { MAX_DATE_TIMESTAMP_MS, resolveDateTimestampMs, resolveExpiresAtMsFromDurationSeconds } from "openclaw/plugin-sdk/number-runtime";
5
- import { generateHexPkceVerifierChallenge } from "openclaw/plugin-sdk/provider-auth";
6
- import { generateOAuthState, parseOAuthCallbackInput, waitForLocalOAuthCallback } from "openclaw/plugin-sdk/provider-auth-runtime";
7
6
  //#region extensions/google-meet/src/oauth.ts
8
7
  const GOOGLE_MEET_REDIRECT_URI = "http://localhost:8085/oauth2callback";
9
8
  const GOOGLE_MEET_AUTH_URL = "https://accounts.google.com/o/oauth2/v2/auth";
@@ -119,16 +118,6 @@ async function resolveGoogleMeetAccessToken(params) {
119
118
  refreshed: true
120
119
  };
121
120
  }
122
- function createGoogleMeetPkce() {
123
- const { verifier, challenge } = generateHexPkceVerifierChallenge();
124
- return {
125
- verifier,
126
- challenge
127
- };
128
- }
129
- function createGoogleMeetOAuthState() {
130
- return generateOAuthState();
131
- }
132
121
  function isLocalCallbackListenerError(error) {
133
122
  if (!(error instanceof Error)) return false;
134
123
  return error.message.includes("EADDRINUSE") || error.message.includes("port") || error.message.includes("listen");
@@ -167,4 +156,4 @@ async function waitForGoogleMeetAuthCode(params) {
167
156
  }
168
157
  }
169
158
  //#endregion
170
- export { buildGoogleMeetAuthUrl, createGoogleMeetOAuthState, createGoogleMeetPkce, exchangeGoogleMeetAuthCode, resolveGoogleMeetAccessToken, waitForGoogleMeetAuthCode };
159
+ export { buildGoogleMeetAuthUrl, exchangeGoogleMeetAuthCode, resolveGoogleMeetAccessToken, waitForGoogleMeetAuthCode };