@openclaw/google-meet 2026.9.3 → 2026.9.5

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 (175) hide show
  1. package/assets/activity.svg +40 -0
  2. package/assets/icon.png +0 -0
  3. package/dist/{chrome-create-PKAyxCiL.js → .setup/chrome-create-BZRBHJp9.mjs} +1 -1
  4. package/dist/{cli-HxUMx7pI.js → .setup/cli-MJjnaxoP.mjs} +68 -88
  5. package/dist/{config-wBK8loBb.js → .setup/config-C-6enWkx.mjs} +2 -0
  6. package/dist/{create-BbQ9g_AK.js → .setup/create-sGWmlpgC.mjs} +3 -3
  7. package/dist/{google-meet-platform-adapter-C3J-iFRE.js → .setup/google-meet-platform-adapter-DQZ74Kd5.mjs} +32 -3
  8. package/dist/{node-host-BXtXbsMa.js → .setup/node-host-BOzEP_Us.mjs} +3 -3
  9. package/dist/{node-invoke-policy-B0gOlLJR.js → .setup/node-invoke-policy-hwXq9MfV.mjs} +2 -2
  10. package/dist/{oauth-DgBscjXK.js → .setup/oauth-22Ey-zCb.mjs} +1 -1
  11. package/dist/{plugin-helpers-DkI5A7LT.js → .setup/plugin-helpers-rGjL9QFK.mjs} +5 -5
  12. package/dist/{plugin-registration-ona5lHdz.js → .setup/plugin-registration-CfZbUMDY.mjs} +7 -7
  13. package/dist/{runtime-BKbf6Uj_.js → .setup/runtime-D_C0dFI1.mjs} +22 -307
  14. package/dist/cli-metadata.js +1 -1
  15. package/dist/index.js +4 -4
  16. package/node_modules/jszip/.github/FUNDING.yml +1 -0
  17. package/node_modules/jszip/.github/actions/setup/action.yml +23 -0
  18. package/node_modules/jszip/.github/workflows/benchmark.yml +38 -0
  19. package/node_modules/jszip/.github/workflows/main.yml +55 -0
  20. package/node_modules/jszip/CHANGES.md +6 -0
  21. package/node_modules/jszip/dist/jszip.js +28 -19
  22. package/node_modules/jszip/dist/jszip.min.js +2 -2
  23. package/node_modules/jszip/index.d.ts +14 -0
  24. package/node_modules/jszip/lib/index.js +1 -1
  25. package/node_modules/jszip/lib/utils.js +26 -17
  26. package/node_modules/jszip/package.json +2 -2
  27. package/node_modules/typebox/build/compile/validator.d.mts +1 -1
  28. package/node_modules/typebox/build/compile/validator.mjs +1 -1
  29. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
  30. package/node_modules/typebox/build/format/iri.mjs +5 -1
  31. package/node_modules/typebox/build/guard/emit.mjs +2 -4
  32. package/node_modules/typebox/build/guard/guard.mjs +6 -18
  33. package/node_modules/typebox/build/guard/string.mjs +16 -24
  34. package/node_modules/typebox/build/schema/build.mjs +2 -2
  35. package/node_modules/typebox/build/schema/check.mjs +1 -1
  36. package/node_modules/typebox/build/schema/compile.d.mts +3 -2
  37. package/node_modules/typebox/build/schema/compile.mjs +8 -8
  38. package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
  39. package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
  40. package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
  41. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
  42. package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
  43. package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
  44. package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
  45. package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
  46. package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
  47. package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
  48. package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
  49. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
  50. package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
  51. package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
  52. package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
  53. package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
  54. package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
  55. package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
  56. package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
  57. package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
  58. package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
  59. package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
  60. package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
  61. package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
  62. package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
  63. package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
  64. package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
  65. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
  66. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
  67. package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
  68. package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
  69. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
  70. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
  71. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
  72. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
  73. package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
  74. package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
  75. package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
  76. package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
  77. package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
  78. package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
  79. package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
  80. package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
  81. package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
  82. package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
  83. package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
  84. package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
  85. package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
  86. package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
  87. package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
  88. package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
  89. package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
  90. package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
  91. package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
  92. package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
  93. package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
  94. package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
  95. package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
  96. package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
  97. package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
  98. package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
  99. package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
  100. package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
  101. package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
  102. package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
  103. package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
  104. package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
  105. package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
  106. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
  107. package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
  108. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
  109. package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
  110. package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
  111. package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
  112. package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
  113. package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
  114. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
  115. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
  116. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
  117. package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
  118. package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
  119. package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
  120. package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
  121. package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
  122. package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
  123. package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
  124. package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
  125. package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
  126. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
  127. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
  128. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
  129. package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
  130. package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
  131. package/node_modules/typebox/build/schema/errors.d.mts +2 -2
  132. package/node_modules/typebox/build/schema/errors.mjs +8 -14
  133. package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
  134. package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
  135. package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
  136. package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
  137. package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
  138. package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
  139. package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
  140. package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
  141. package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
  142. package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
  143. package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
  144. package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
  145. package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
  146. package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
  147. package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
  148. package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
  149. package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
  150. package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
  151. package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
  152. package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
  153. package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
  154. package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
  155. package/node_modules/typebox/build/schema/parse.d.mts +1 -0
  156. package/node_modules/typebox/build/schema/parse.mjs +10 -5
  157. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
  158. package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
  159. package/node_modules/typebox/build/schema/schema.d.mts +2 -0
  160. package/node_modules/typebox/build/schema/schema.mjs +2 -0
  161. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
  162. package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
  163. package/node_modules/typebox/package.json +1 -1
  164. package/node_modules/typebox/readme.md +59 -89
  165. package/openclaw.plugin.json +33 -0
  166. package/package.json +10 -7
  167. package/node_modules/jszip/.github/workflows/pr.yaml +0 -58
  168. package/node_modules/jszip/.jekyll-metadata +0 -0
  169. package/node_modules/jszip/.travis.yml +0 -17
  170. package/node_modules/jszip/deps.js +0 -37
  171. package/node_modules/jszip/graph.svg +0 -601
  172. /package/dist/{cli-output-mode-BwH_6tH8.js → .setup/cli-output-mode-BwH_6tH8.mjs} +0 -0
  173. /package/dist/{google-api-errors-BDYXfKRa.js → .setup/google-api-errors-BDYXfKRa.mjs} +0 -0
  174. /package/dist/{google-meet-platform-constants-Bs5iAg3E.js → .setup/google-meet-platform-constants-Bs5iAg3E.mjs} +0 -0
  175. /package/dist/{meet-url-BP2Jlvjs.js → .setup/meet-url-BP2Jlvjs.mjs} +0 -0
@@ -0,0 +1,40 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2
+ <!--
3
+ Source: simple-icons@16.31.0, icons/googlemeet.svg
4
+ https://www.npmjs.com/package/simple-icons/v/16.31.0
5
+ https://github.com/simple-icons/simple-icons
6
+
7
+ # CC0 1.0 Universal
8
+
9
+ ## Statement of Purpose
10
+
11
+ The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an “owner”) of an original work of authorship and/or a database (each, a “Work”).
12
+
13
+ Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works (“Commons”) that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.
14
+
15
+ For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the “Affirmer”), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.
16
+
17
+ 1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights (“Copyright and Related Rights”). Copyright and Related Rights include, but are not limited to, the following:
18
+ 1. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
19
+ 2. moral rights retained by the original author(s) and/or performer(s);
20
+ 3. publicity and privacy rights pertaining to a person’s image or likeness depicted in a Work;
21
+ 4. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(i), below;
22
+ 5. rights protecting the extraction, dissemination, use and reuse of data in a Work;
23
+ 6. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
24
+ 7. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
25
+
26
+ 2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “Waiver”). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer’s heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer’s express Statement of Purpose.
27
+
28
+ 3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer’s express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer’s Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “License”). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer’s express Statement of Purpose.
29
+
30
+ 4. Limitations and Disclaimers.
31
+ 1. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
32
+ 2. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
33
+ 3. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person’s Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
34
+ 4. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
35
+
36
+ For more information, please see <https://creativecommons.org/publicdomain/zero/1.0>.
37
+ Names and marks remain the property of their respective owners.
38
+ -->
39
+ <path fill="currentColor" stroke="none" d="M5.53 2.13 0 7.75h5.53zm.398 0v5.62h7.608v3.65l5.47-4.45c-.014-1.22.031-2.25-.025-3.46-.148-1.09-1.287-1.47-2.236-1.36zM23.1 4.32c-.802.295-1.358.995-2.047 1.49-2.506 2.05-4.982 4.12-7.468 6.19 3.025 2.59 6.04 5.18 9.065 7.76 1.218.671 1.428-.814 1.328-1.64v-13a.828.828 0 0 0-.877-.825zM.038 8.15v7.7h5.53v-7.7zm13.577 8.1H6.008v5.62c3.864-.006 7.737.011 11.58-.009 1.02-.07 1.618-1.12 1.468-2.07v-2.51l-5.47-4.68v3.65zm-13.577 0c.02 1.44-.041 2.88.033 4.31.162.948 1.158 1.43 2.047 1.31h3.464v-5.62z" />
40
+ </svg>
Binary file
@@ -1,4 +1,4 @@
1
- import { r as GoogleMeetBrowserManualActionError, t as GOOGLE_MEET_BROWSER_NODE_ADAPTER } from "./google-meet-platform-constants-Bs5iAg3E.js";
1
+ import { r as GoogleMeetBrowserManualActionError, t as GOOGLE_MEET_BROWSER_NODE_ADAPTER } from "./google-meet-platform-constants-Bs5iAg3E.mjs";
2
2
  import { sleep } from "openclaw/plugin-sdk/runtime-env";
3
3
  import { asMeetingBrowserTabs, callMeetingBrowserProxyOnNode, readMeetingBrowserTab, resolveMeetingBrowserNode, resolveMeetingBrowserNodeInfo } from "openclaw/plugin-sdk/meeting-runtime";
4
4
  //#region extensions/google-meet/src/transports/chrome-browser-proxy.ts
@@ -1,7 +1,7 @@
1
- import { a as resolveGoogleMeetTokenFromParams, c as buildGoogleMeetPreflightReport, d as fetchGoogleMeetSpace, f as fetchLatestGoogleMeetConferenceRecord, i as resolveArtifactQueryFromParams, l as createGoogleMeetSpace, m as listGoogleMeetCalendarEvents, n as fetchResolvedGoogleMeetAttendance, o as resolveMeetingFromParams, p as buildGoogleMeetCalendarDayWindow, s as resolveSpaceFromParams, t as fetchResolvedGoogleMeetArtifacts, u as endGoogleMeetActiveConference } from "./plugin-helpers-DkI5A7LT.js";
2
- import { i as resolveGoogleMeetGatewayOperationTimeoutMs } from "./config-wBK8loBb.js";
3
- import { buildGoogleMeetAuthUrl, exchangeGoogleMeetAuthCode, resolveGoogleMeetAccessToken, waitForGoogleMeetAuthCode } from "./oauth-DgBscjXK.js";
4
- import { n as hasCreateSpaceConfigInput, r as resolveCreateSpaceConfig } from "./create-BbQ9g_AK.js";
1
+ import { a as resolveGoogleMeetTokenFromParams, c as buildGoogleMeetPreflightReport, d as fetchGoogleMeetSpace, f as fetchLatestGoogleMeetConferenceRecord, i as resolveArtifactQueryFromParams, l as createGoogleMeetSpace, m as listGoogleMeetCalendarEvents, n as fetchResolvedGoogleMeetAttendance, o as resolveMeetingFromParams, p as buildGoogleMeetCalendarDayWindow, s as resolveSpaceFromParams, t as fetchResolvedGoogleMeetArtifacts, u as endGoogleMeetActiveConference } from "./plugin-helpers-rGjL9QFK.mjs";
2
+ import { i as resolveGoogleMeetGatewayOperationTimeoutMs } from "./config-C-6enWkx.mjs";
3
+ import { buildGoogleMeetAuthUrl, exchangeGoogleMeetAuthCode, resolveGoogleMeetAccessToken, waitForGoogleMeetAuthCode } from "./oauth-22Ey-zCb.mjs";
4
+ import { n as hasCreateSpaceConfigInput, r as resolveCreateSpaceConfig } from "./create-sGWmlpgC.mjs";
5
5
  import { clampTimerTimeoutMs, parseStrictNonNegativeInteger, parseStrictPositiveInteger } from "openclaw/plugin-sdk/number-runtime";
6
6
  import { callGatewayFromCli, isGatewayClientRequestError, isGatewayTransportError } from "openclaw/plugin-sdk/gateway-runtime";
7
7
  import { generateHexPkceVerifierChallenge } from "openclaw/plugin-sdk/provider-auth";
@@ -254,53 +254,57 @@ function writeLeaveResult(sessionId, result) {
254
254
  }
255
255
  //#endregion
256
256
  //#region extensions/google-meet/src/cli-export.ts
257
- function writeArtifactsSummary(result) {
258
- if (result.input) writeStdoutLine("input: %s", result.input);
259
- if (result.space) writeStdoutLine("space: %s", result.space.name);
260
- writeStdoutLine("conference records: %d", result.conferenceRecords.length);
257
+ function renderArtifactsSummary(result) {
258
+ const lines = [];
259
+ if (result.input) lines.push(`input: ${result.input}`);
260
+ if (result.space) lines.push(`space: ${result.space.name}`);
261
+ lines.push(`conference records: ${result.conferenceRecords.length}`);
261
262
  for (const entry of result.artifacts) {
262
- writeStdoutLine("");
263
- writeStdoutLine("record: %s", entry.conferenceRecord.name);
264
- writeStdoutLine("started: %s", formatOptional(entry.conferenceRecord.startTime));
265
- writeStdoutLine("ended: %s", formatOptional(entry.conferenceRecord.endTime));
266
- writeStdoutLine("participants: %d", entry.participants.length);
267
- writeStdoutLine("recordings: %d", entry.recordings.length);
268
- writeStdoutLine("transcripts: %d", entry.transcripts.length);
269
- writeStdoutLine("transcript entries: %d", entry.transcriptEntries.reduce((count, transcript) => count + transcript.entries.length, 0));
270
- writeStdoutLine("smart notes: %d", entry.smartNotes.length);
271
- if (entry.smartNotesError) writeStdoutLine("smart notes warning: %s", entry.smartNotesError);
272
- for (const recording of entry.recordings) writeStdoutLine("- recording: %s", recording.name);
263
+ lines.push("");
264
+ lines.push(`record: ${entry.conferenceRecord.name}`);
265
+ lines.push(`started: ${formatOptional(entry.conferenceRecord.startTime)}`);
266
+ lines.push(`ended: ${formatOptional(entry.conferenceRecord.endTime)}`);
267
+ lines.push(`participants: ${entry.participants.length}`);
268
+ lines.push(`recordings: ${entry.recordings.length}`);
269
+ lines.push(`transcripts: ${entry.transcripts.length}`);
270
+ lines.push(`transcript entries: ${entry.transcriptEntries.reduce((count, transcript) => count + transcript.entries.length, 0)}`);
271
+ lines.push(`smart notes: ${entry.smartNotes.length}`);
272
+ if (entry.smartNotesError) lines.push(`smart notes warning: ${entry.smartNotesError}`);
273
+ for (const recording of entry.recordings) lines.push(`- recording: ${recording.name}`);
273
274
  for (const transcript of entry.transcripts) {
274
- writeStdoutLine("- transcript: %s", transcript.name);
275
- if (transcript.documentTextError) writeStdoutLine("- transcript document body warning: %s", transcript.documentTextError);
275
+ lines.push(`- transcript: ${transcript.name}`);
276
+ if (transcript.documentTextError) lines.push(`- transcript document body warning: ${transcript.documentTextError}`);
276
277
  }
277
- for (const transcriptEntries of entry.transcriptEntries) if (transcriptEntries.entriesError) writeStdoutLine("- transcript entries warning: %s: %s", transcriptEntries.transcript, transcriptEntries.entriesError);
278
+ for (const transcriptEntries of entry.transcriptEntries) if (transcriptEntries.entriesError) lines.push(`- transcript entries warning: ${transcriptEntries.transcript}: ${transcriptEntries.entriesError}`);
278
279
  for (const smartNote of entry.smartNotes) {
279
- writeStdoutLine("- smart note: %s", smartNote.name);
280
- if (smartNote.documentTextError) writeStdoutLine("- smart note document body warning: %s", smartNote.documentTextError);
280
+ lines.push(`- smart note: ${smartNote.name}`);
281
+ if (smartNote.documentTextError) lines.push(`- smart note document body warning: ${smartNote.documentTextError}`);
281
282
  }
282
283
  }
284
+ return `${lines.join("\n")}\n`;
283
285
  }
284
- function writeAttendanceSummary(result) {
285
- if (result.input) writeStdoutLine("input: %s", result.input);
286
- if (result.space) writeStdoutLine("space: %s", result.space.name);
287
- writeStdoutLine("conference records: %d", result.conferenceRecords.length);
288
- writeStdoutLine("attendance rows: %d", result.attendance.length);
286
+ function renderAttendanceSummary(result) {
287
+ const lines = [];
288
+ if (result.input) lines.push(`input: ${result.input}`);
289
+ if (result.space) lines.push(`space: ${result.space.name}`);
290
+ lines.push(`conference records: ${result.conferenceRecords.length}`);
291
+ lines.push(`attendance rows: ${result.attendance.length}`);
289
292
  for (const row of result.attendance) {
290
293
  const identity = row.displayName || row.user || row.participant;
291
- writeStdoutLine("");
292
- writeStdoutLine("participant: %s", identity);
293
- writeStdoutLine("record: %s", row.conferenceRecord);
294
- writeStdoutLine("resource: %s", row.participant);
295
- writeStdoutLine("participants merged: %d", row.participants?.length ?? 1);
296
- writeStdoutLine("first joined: %s", formatOptional(row.firstJoinTime ?? row.earliestStartTime));
297
- writeStdoutLine("last left: %s", formatOptional(row.lastLeaveTime ?? row.latestEndTime));
298
- writeStdoutLine("duration: %s", formatDuration(row.durationMs));
299
- writeStdoutLine("late: %s", row.late ? formatDuration(row.lateByMs) : "no");
300
- writeStdoutLine("early leave: %s", row.earlyLeave ? formatDuration(row.earlyLeaveByMs) : "no");
301
- writeStdoutLine("sessions: %d", row.sessions.length);
302
- for (const session of row.sessions) writeStdoutLine("- %s: %s -> %s", session.name, formatOptional(session.startTime), formatOptional(session.endTime));
294
+ lines.push("");
295
+ lines.push(`participant: ${identity}`);
296
+ lines.push(`record: ${row.conferenceRecord}`);
297
+ lines.push(`resource: ${row.participant}`);
298
+ lines.push(`participants merged: ${row.participants?.length ?? 1}`);
299
+ lines.push(`first joined: ${formatOptional(row.firstJoinTime ?? row.earliestStartTime)}`);
300
+ lines.push(`last left: ${formatOptional(row.lastLeaveTime ?? row.latestEndTime)}`);
301
+ lines.push(`duration: ${formatDuration(row.durationMs)}`);
302
+ lines.push(`late: ${row.late ? formatDuration(row.lateByMs) : "no"}`);
303
+ lines.push(`early leave: ${row.earlyLeave ? formatDuration(row.earlyLeaveByMs) : "no"}`);
304
+ lines.push(`sessions: ${row.sessions.length}`);
305
+ for (const session of row.sessions) lines.push(`- ${session.name}: ${formatOptional(session.startTime)} -> ${formatOptional(session.endTime)}`);
303
306
  }
307
+ return `${lines.join("\n")}\n`;
304
308
  }
305
309
  function writeLatestConferenceRecordSummary(result) {
306
310
  writeStdoutLine("input: %s", result.input);
@@ -666,42 +670,31 @@ function registerGoogleMeetArtifactCommands(context) {
666
670
  addGoogleMeetArtifactOptions(root.command("artifacts").description("List Meet conference records and available participant/artifact metadata")).option("--no-transcript-entries", "Skip structured transcript entry lookup").option("--include-doc-bodies", "Export linked transcript and smart-note Google Docs text").option("--format <format>", "Output format: summary or markdown", "summary").option("--output <path>", "Write output to a file instead of stdout").option("--json", "Print JSON output", false).action(async (options) => {
667
671
  const resolved = await resolveCliArtifactQuery(params, options);
668
672
  const result = await fetchResolvedGoogleMeetArtifacts(resolved);
669
- if (options.json) {
670
- await writeCliOutput(options, JSON.stringify({
671
- ...result,
672
- tokenSource: resolveTokenSource(resolved.token.refreshed)
673
- }, null, 2));
674
- return;
675
- }
676
- if (options.format === "markdown") {
677
- await writeCliOutput(options, renderArtifactsMarkdown(result));
678
- return;
679
- }
680
- if (options.format && options.format !== "summary") throw new Error("Unsupported format. Expected summary or markdown.");
681
- writeArtifactsSummary(result);
682
- writeStdoutLine("token source: %s", resolveTokenSource(resolved.token.refreshed));
673
+ const tokenSource = resolveTokenSource(resolved.token.refreshed);
674
+ let text;
675
+ if (options.json) text = JSON.stringify({
676
+ ...result,
677
+ tokenSource
678
+ }, null, 2);
679
+ else if (options.format === "markdown") text = renderArtifactsMarkdown(result);
680
+ else if (!options.format || options.format === "summary") text = `${renderArtifactsSummary(result)}token source: ${tokenSource}\n`;
681
+ else throw new Error("Unsupported format. Expected summary or markdown.");
682
+ await writeCliOutput(options, text);
683
683
  });
684
684
  addGoogleMeetArtifactOptions(root.command("attendance").description("List Meet participants and participant sessions")).option("--no-merge-duplicates", "Keep duplicate participant resources as separate rows").option("--late-after-minutes <n>", "Mark participants late after this many minutes", "5").option("--early-before-minutes <n>", "Mark early leavers before this many minutes", "5").option("--format <format>", "Output format: summary, markdown, or csv", "summary").option("--output <path>", "Write output to a file instead of stdout").option("--json", "Print JSON output", false).action(async (options) => {
685
685
  const resolved = await resolveCliArtifactQuery(params, options);
686
686
  const result = await fetchResolvedGoogleMeetAttendance(resolved);
687
- if (options.json) {
688
- await writeCliOutput(options, JSON.stringify({
689
- ...result,
690
- tokenSource: resolveTokenSource(resolved.token.refreshed)
691
- }, null, 2));
692
- return;
693
- }
694
- if (options.format === "markdown") {
695
- await writeCliOutput(options, renderAttendanceMarkdown(result));
696
- return;
697
- }
698
- if (options.format === "csv") {
699
- await writeCliOutput(options, renderAttendanceCsv(result));
700
- return;
701
- }
702
- if (options.format && options.format !== "summary") throw new Error("Unsupported format. Expected summary, markdown, or csv.");
703
- writeAttendanceSummary(result);
704
- writeStdoutLine("token source: %s", resolveTokenSource(resolved.token.refreshed));
687
+ const tokenSource = resolveTokenSource(resolved.token.refreshed);
688
+ let text;
689
+ if (options.json) text = JSON.stringify({
690
+ ...result,
691
+ tokenSource
692
+ }, null, 2);
693
+ else if (options.format === "markdown") text = renderAttendanceMarkdown(result);
694
+ else if (options.format === "csv") text = renderAttendanceCsv(result);
695
+ else if (!options.format || options.format === "summary") text = `${renderAttendanceSummary(result)}token source: ${tokenSource}\n`;
696
+ else throw new Error("Unsupported format. Expected summary, markdown, or csv.");
697
+ await writeCliOutput(options, text);
705
698
  });
706
699
  addGoogleMeetArtifactOptions(root.command("export").description("Write Meet artifacts, attendance, transcript, and raw JSON into a folder")).option("--no-transcript-entries", "Skip structured transcript entry lookup").option("--include-doc-bodies", "Export linked transcript and smart-note Google Docs text").option("--no-merge-duplicates", "Keep duplicate participant resources as separate rows").option("--late-after-minutes <n>", "Mark participants late after this many minutes", "5").option("--early-before-minutes <n>", "Mark early leavers before this many minutes", "5").option("--output <dir>", "Output directory").option("--zip", "Also write a portable .zip archive").option("--dry-run", "Fetch export data and print the manifest without writing files", false).option("--json", "Print JSON output", false).action(async (options) => {
707
700
  const resolved = await resolveCliArtifactQuery(params, options);
@@ -1040,13 +1033,7 @@ function registerGoogleMeetLifecycleCommands(context) {
1040
1033
  method: "googlemeet.leave",
1041
1034
  payload: { sessionId }
1042
1035
  });
1043
- if (delegated.ok) {
1044
- const result = delegated.payload;
1045
- if (!result.found) throw new Error("session not found");
1046
- writeLeaveResult(sessionId, result);
1047
- return;
1048
- }
1049
- const result = await (await params.ensureRuntime()).leave(sessionId);
1036
+ const result = delegated.ok ? delegated.payload : await (await params.ensureRuntime()).leave(sessionId);
1050
1037
  if (!result.found) throw new Error("session not found");
1051
1038
  writeLeaveResult(sessionId, result);
1052
1039
  });
@@ -1059,14 +1046,7 @@ function registerGoogleMeetLifecycleCommands(context) {
1059
1046
  message
1060
1047
  }
1061
1048
  });
1062
- if (delegated.ok) {
1063
- const result = delegated.payload;
1064
- if (!result.found) throw new Error("session not found");
1065
- if (!result.spoken) throw new Error(result.session?.chrome?.health?.speechBlockedMessage ?? "session has no active realtime audio bridge");
1066
- writeStdoutLine("speaking on %s", sessionId);
1067
- return;
1068
- }
1069
- const result = await (await params.ensureRuntime()).speak(sessionId, message);
1049
+ const result = delegated.ok ? delegated.payload : await (await params.ensureRuntime()).speak(sessionId, message);
1070
1050
  if (!result.found) throw new Error("session not found");
1071
1051
  if (!result.spoken) throw new Error(result.session?.chrome?.health?.speechBlockedMessage ?? "session has no active realtime audio bridge");
1072
1052
  writeStdoutLine("speaking on %s", sessionId);
@@ -92,6 +92,7 @@ const DEFAULT_GOOGLE_MEET_CHROME_AUDIO_FORMAT = "pcm16-24khz";
92
92
  const DEFAULT_GOOGLE_MEET_BARGE_IN_RMS_THRESHOLD = 650;
93
93
  const DEFAULT_GOOGLE_MEET_BARGE_IN_PEAK_THRESHOLD = 2500;
94
94
  const DEFAULT_GOOGLE_MEET_BARGE_IN_COOLDOWN_MS = 900;
95
+ const DEFAULT_GOOGLE_MEET_REALTIME_MODEL = void 0;
95
96
  const DEFAULT_GOOGLE_MEET_REALTIME_INSTRUCTIONS = `You are joining a private Google Meet as an OpenClaw voice transport. Keep spoken replies brief and natural. In agent mode, wait for OpenClaw consult results and speak them exactly. In bidi mode, answer directly and call ${REALTIME_VOICE_AGENT_CONSULT_TOOL_NAME} for deeper reasoning, current information, or tools.`;
96
97
  const DEFAULT_GOOGLE_MEET_REALTIME_INTRO_MESSAGE = "Say exactly: I'm here and listening.";
97
98
  const DEFAULT_GOOGLE_MEET_CONFIG = {
@@ -128,6 +129,7 @@ const DEFAULT_GOOGLE_MEET_CONFIG = {
128
129
  strategy: "agent",
129
130
  provider: "openai",
130
131
  transcriptionProvider: "openai",
132
+ model: DEFAULT_GOOGLE_MEET_REALTIME_MODEL,
131
133
  instructions: DEFAULT_GOOGLE_MEET_REALTIME_INSTRUCTIONS,
132
134
  introMessage: DEFAULT_GOOGLE_MEET_REALTIME_INTRO_MESSAGE,
133
135
  toolPolicy: "safe-read-only",
@@ -1,6 +1,6 @@
1
- import { h as __exportAll, l as createGoogleMeetSpace } from "./plugin-helpers-DkI5A7LT.js";
2
- import { resolveGoogleMeetAccessToken } from "./oauth-DgBscjXK.js";
3
- import { t as createMeetWithBrowserProxyOnNode } from "./chrome-create-PKAyxCiL.js";
1
+ import { h as __exportAll, l as createGoogleMeetSpace } from "./plugin-helpers-rGjL9QFK.mjs";
2
+ import { resolveGoogleMeetAccessToken } from "./oauth-22Ey-zCb.mjs";
3
+ import { t as createMeetWithBrowserProxyOnNode } from "./chrome-create-BZRBHJp9.mjs";
4
4
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  //#region extensions/google-meet/src/create.ts
6
6
  var create_exports = /* @__PURE__ */ __exportAll({
@@ -1,14 +1,28 @@
1
- import { n as GOOGLE_MEET_NODE_COMMAND } from "./google-meet-platform-constants-Bs5iAg3E.js";
2
- import { t as normalizeMeetUrl } from "./meet-url-BP2Jlvjs.js";
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-PKAyxCiL.js";
1
+ import { n as GOOGLE_MEET_NODE_COMMAND } from "./google-meet-platform-constants-Bs5iAg3E.mjs";
2
+ import { t as normalizeMeetUrl } from "./meet-url-BP2Jlvjs.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-BZRBHJp9.mjs";
4
4
  import { 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
+ import { createMeetingBrowserAudioCaptureSource } from "openclaw/plugin-sdk/meeting-page-script-runtime";
7
8
  //#region extensions/google-meet/src/transports/types.ts
8
9
  const GOOGLE_MEET_TRANSCRIPT_MAX_LINES = 2e3;
9
10
  //#endregion
10
11
  //#region extensions/google-meet/src/transports/google-meet-page-scripts.ts
11
12
  const GOOGLE_MEET_CAPTION_SETTLE_MS = 1e3;
13
+ function meetAudioCaptureScript(params) {
14
+ return createMeetingBrowserAudioCaptureSource({
15
+ ...params,
16
+ ownershipSource: `
17
+ const expectedUrl = ${JSON.stringify(normalizeMeetUrlForReuse(params.meetingUrl))};
18
+ const currentUrl = new URL(location.href);
19
+ return Boolean(expectedUrl && window.__openclawMeetAudioSession === sessionId &&
20
+ currentUrl.origin + currentUrl.pathname.toLowerCase().replace(/[/]$/, "") === expectedUrl &&
21
+ [...document.querySelectorAll("button")].some((button) =>
22
+ /leave call/i.test(button.getAttribute("aria-label") || button.textContent || "")));
23
+ `
24
+ });
25
+ }
12
26
  function meetStatusScript(params) {
13
27
  return `async () => {
14
28
  const text = (node) => (node?.innerText || node?.textContent || "").trim();
@@ -256,7 +270,21 @@ function meetStatusScript(params) {
256
270
  : null;
257
271
  if (join) join.click();
258
272
  const inCall = buttons().some((button) => /leave call/i.test(button.getAttribute('aria-label') || text(button)));
273
+ if (!readOnly && inCall && captionSessionId) {
274
+ const activeCapture = window.__openclawMeetingRemoteAudio;
275
+ if (activeCapture && activeCapture.sessionId !== captionSessionId) {
276
+ return JSON.stringify({ inCall: false, manualAction: manualActionFor("meet-session-conflict", "This Meet tab belongs to another active audio session."), url: location.href, notes });
277
+ }
278
+ window.__openclawMeetAudioSession = captionSessionId;
279
+ }
259
280
  const routeMeetAudioOutput = async () => {
281
+ const remoteCapture = window.__openclawMeetingRemoteAudio;
282
+ if (remoteCapture && remoteCapture.sessionId === captionSessionId && remoteCapture.isCurrent()) {
283
+ if (!readOnly) remoteCapture.scan();
284
+ audioOutputRouted = remoteCapture.isCurrent();
285
+ audioOutputDeviceLabel = "Isolated browser playback";
286
+ return;
287
+ }
260
288
  if (
261
289
  !allowMicrophone ||
262
290
  typeof navigator === 'undefined' ||
@@ -733,6 +761,7 @@ const GOOGLE_MEET_PLATFORM_ADAPTER = MeetingPlatformAdapter.create({
733
761
  }
734
762
  },
735
763
  browser: {
764
+ buildAudioCaptureScript: meetAudioCaptureScript,
736
765
  allowsMicrophone: MeetingPlatformAdapter.isTalkBackMode,
737
766
  buildStatusJoinScript: (params) => meetStatusScript({
738
767
  allowMicrophone: MeetingPlatformAdapter.isTalkBackMode(params.mode),
@@ -1,6 +1,6 @@
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";
1
+ import { n as GOOGLE_MEET_NODE_COMMAND } from "./google-meet-platform-constants-Bs5iAg3E.mjs";
2
+ import { n as DEFAULT_GOOGLE_MEET_AUDIO_OUTPUT_COMMAND, t as DEFAULT_GOOGLE_MEET_AUDIO_INPUT_COMMAND } from "./config-C-6enWkx.mjs";
3
+ import { t as GOOGLE_MEET_PLATFORM_ADAPTER } from "./google-meet-platform-adapter-DQZ74Kd5.mjs";
4
4
  import { MeetingPlatformAdapter } from "openclaw/plugin-sdk/meeting-runtime";
5
5
  //#region extensions/google-meet/src/node-host.ts
6
6
  function normalizeMeetKey(value) {
@@ -1,5 +1,5 @@
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";
1
+ import { n as GOOGLE_MEET_NODE_COMMAND } from "./google-meet-platform-constants-Bs5iAg3E.mjs";
2
+ import { t as GOOGLE_MEET_PLATFORM_ADAPTER } from "./google-meet-platform-adapter-DQZ74Kd5.mjs";
3
3
  import { createMeetingBrowserNodeInvokePolicy } from "openclaw/plugin-sdk/meeting-runtime";
4
4
  //#region extensions/google-meet/src/node-invoke-policy.ts
5
5
  const GOOGLE_MEET_CHROME_NODE_COMMAND = GOOGLE_MEET_NODE_COMMAND;
@@ -1,4 +1,4 @@
1
- import { n as readGoogleApiErrorDetail } from "./google-api-errors-BDYXfKRa.js";
1
+ import { n as readGoogleApiErrorDetail } from "./google-api-errors-BDYXfKRa.mjs";
2
2
  import { MAX_DATE_TIMESTAMP_MS, resolveDateTimestampMs, resolveExpiresAtMsFromDurationSeconds } from "openclaw/plugin-sdk/number-runtime";
3
3
  import { parseOAuthCallbackInput, waitForLocalOAuthCallback } from "openclaw/plugin-sdk/provider-auth-runtime";
4
4
  import { readProviderJsonResponse } from "openclaw/plugin-sdk/provider-http";
@@ -1,6 +1,6 @@
1
- import { c as loadGoogleMeetCliModule, p as resolveMeetingInput } from "./plugin-registration-ona5lHdz.js";
2
- import { t as googleApiError } from "./google-api-errors-BDYXfKRa.js";
3
- import { t as normalizeMeetUrl } from "./meet-url-BP2Jlvjs.js";
1
+ import { c as loadGoogleMeetCliModule, p as resolveMeetingInput } from "./plugin-registration-CfZbUMDY.mjs";
2
+ import { t as googleApiError } from "./google-api-errors-BDYXfKRa.mjs";
3
+ import { t as normalizeMeetUrl } from "./meet-url-BP2Jlvjs.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";
@@ -773,7 +773,7 @@ var plugin_helpers_exports = /* @__PURE__ */ __exportAll({
773
773
  resolveMeetingFromParams: () => resolveMeetingFromParams,
774
774
  resolveSpaceFromParams: () => resolveSpaceFromParams
775
775
  });
776
- const loadGoogleMeetCreateModule = createLazyRuntimeModule(() => import("./create-BbQ9g_AK.js").then((n) => n.t));
776
+ const loadGoogleMeetCreateModule = createLazyRuntimeModule(() => import("./create-sGWmlpgC.mjs").then((n) => n.t));
777
777
  async function createMeetFromParams(params) {
778
778
  return (await loadGoogleMeetCreateModule()).createMeetFromParams(params);
779
779
  }
@@ -781,7 +781,7 @@ async function createAndJoinMeetFromParams(params) {
781
781
  return (await loadGoogleMeetCreateModule()).createAndJoinMeetFromParams(params);
782
782
  }
783
783
  async function resolveGoogleMeetTokenFromParams(config, raw) {
784
- const { resolveGoogleMeetAccessToken } = await import("./oauth-DgBscjXK.js");
784
+ const { resolveGoogleMeetAccessToken } = await import("./oauth-22Ey-zCb.mjs");
785
785
  return resolveGoogleMeetAccessToken({
786
786
  clientId: normalizeOptionalString(raw.clientId) ?? config.oauth.clientId,
787
787
  clientSecret: normalizeOptionalString(raw.clientSecret) ?? config.oauth.clientSecret,
@@ -1,14 +1,14 @@
1
- import { i as isGoogleMeetBrowserManualActionError, n as GOOGLE_MEET_NODE_COMMAND } from "./google-meet-platform-constants-Bs5iAg3E.js";
2
- import { i as resolveGoogleMeetGatewayOperationTimeoutMs } from "./config-wBK8loBb.js";
1
+ import { i as isGoogleMeetBrowserManualActionError, n as GOOGLE_MEET_NODE_COMMAND } from "./google-meet-platform-constants-Bs5iAg3E.mjs";
2
+ import { i as resolveGoogleMeetGatewayOperationTimeoutMs } from "./config-C-6enWkx.mjs";
3
3
  import { asNonArrayRecord as asParamRecord, 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
6
  //#region extensions/google-meet/src/plugin-registration.ts
7
- const loadGoogleMeetPluginHelpers = createLazyRuntimeModule(() => import("./plugin-helpers-DkI5A7LT.js").then((n) => n.r));
8
- const loadGoogleMeetCliModule = createLazyRuntimeModule(() => import("./cli-HxUMx7pI.js"));
9
- const loadGoogleMeetNodeHostModule = createLazyRuntimeModule(() => import("./node-host-BXtXbsMa.js"));
10
- const loadGoogleMeetRuntimeModule = createLazyRuntimeModule(() => import("./runtime-BKbf6Uj_.js"));
11
- const loadGoogleMeetNodeInvokePolicyModule = createLazyRuntimeModule(() => import("./node-invoke-policy-B0gOlLJR.js"));
7
+ const loadGoogleMeetPluginHelpers = createLazyRuntimeModule(() => import("./plugin-helpers-rGjL9QFK.mjs").then((n) => n.r));
8
+ const loadGoogleMeetCliModule = createLazyRuntimeModule(() => import("./cli-MJjnaxoP.mjs"));
9
+ const loadGoogleMeetNodeHostModule = createLazyRuntimeModule(() => import("./node-host-BOzEP_Us.mjs"));
10
+ const loadGoogleMeetRuntimeModule = createLazyRuntimeModule(() => import("./runtime-D_C0dFI1.mjs"));
11
+ const loadGoogleMeetNodeInvokePolicyModule = createLazyRuntimeModule(() => import("./node-invoke-policy-hwXq9MfV.mjs"));
12
12
  const loadGoogleMeetGatewayRuntimeModule = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/gateway-runtime"));
13
13
  const loadGoogleMeetNodeInvokePolicy = async (config) => (await loadGoogleMeetNodeInvokePolicyModule()).createGoogleMeetChromeNodeInvokePolicy(config);
14
14
  function normalizeTransport(value) {