@openclaw/google-meet 2026.7.1-beta.1 → 2026.7.1-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chrome-create-Cf3bQPav.js → chrome-create-BhgM0jQO.js} +20 -8
- package/dist/{cli-D-HGF-yt.js → cli-D364Yrym.js} +4 -4
- package/dist/{config-D_YKxh0m.js → config-DDYRr7-P.js} +2 -1
- package/dist/{create-9bdDXOHB.js → create-CkkaRlbI.js} +4 -3
- package/dist/index.js +180 -151
- package/dist/{oauth-DK1mwF2i.js → oauth-75iPDzIn.js} +6 -3
- package/node_modules/commander/Readme.md +11 -15
- package/node_modules/commander/index.js +14 -17
- package/node_modules/commander/lib/argument.js +3 -6
- package/node_modules/commander/lib/command.js +46 -33
- package/node_modules/commander/lib/error.js +2 -5
- package/node_modules/commander/lib/help.js +4 -20
- package/node_modules/commander/lib/option.js +3 -6
- package/node_modules/commander/lib/suggestSimilar.js +2 -4
- package/node_modules/commander/package.json +10 -28
- package/node_modules/commander/typings/index.d.ts +3 -3
- package/node_modules/typebox/build/compile/validator.d.mts +2 -7
- package/node_modules/typebox/build/compile/validator.mjs +6 -36
- package/node_modules/typebox/build/error/errors.d.mts +1 -7
- package/node_modules/typebox/build/format/_idna.mjs +36 -6
- package/node_modules/typebox/build/format/_puny.mjs +4 -1
- package/node_modules/typebox/build/format/uuid.d.mts +2 -2
- package/node_modules/typebox/build/format/uuid.mjs +3 -3
- package/node_modules/typebox/build/guard/emit.d.mts +0 -4
- package/node_modules/typebox/build/guard/emit.mjs +0 -8
- package/node_modules/typebox/build/guard/guard.d.mts +4 -8
- package/node_modules/typebox/build/guard/guard.mjs +5 -13
- package/node_modules/typebox/build/schema/engine/boolean.d.mts +3 -3
- package/node_modules/typebox/build/schema/engine/boolean.mjs +4 -4
- package/node_modules/typebox/build/schema/engine/index.d.mts +0 -1
- package/node_modules/typebox/build/schema/engine/index.mjs +0 -1
- package/node_modules/typebox/build/schema/engine/schema.mjs +5 -10
- package/node_modules/typebox/build/schema/engine/type.mjs +14 -18
- package/node_modules/typebox/build/schema/types/dependencies.mjs +1 -1
- package/node_modules/typebox/build/schema/types/index.d.mts +0 -1
- package/node_modules/typebox/build/schema/types/index.mjs +0 -1
- package/node_modules/typebox/build/schema/types/schema.d.mts +1 -1
- package/node_modules/typebox/build/schema/types/schema.mjs +2 -2
- package/node_modules/typebox/build/system/locale/ar_001.mjs +0 -1
- package/node_modules/typebox/build/system/locale/bn_BD.mjs +0 -1
- package/node_modules/typebox/build/system/locale/cs_CZ.mjs +0 -1
- package/node_modules/typebox/build/system/locale/de_DE.mjs +0 -1
- package/node_modules/typebox/build/system/locale/el_GR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/en_US.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_419.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_AR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_ES.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_MX.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fa_IR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fil_PH.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fr_CA.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fr_FR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ha_NG.mjs +0 -1
- package/node_modules/typebox/build/system/locale/hi_IN.mjs +0 -1
- package/node_modules/typebox/build/system/locale/hu_HU.mjs +0 -1
- package/node_modules/typebox/build/system/locale/id_ID.mjs +0 -1
- package/node_modules/typebox/build/system/locale/it_IT.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ja_JP.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ko_KR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ms_MY.mjs +0 -1
- package/node_modules/typebox/build/system/locale/nl_NL.mjs +0 -1
- package/node_modules/typebox/build/system/locale/pl_PL.mjs +0 -1
- package/node_modules/typebox/build/system/locale/pt_BR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/pt_PT.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ro_RO.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ru_RU.mjs +0 -1
- package/node_modules/typebox/build/system/locale/sv_SE.mjs +0 -1
- package/node_modules/typebox/build/system/locale/sw_TZ.mjs +0 -1
- package/node_modules/typebox/build/system/locale/th_TH.mjs +0 -1
- package/node_modules/typebox/build/system/locale/tr_TR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/uk_UA.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ur_PK.mjs +0 -1
- package/node_modules/typebox/build/system/locale/vi_VN.mjs +0 -1
- package/node_modules/typebox/build/system/locale/yo_NG.mjs +0 -1
- package/node_modules/typebox/build/system/locale/zh_Hans.mjs +0 -1
- package/node_modules/typebox/build/system/locale/zh_Hant.mjs +0 -1
- package/node_modules/typebox/build/system/memory/clone.d.mts +2 -3
- package/node_modules/typebox/build/system/memory/clone.mjs +73 -26
- package/node_modules/typebox/build/system/settings/settings.d.mts +15 -0
- package/node_modules/typebox/build/system/settings/settings.mjs +3 -1
- package/node_modules/typebox/build/type/action/_add_immutable.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_add_immutable.mjs +11 -0
- package/node_modules/typebox/build/type/action/_add_optional.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_add_optional.mjs +11 -0
- package/node_modules/typebox/build/type/action/_add_readonly.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_add_readonly.mjs +11 -0
- package/node_modules/typebox/build/type/action/_remove_immutable.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_remove_immutable.mjs +11 -0
- package/node_modules/typebox/build/type/action/_remove_optional.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_remove_optional.mjs +11 -0
- package/node_modules/typebox/build/type/action/_remove_readonly.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_remove_readonly.mjs +11 -0
- package/node_modules/typebox/build/type/action/conditional.d.mts +2 -3
- package/node_modules/typebox/build/type/action/conditional.mjs +2 -1
- package/node_modules/typebox/build/type/action/index.d.mts +7 -4
- package/node_modules/typebox/build/type/action/index.mjs +7 -4
- package/node_modules/typebox/build/type/action/mapped.d.mts +2 -3
- package/node_modules/typebox/build/type/action/mapped.mjs +2 -1
- package/node_modules/typebox/build/type/action/module.d.mts +8 -7
- package/node_modules/typebox/build/type/action/module.mjs +7 -6
- package/node_modules/typebox/build/type/action/readonly_object.d.mts +0 -5
- package/node_modules/typebox/build/type/action/readonly_object.mjs +0 -5
- package/node_modules/typebox/build/type/action/with.d.mts +11 -0
- package/node_modules/typebox/build/type/action/with.mjs +11 -0
- package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +1 -1
- package/node_modules/typebox/build/type/engine/call/instantiate.d.mts +1 -3
- package/node_modules/typebox/build/type/engine/call/instantiate.mjs +3 -2
- package/node_modules/typebox/build/type/engine/call/resolve_arguments.mjs +2 -2
- package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.d.mts +3 -4
- package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.mjs +2 -1
- package/node_modules/typebox/build/type/engine/cyclic/candidates.d.mts +2 -3
- package/node_modules/typebox/build/type/engine/cyclic/candidates.mjs +3 -6
- package/node_modules/typebox/build/type/engine/cyclic/check.d.mts +6 -9
- package/node_modules/typebox/build/type/engine/cyclic/check.mjs +10 -16
- package/node_modules/typebox/build/type/engine/cyclic/dependencies.d.mts +1 -4
- package/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +9 -15
- package/node_modules/typebox/build/type/engine/cyclic/extends.d.mts +1 -4
- package/node_modules/typebox/build/type/engine/cyclic/extends.mjs +8 -14
- package/node_modules/typebox/build/type/engine/cyclic/instantiate.d.mts +2 -5
- package/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs +3 -2
- package/node_modules/typebox/build/type/engine/enum/index.d.mts +0 -1
- package/node_modules/typebox/build/type/engine/enum/index.mjs +0 -1
- package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +1 -2
- package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +2 -6
- package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +10 -6
- package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +10 -6
- package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +2 -1
- package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +3 -3
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +17 -5
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +34 -8
- package/node_modules/typebox/build/type/engine/exclude/operation.d.mts +5 -6
- package/node_modules/typebox/build/type/engine/exclude/operation.mjs +11 -12
- package/node_modules/typebox/build/type/engine/extract/operation.d.mts +5 -6
- package/node_modules/typebox/build/type/engine/extract/operation.mjs +11 -12
- package/node_modules/typebox/build/type/engine/immutable/instantiate_add.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/immutable/instantiate_add.mjs +14 -0
- package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.mjs +14 -0
- package/node_modules/typebox/build/type/engine/index.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/index.mjs +2 -2
- package/node_modules/typebox/build/type/engine/indexable/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/indexable/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/indexable/from_enum.d.mts +3 -3
- package/node_modules/typebox/build/type/engine/indexable/from_enum.mjs +4 -4
- package/node_modules/typebox/build/type/engine/indexable/from_template_literal.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/indexable/from_template_literal.mjs +3 -3
- package/node_modules/typebox/build/type/engine/indexable/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/indexable/from_type.mjs +9 -6
- package/node_modules/typebox/build/type/engine/indexed/instantiate.d.mts +2 -1
- package/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +5 -2
- package/node_modules/typebox/build/type/engine/instantiate.d.mts +44 -31
- package/node_modules/typebox/build/type/engine/instantiate.mjs +82 -83
- package/node_modules/typebox/build/type/engine/interface/instantiate.d.mts +3 -6
- package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.mjs +3 -3
- package/node_modules/typebox/build/type/engine/keyof/instantiate.d.mts +2 -1
- package/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +5 -1
- package/node_modules/typebox/build/type/engine/mapped/mapped_operation.d.mts +4 -4
- package/node_modules/typebox/build/type/engine/mapped/mapped_operation.mjs +3 -3
- package/node_modules/typebox/build/type/engine/mapped/mapped_variants.d.mts +5 -4
- package/node_modules/typebox/build/type/engine/mapped/mapped_variants.mjs +10 -5
- package/node_modules/typebox/build/type/engine/module/instantiate.d.mts +7 -9
- package/node_modules/typebox/build/type/engine/module/instantiate.mjs +17 -15
- package/node_modules/typebox/build/type/engine/object/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/object/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/object/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/object/from_type.mjs +8 -5
- package/node_modules/typebox/build/type/engine/object/from_union.mjs +2 -2
- package/node_modules/typebox/build/type/engine/optional/instantiate_add.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/optional/instantiate_add.mjs +14 -0
- package/node_modules/typebox/build/type/engine/optional/instantiate_remove.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/optional/instantiate_remove.mjs +14 -0
- package/node_modules/typebox/build/type/engine/parameters/instantiate.d.mts +3 -4
- package/node_modules/typebox/build/type/engine/parameters/instantiate.mjs +2 -1
- package/node_modules/typebox/build/type/engine/partial/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/partial/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/partial/from_intersect.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/partial/from_intersect.mjs +3 -2
- package/node_modules/typebox/build/type/engine/partial/from_object.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/partial/from_object.mjs +2 -2
- package/node_modules/typebox/build/type/engine/partial/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/partial/from_type.mjs +7 -4
- package/node_modules/typebox/build/type/engine/priority/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/priority/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/priority/priority.d.mts +20 -0
- package/node_modules/typebox/build/type/engine/priority/priority.mjs +28 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_add.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_add.mjs +14 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.mjs +14 -0
- package/node_modules/typebox/build/type/engine/readonly_object/from_array.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_array.mjs +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.mjs +3 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_object.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_object.mjs +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.mjs +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/readonly_object/from_type.mjs +8 -5
- package/node_modules/typebox/build/type/engine/record/from_key_enum.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/record/from_key_enum.mjs +2 -2
- package/node_modules/typebox/build/type/engine/record/from_key_template_literal.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/record/from_key_template_literal.mjs +2 -2
- package/node_modules/typebox/build/type/engine/ref/instantiate.d.mts +3 -3
- package/node_modules/typebox/build/type/engine/ref/instantiate.mjs +6 -6
- package/node_modules/typebox/build/type/engine/required/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/required/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/required/from_intersect.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/required/from_intersect.mjs +3 -2
- package/node_modules/typebox/build/type/engine/required/from_object.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/required/from_object.mjs +2 -2
- package/node_modules/typebox/build/type/engine/required/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/required/from_type.mjs +7 -4
- package/node_modules/typebox/build/type/engine/template_literal/decode.mjs +3 -3
- package/node_modules/typebox/build/type/engine/template_literal/encode.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/template_literal/encode.mjs +6 -6
- package/node_modules/typebox/build/type/engine/template_literal/is_finite.mjs +1 -1
- package/node_modules/typebox/build/type/engine/template_literal/is_pattern.mjs +1 -0
- package/node_modules/typebox/build/type/engine/this/expand_this.d.mts +1 -4
- package/node_modules/typebox/build/type/engine/this/expand_this.mjs +7 -13
- package/node_modules/typebox/build/type/engine/with/instantiate.d.mts +8 -0
- package/node_modules/typebox/build/type/engine/{options → with}/instantiate.mjs +5 -5
- package/node_modules/typebox/build/type/extends/dependent.d.mts +6 -0
- package/node_modules/typebox/build/type/extends/dependent.mjs +6 -0
- package/node_modules/typebox/build/type/extends/enum.d.mts +4 -4
- package/node_modules/typebox/build/type/extends/enum.mjs +3 -2
- package/node_modules/typebox/build/type/extends/extends_left.d.mts +5 -7
- package/node_modules/typebox/build/type/extends/extends_left.mjs +24 -27
- package/node_modules/typebox/build/type/extends/extends_right.d.mts +7 -5
- package/node_modules/typebox/build/type/extends/extends_right.mjs +20 -15
- package/node_modules/typebox/build/type/extends/inference.mjs +1 -1
- package/node_modules/typebox/build/type/extends/object.d.mts +8 -1
- package/node_modules/typebox/build/type/extends/object.mjs +25 -3
- package/node_modules/typebox/build/type/extends/parameters.mjs +2 -2
- package/node_modules/typebox/build/type/extends/record.d.mts +13 -0
- package/node_modules/typebox/build/type/extends/record.mjs +23 -0
- package/node_modules/typebox/build/type/extends/template_literal.d.mts +3 -3
- package/node_modules/typebox/build/type/extends/template_literal.mjs +3 -3
- package/node_modules/typebox/build/type/extends/tuple.d.mts +3 -6
- package/node_modules/typebox/build/type/extends/tuple.mjs +6 -5
- package/node_modules/typebox/build/type/extends/union.mjs +2 -2
- package/node_modules/typebox/build/type/script/mapping.d.mts +84 -99
- package/node_modules/typebox/build/type/script/mapping.mjs +81 -85
- package/node_modules/typebox/build/type/script/parser.d.mts +40 -40
- package/node_modules/typebox/build/type/script/parser.mjs +22 -22
- package/node_modules/typebox/build/type/script/script.d.mts +3 -4
- package/node_modules/typebox/build/type/script/script.mjs +3 -2
- package/node_modules/typebox/build/type/script/token/internal/guard.d.mts +1 -1
- package/node_modules/typebox/build/type/script/token/internal/guard.mjs +1 -1
- package/node_modules/typebox/build/type/script/token/internal/take.mjs +1 -1
- package/node_modules/typebox/build/type/script/token/until.mjs +2 -2
- package/node_modules/typebox/build/type/types/_codec.d.mts +12 -12
- package/node_modules/typebox/build/type/types/_codec.mjs +0 -1
- package/node_modules/typebox/build/type/types/_immutable.d.mts +2 -9
- package/node_modules/typebox/build/type/types/_immutable.mjs +2 -10
- package/node_modules/typebox/build/type/types/_optional.d.mts +2 -9
- package/node_modules/typebox/build/type/types/_optional.mjs +2 -11
- package/node_modules/typebox/build/type/types/_readonly.d.mts +2 -9
- package/node_modules/typebox/build/type/types/_readonly.mjs +2 -10
- package/node_modules/typebox/build/type/types/_refine.d.mts +8 -10
- package/node_modules/typebox/build/type/types/_refine.mjs +1 -2
- package/node_modules/typebox/build/type/types/call.d.mts +3 -3
- package/node_modules/typebox/build/type/types/call.mjs +3 -2
- package/node_modules/typebox/build/type/types/deferred.d.mts +1 -0
- package/node_modules/typebox/build/type/types/deferred.mjs +1 -1
- package/node_modules/typebox/build/type/types/dependent.d.mts +17 -0
- package/node_modules/typebox/build/type/types/dependent.mjs +24 -0
- package/node_modules/typebox/build/type/types/enum.d.mts +3 -1
- package/node_modules/typebox/build/type/types/enum.mjs +5 -0
- package/node_modules/typebox/build/type/types/index.d.mts +1 -4
- package/node_modules/typebox/build/type/types/index.mjs +1 -4
- package/node_modules/typebox/build/type/types/number.d.mts +1 -1
- package/node_modules/typebox/build/type/types/number.mjs +1 -1
- package/node_modules/typebox/build/type/types/record.d.mts +13 -7
- package/node_modules/typebox/build/type/types/record.mjs +15 -9
- package/node_modules/typebox/build/type/types/static.d.mts +2 -5
- package/node_modules/typebox/build/typebox.d.mts +4 -8
- package/node_modules/typebox/build/typebox.mjs +4 -8
- package/node_modules/typebox/build/value/clean/clean.mjs +4 -2
- package/node_modules/typebox/build/value/clean/from_intersect.mjs +2 -2
- package/node_modules/typebox/build/value/clean/from_type.mjs +8 -10
- package/node_modules/typebox/build/value/clean/from_union.d.mts +1 -1
- package/node_modules/typebox/build/value/clean/from_union.mjs +1 -2
- package/node_modules/typebox/build/value/clone/clone.mjs +2 -73
- package/node_modules/typebox/build/value/codec/decode.mjs +4 -2
- package/node_modules/typebox/build/value/codec/encode.mjs +4 -2
- package/node_modules/typebox/build/value/codec/from_array.mjs +1 -4
- package/node_modules/typebox/build/value/codec/from_object.mjs +1 -4
- package/node_modules/typebox/build/value/codec/from_record.mjs +2 -7
- package/node_modules/typebox/build/value/codec/from_tuple.mjs +1 -4
- package/node_modules/typebox/build/value/codec/from_union.mjs +2 -3
- package/node_modules/typebox/build/value/convert/from_enum.mjs +3 -4
- package/node_modules/typebox/build/value/convert/from_template_literal.d.mts +1 -1
- package/node_modules/typebox/build/value/convert/from_template_literal.mjs +2 -3
- package/node_modules/typebox/build/value/convert/from_type.mjs +19 -21
- package/node_modules/typebox/build/value/create/from_enum.mjs +2 -2
- package/node_modules/typebox/build/value/create/from_type.mjs +23 -31
- package/node_modules/typebox/build/value/default/from_object.mjs +1 -1
- package/node_modules/typebox/build/value/default/from_type.mjs +8 -10
- package/node_modules/typebox/build/value/index.d.mts +0 -1
- package/node_modules/typebox/build/value/index.mjs +0 -1
- package/node_modules/typebox/build/value/repair/from_enum.mjs +2 -3
- package/node_modules/typebox/build/value/repair/from_type.mjs +24 -22
- package/node_modules/typebox/build/value/shared/union_priority_sort.d.mts +6 -2
- package/node_modules/typebox/build/value/shared/union_priority_sort.mjs +62 -26
- package/node_modules/typebox/build/value/value.d.mts +0 -1
- package/node_modules/typebox/build/value/value.mjs +0 -1
- package/node_modules/typebox/package.json +25 -25
- package/node_modules/typebox/readme.md +97 -80
- package/npm-shrinkwrap.json +12 -12
- package/package.json +6 -6
- package/node_modules/commander/esm.mjs +0 -16
- package/node_modules/commander/typings/esm.d.mts +0 -3
- package/node_modules/typebox/build/schema/engine/_guard.d.mts +0 -6
- package/node_modules/typebox/build/schema/engine/_guard.mjs +0 -26
- package/node_modules/typebox/build/schema/types/_guard.d.mts +0 -10
- package/node_modules/typebox/build/schema/types/_guard.mjs +0 -16
- package/node_modules/typebox/build/type/action/_optional.d.mts +0 -19
- package/node_modules/typebox/build/type/action/_optional.mjs +0 -40
- package/node_modules/typebox/build/type/action/_readonly.d.mts +0 -19
- package/node_modules/typebox/build/type/action/_readonly.mjs +0 -40
- package/node_modules/typebox/build/type/action/awaited.d.mts +0 -15
- package/node_modules/typebox/build/type/action/awaited.mjs +0 -15
- package/node_modules/typebox/build/type/action/options.d.mts +0 -11
- package/node_modules/typebox/build/type/action/options.mjs +0 -11
- package/node_modules/typebox/build/type/engine/awaited/instantiate.d.mts +0 -11
- package/node_modules/typebox/build/type/engine/awaited/instantiate.mjs +0 -20
- package/node_modules/typebox/build/type/engine/enum/enum_to_union.d.mts +0 -14
- package/node_modules/typebox/build/type/engine/enum/enum_to_union.mjs +0 -24
- package/node_modules/typebox/build/type/engine/options/index.d.mts +0 -1
- package/node_modules/typebox/build/type/engine/options/index.mjs +0 -1
- package/node_modules/typebox/build/type/engine/options/instantiate.d.mts +0 -8
- package/node_modules/typebox/build/type/extends/async_iterator.d.mts +0 -7
- package/node_modules/typebox/build/type/extends/async_iterator.mjs +0 -9
- package/node_modules/typebox/build/type/extends/iterator.d.mts +0 -7
- package/node_modules/typebox/build/type/extends/iterator.mjs +0 -9
- package/node_modules/typebox/build/type/extends/promise.d.mts +0 -7
- package/node_modules/typebox/build/type/extends/promise.mjs +0 -9
- package/node_modules/typebox/build/type/types/async_iterator.d.mts +0 -20
- package/node_modules/typebox/build/type/types/async_iterator.mjs +0 -28
- package/node_modules/typebox/build/type/types/base.d.mts +0 -50
- package/node_modules/typebox/build/type/types/base.mjs +0 -84
- package/node_modules/typebox/build/type/types/iterator.d.mts +0 -20
- package/node_modules/typebox/build/type/types/iterator.mjs +0 -28
- package/node_modules/typebox/build/type/types/promise.d.mts +0 -21
- package/node_modules/typebox/build/type/types/promise.mjs +0 -29
- package/node_modules/typebox/build/value/clean/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/clean/from_base.mjs +0 -4
- package/node_modules/typebox/build/value/convert/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/convert/from_base.mjs +0 -4
- package/node_modules/typebox/build/value/create/from_async_iterator.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_async_iterator.mjs +0 -5
- package/node_modules/typebox/build/value/create/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_base.mjs +0 -4
- package/node_modules/typebox/build/value/create/from_iterator.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_iterator.mjs +0 -5
- package/node_modules/typebox/build/value/create/from_promise.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_promise.mjs +0 -5
- package/node_modules/typebox/build/value/default/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/default/from_base.mjs +0 -5
- package/node_modules/typebox/build/value/mutate/error.d.mts +0 -3
- package/node_modules/typebox/build/value/mutate/error.mjs +0 -6
- package/node_modules/typebox/build/value/mutate/from_array.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_array.mjs +0 -16
- package/node_modules/typebox/build/value/mutate/from_object.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_object.mjs +0 -40
- package/node_modules/typebox/build/value/mutate/from_unknown.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_unknown.mjs +0 -7
- package/node_modules/typebox/build/value/mutate/from_value.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_value.mjs +0 -12
- package/node_modules/typebox/build/value/mutate/index.d.mts +0 -1
- package/node_modules/typebox/build/value/mutate/index.mjs +0 -1
- package/node_modules/typebox/build/value/mutate/mutate.d.mts +0 -11
- package/node_modules/typebox/build/value/mutate/mutate.mjs +0 -41
- package/node_modules/typebox/build/value/repair/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/repair/from_base.mjs +0 -8
- /package/node_modules/typebox/build/type/engine/{awaited → with}/index.d.mts +0 -0
- /package/node_modules/typebox/build/type/engine/{awaited → with}/index.mjs +0 -0
package/dist/index.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { a as buildGoogleMeetCalendarDayWindow, i as resolveGoogleMeetGatewayOperationTimeoutMs, n as DEFAULT_GOOGLE_MEET_AUDIO_OUTPUT_COMMAND, o as findGoogleMeetCalendarEvent, r as resolveGoogleMeetConfig, s as listGoogleMeetCalendarEvents, t as DEFAULT_GOOGLE_MEET_AUDIO_INPUT_COMMAND } from "./config-
|
|
2
|
-
import { a as
|
|
1
|
+
import { a as buildGoogleMeetCalendarDayWindow, i as resolveGoogleMeetGatewayOperationTimeoutMs, n as DEFAULT_GOOGLE_MEET_AUDIO_OUTPUT_COMMAND, o as findGoogleMeetCalendarEvent, r as resolveGoogleMeetConfig, s as listGoogleMeetCalendarEvents, t as DEFAULT_GOOGLE_MEET_AUDIO_INPUT_COMMAND } from "./config-DDYRr7-P.js";
|
|
2
|
+
import { _ as fetchLatestGoogleMeetConferenceRecord, a as forceMeetEnglishUi, c as readBrowserTab, d as buildGoogleMeetPreflightReport, g as fetchGoogleMeetSpace, h as fetchGoogleMeetAttendance, i as callBrowserProxyOnNode, l as resolveChromeNode, m as fetchGoogleMeetArtifacts, n as isGoogleMeetBrowserManualActionError, o as isSameMeetUrlForReuse, p as endGoogleMeetActiveConference, r as asBrowserTabs, s as normalizeMeetUrlForReuse, t as createMeetWithBrowserProxyOnNode, u as resolveChromeNodeInfo } from "./chrome-create-BhgM0jQO.js";
|
|
3
3
|
import { optionalPositiveIntegerSchema, readPositiveIntegerParam } from "openclaw/plugin-sdk/channel-actions";
|
|
4
4
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
5
5
|
import { ErrorCodes, GatewayClient, callGatewayFromCli, errorShape, startGatewayClientWhenEventLoopReady } from "openclaw/plugin-sdk/gateway-runtime";
|
|
6
|
+
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
6
7
|
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
|
|
8
|
+
import { normalizeAgentId } from "openclaw/plugin-sdk/routing";
|
|
7
9
|
import { asRecord, normalizeOptionalString, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
10
|
+
import { jsonResult } from "openclaw/plugin-sdk/tool-results";
|
|
8
11
|
import { Type } from "typebox";
|
|
9
12
|
import { isBlockedHostnameOrIp } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
10
13
|
import { addTimerTimeoutGraceMs } from "openclaw/plugin-sdk/number-runtime";
|
|
@@ -16,7 +19,6 @@ import { sleep } from "openclaw/plugin-sdk/runtime-env";
|
|
|
16
19
|
import fs from "node:fs";
|
|
17
20
|
import os from "node:os";
|
|
18
21
|
import path from "node:path";
|
|
19
|
-
import { normalizeAgentId } from "openclaw/plugin-sdk/routing";
|
|
20
22
|
import { getRealtimeTranscriptionProvider, listRealtimeTranscriptionProviders } from "openclaw/plugin-sdk/realtime-transcription";
|
|
21
23
|
//#region extensions/google-meet/src/transports/chrome-audio-device.ts
|
|
22
24
|
const GOOGLE_MEET_SYSTEM_PROFILER_COMMAND = "/usr/sbin/system_profiler";
|
|
@@ -962,6 +964,8 @@ async function startCommandAgentAudioBridge(params) {
|
|
|
962
964
|
inputProcess.stderr?.on("data", (chunk) => {
|
|
963
965
|
params.logger.debug?.(`[google-meet] audio input: ${String(chunk).trim()}`);
|
|
964
966
|
});
|
|
967
|
+
inputProcess.stdout?.on("error", fail("audio input command stdout"));
|
|
968
|
+
inputProcess.stderr?.on("error", fail("audio input command stderr"));
|
|
965
969
|
outputProcess.on("error", fail("audio output command"));
|
|
966
970
|
outputProcess.stdin?.on?.("error", fail("audio output command"));
|
|
967
971
|
outputProcess.on("exit", (code, signal) => {
|
|
@@ -973,6 +977,7 @@ async function startCommandAgentAudioBridge(params) {
|
|
|
973
977
|
outputProcess.stderr?.on("data", (chunk) => {
|
|
974
978
|
params.logger.debug?.(`[google-meet] audio output: ${String(chunk).trim()}`);
|
|
975
979
|
});
|
|
980
|
+
outputProcess.stderr?.on("error", fail("audio output command stderr"));
|
|
976
981
|
const writeOutputAudio = (audio) => {
|
|
977
982
|
const suppression = recordGoogleMeetOutputActivity({
|
|
978
983
|
tracker: outputActivity,
|
|
@@ -1241,6 +1246,10 @@ async function startCommandRealtimeAudioBridge(params) {
|
|
|
1241
1246
|
proc.stderr?.on("data", (chunk) => {
|
|
1242
1247
|
params.logger.debug?.(`[google-meet] audio output: ${String(chunk).trim()}`);
|
|
1243
1248
|
});
|
|
1249
|
+
proc.stderr?.on("error", (error) => {
|
|
1250
|
+
if (proc !== outputProcess) return;
|
|
1251
|
+
fail("audio output command stderr")(error);
|
|
1252
|
+
});
|
|
1244
1253
|
};
|
|
1245
1254
|
const clearOutputPlayback = () => {
|
|
1246
1255
|
if (stopped) return;
|
|
@@ -1287,9 +1296,15 @@ async function startCommandRealtimeAudioBridge(params) {
|
|
|
1287
1296
|
if (beforeClearCount === clearCount) clearOutputPlayback();
|
|
1288
1297
|
params.logger.debug?.(`[google-meet] human barge-in detected by local input (rms=${Math.round(stats.rms)}, peak=${stats.peak})`);
|
|
1289
1298
|
});
|
|
1299
|
+
bargeInInputProcess.stdout?.on("error", (error) => {
|
|
1300
|
+
params.logger.warn(`[google-meet] human barge-in input stdout failed: ${formatErrorMessage(error)}`);
|
|
1301
|
+
});
|
|
1290
1302
|
bargeInInputProcess.stderr?.on("data", (chunk) => {
|
|
1291
1303
|
params.logger.debug?.(`[google-meet] barge-in input: ${String(chunk).trim()}`);
|
|
1292
1304
|
});
|
|
1305
|
+
bargeInInputProcess.stderr?.on("error", (error) => {
|
|
1306
|
+
params.logger.warn(`[google-meet] human barge-in input stderr failed: ${formatErrorMessage(error)}`);
|
|
1307
|
+
});
|
|
1293
1308
|
bargeInInputProcess.on("error", (error) => {
|
|
1294
1309
|
params.logger.warn(`[google-meet] human barge-in input failed: ${formatErrorMessage(error)}`);
|
|
1295
1310
|
});
|
|
@@ -1308,6 +1323,8 @@ async function startCommandRealtimeAudioBridge(params) {
|
|
|
1308
1323
|
inputProcess.stderr?.on("data", (chunk) => {
|
|
1309
1324
|
params.logger.debug?.(`[google-meet] audio input: ${String(chunk).trim()}`);
|
|
1310
1325
|
});
|
|
1326
|
+
inputProcess.stdout?.on("error", fail("audio input command stdout"));
|
|
1327
|
+
inputProcess.stderr?.on("error", fail("audio input command stderr"));
|
|
1311
1328
|
const resolved = resolveGoogleMeetRealtimeProvider({
|
|
1312
1329
|
config: params.config,
|
|
1313
1330
|
fullConfig: params.fullConfig,
|
|
@@ -2389,7 +2406,7 @@ function meetStatusScript(params) {
|
|
|
2389
2406
|
notes.push("Muted Meet microphone for observe-only mode.");
|
|
2390
2407
|
}
|
|
2391
2408
|
const join = !readOnly && ${JSON.stringify(params.autoJoin)}
|
|
2392
|
-
? findButton(/join now|ask to join/i)
|
|
2409
|
+
? findButton(/join now|ask to join|join here too/i)
|
|
2393
2410
|
: null;
|
|
2394
2411
|
if (join) join.click();
|
|
2395
2412
|
const microphoneChoice = findButton(/\\buse microphone\\b/i);
|
|
@@ -2623,7 +2640,7 @@ async function openMeetWithBrowserRequest(params) {
|
|
|
2623
2640
|
tab = readBrowserTab(await params.callBrowser({
|
|
2624
2641
|
method: "POST",
|
|
2625
2642
|
path: "/tabs/open",
|
|
2626
|
-
body: { url: params.url },
|
|
2643
|
+
body: { url: forceMeetEnglishUi(params.url) },
|
|
2627
2644
|
timeoutMs
|
|
2628
2645
|
}));
|
|
2629
2646
|
targetId = tab?.targetId;
|
|
@@ -2967,93 +2984,88 @@ async function createConnectedGatewayClient(config) {
|
|
|
2967
2984
|
});
|
|
2968
2985
|
return client;
|
|
2969
2986
|
}
|
|
2987
|
+
function createVoiceCallGateway(params) {
|
|
2988
|
+
if (!params.config.voiceCall.gatewayUrl) return {
|
|
2989
|
+
trustedPluginIdentity: true,
|
|
2990
|
+
request: (method, requestParams) => params.runtime.gateway.request(method, requestParams, { timeoutMs: params.config.voiceCall.requestTimeoutMs })
|
|
2991
|
+
};
|
|
2992
|
+
return {
|
|
2993
|
+
trustedPluginIdentity: false,
|
|
2994
|
+
async request(method, requestParams) {
|
|
2995
|
+
const client = await createConnectedGatewayClient(params.config);
|
|
2996
|
+
try {
|
|
2997
|
+
return await client.request(method, requestParams, { timeoutMs: params.config.voiceCall.requestTimeoutMs });
|
|
2998
|
+
} finally {
|
|
2999
|
+
await client.stopAndWait({ timeoutMs: 1e3 });
|
|
3000
|
+
}
|
|
3001
|
+
}
|
|
3002
|
+
};
|
|
3003
|
+
}
|
|
2970
3004
|
function isVoiceCallMissingError(error) {
|
|
2971
3005
|
const message = formatErrorMessage(error).toLowerCase();
|
|
2972
3006
|
return message.includes("call not found") || message.includes("call is not active");
|
|
2973
3007
|
}
|
|
2974
3008
|
async function joinMeetViaVoiceCallGateway(params) {
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
await sleep(delayMs);
|
|
2996
|
-
}
|
|
2997
|
-
let spoken;
|
|
2998
|
-
try {
|
|
2999
|
-
spoken = await client.request("voicecall.speak", {
|
|
3000
|
-
callId: start.callId,
|
|
3001
|
-
allowTwimlFallback: false,
|
|
3002
|
-
message: params.message
|
|
3003
|
-
}, { timeoutMs: params.config.voiceCall.requestTimeoutMs });
|
|
3004
|
-
} catch (err) {
|
|
3005
|
-
params.logger?.warn?.(`[google-meet] Skipped intro speech because realtime bridge was not ready: ${formatErrorMessage(err)}`);
|
|
3006
|
-
spoken = { success: false };
|
|
3007
|
-
}
|
|
3008
|
-
if (spoken.success === false) params.logger?.warn?.(`[google-meet] Skipped intro speech because realtime bridge was not ready: ${spoken.error || "voicecall.speak failed"}`);
|
|
3009
|
-
else {
|
|
3010
|
-
introSent = true;
|
|
3011
|
-
params.logger?.info(`[google-meet] Intro speech requested after Meet dial sequence: callId=${start.callId}`);
|
|
3012
|
-
}
|
|
3009
|
+
if (params.agentId && params.agentId !== "main" && !params.gateway.trustedPluginIdentity) throw new Error("Per-agent Voice Call routing requires the local Gateway runtime. Remove google-meet voiceCall.gatewayUrl or omit agent routing.");
|
|
3010
|
+
params.logger?.info(`[google-meet] Delegating Twilio join to Voice Call (dtmf=${params.dtmfSequence ? "pre-connect" : "none"}, intro=${params.message ? "delayed" : "none"})`);
|
|
3011
|
+
const start = await params.gateway.request("voicecall.start", {
|
|
3012
|
+
to: params.dialInNumber,
|
|
3013
|
+
mode: "conversation",
|
|
3014
|
+
...params.dtmfSequence ? { dtmfSequence: params.dtmfSequence } : {},
|
|
3015
|
+
...params.requesterSessionKey ? { requesterSessionKey: params.requesterSessionKey } : {},
|
|
3016
|
+
...params.agentId && params.gateway.trustedPluginIdentity ? { agentId: params.agentId } : {},
|
|
3017
|
+
...params.sessionKey ? { sessionKey: params.sessionKey } : {}
|
|
3018
|
+
});
|
|
3019
|
+
if (!start.callId) throw new Error(start.error || "voicecall.start did not return callId");
|
|
3020
|
+
params.logger?.info(`[google-meet] Voice Call Twilio phone leg started: callId=${start.callId}`);
|
|
3021
|
+
const dtmfSent = Boolean(params.dtmfSequence);
|
|
3022
|
+
if (dtmfSent) params.logger?.info(`[google-meet] Meet DTMF queued before realtime connect: callId=${start.callId} digits=${params.dtmfSequence?.length ?? 0}`);
|
|
3023
|
+
let introSent = false;
|
|
3024
|
+
if (params.message) {
|
|
3025
|
+
const delayMs = params.dtmfSequence ? params.config.voiceCall.postDtmfSpeechDelayMs : 0;
|
|
3026
|
+
if (delayMs > 0) {
|
|
3027
|
+
params.logger?.info(`[google-meet] Waiting ${delayMs}ms after Meet DTMF before speaking intro for callId=${start.callId}`);
|
|
3028
|
+
await sleep(delayMs);
|
|
3013
3029
|
}
|
|
3014
|
-
|
|
3015
|
-
callId: start.callId,
|
|
3016
|
-
dtmfSent,
|
|
3017
|
-
introSent
|
|
3018
|
-
};
|
|
3019
|
-
} finally {
|
|
3020
|
-
await client?.stopAndWait({ timeoutMs: 1e3 });
|
|
3021
|
-
}
|
|
3022
|
-
}
|
|
3023
|
-
async function endMeetVoiceCallGatewayCall(params) {
|
|
3024
|
-
let client;
|
|
3025
|
-
try {
|
|
3026
|
-
client = await createConnectedGatewayClient(params.config);
|
|
3030
|
+
let spoken;
|
|
3027
3031
|
try {
|
|
3028
|
-
await
|
|
3032
|
+
spoken = await params.gateway.request("voicecall.speak", {
|
|
3033
|
+
callId: start.callId,
|
|
3034
|
+
allowTwimlFallback: false,
|
|
3035
|
+
message: params.message
|
|
3036
|
+
});
|
|
3029
3037
|
} catch (err) {
|
|
3030
|
-
|
|
3038
|
+
params.logger?.warn?.(`[google-meet] Skipped intro speech because realtime bridge was not ready: ${formatErrorMessage(err)}`);
|
|
3039
|
+
spoken = { success: false };
|
|
3040
|
+
}
|
|
3041
|
+
if (spoken.success === false) params.logger?.warn?.(`[google-meet] Skipped intro speech because realtime bridge was not ready: ${spoken.error || "voicecall.speak failed"}`);
|
|
3042
|
+
else {
|
|
3043
|
+
introSent = true;
|
|
3044
|
+
params.logger?.info(`[google-meet] Intro speech requested after Meet dial sequence: callId=${start.callId}`);
|
|
3031
3045
|
}
|
|
3032
|
-
} finally {
|
|
3033
|
-
await client?.stopAndWait({ timeoutMs: 1e3 });
|
|
3034
3046
|
}
|
|
3047
|
+
return {
|
|
3048
|
+
callId: start.callId,
|
|
3049
|
+
dtmfSent,
|
|
3050
|
+
introSent
|
|
3051
|
+
};
|
|
3035
3052
|
}
|
|
3036
|
-
async function
|
|
3037
|
-
let client;
|
|
3053
|
+
async function endMeetVoiceCallGatewayCall(params) {
|
|
3038
3054
|
try {
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
await client?.stopAndWait({ timeoutMs: 1e3 });
|
|
3055
|
+
await params.gateway.request("voicecall.end", { callId: params.callId });
|
|
3056
|
+
} catch (err) {
|
|
3057
|
+
if (!isVoiceCallMissingError(err)) throw err;
|
|
3043
3058
|
}
|
|
3044
3059
|
}
|
|
3060
|
+
async function getMeetVoiceCallGatewayCall(params) {
|
|
3061
|
+
return await params.gateway.request("voicecall.status", { callId: params.callId });
|
|
3062
|
+
}
|
|
3045
3063
|
async function speakMeetViaVoiceCallGateway(params) {
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
message: params.message
|
|
3052
|
-
}, { timeoutMs: params.config.voiceCall.requestTimeoutMs });
|
|
3053
|
-
if (spoken.success === false) throw new Error(spoken.error || "voicecall.speak failed");
|
|
3054
|
-
} finally {
|
|
3055
|
-
await client?.stopAndWait({ timeoutMs: 1e3 });
|
|
3056
|
-
}
|
|
3064
|
+
const spoken = await params.gateway.request("voicecall.speak", {
|
|
3065
|
+
callId: params.callId,
|
|
3066
|
+
message: params.message
|
|
3067
|
+
});
|
|
3068
|
+
if (spoken.success === false) throw new Error(spoken.error || "voicecall.speak failed");
|
|
3057
3069
|
}
|
|
3058
3070
|
//#endregion
|
|
3059
3071
|
//#region extensions/google-meet/src/runtime.ts
|
|
@@ -3172,8 +3184,10 @@ var GoogleMeetRuntime = class {
|
|
|
3172
3184
|
#sessionStops = /* @__PURE__ */ new Map();
|
|
3173
3185
|
#sessionSpeakers = /* @__PURE__ */ new Map();
|
|
3174
3186
|
#sessionHealth = /* @__PURE__ */ new Map();
|
|
3187
|
+
#voiceCallGateway;
|
|
3175
3188
|
constructor(params) {
|
|
3176
3189
|
this.params = params;
|
|
3190
|
+
this.#voiceCallGateway = createVoiceCallGateway(params);
|
|
3177
3191
|
}
|
|
3178
3192
|
list() {
|
|
3179
3193
|
this.#refreshHealth();
|
|
@@ -3321,9 +3335,16 @@ var GoogleMeetRuntime = class {
|
|
|
3321
3335
|
};
|
|
3322
3336
|
try {
|
|
3323
3337
|
if (transport === "chrome" || transport === "chrome-node") {
|
|
3338
|
+
const chromeConfig = request.agentId ? {
|
|
3339
|
+
...this.params.config,
|
|
3340
|
+
realtime: {
|
|
3341
|
+
...this.params.config.realtime,
|
|
3342
|
+
agentId: request.agentId
|
|
3343
|
+
}
|
|
3344
|
+
} : this.params.config;
|
|
3324
3345
|
const result = transport === "chrome-node" ? await launchChromeMeetOnNode({
|
|
3325
3346
|
runtime: this.params.runtime,
|
|
3326
|
-
config:
|
|
3347
|
+
config: chromeConfig,
|
|
3327
3348
|
fullConfig: this.params.fullConfig,
|
|
3328
3349
|
meetingSessionId: session.id,
|
|
3329
3350
|
requesterSessionKey: request.requesterSessionKey,
|
|
@@ -3332,7 +3353,7 @@ var GoogleMeetRuntime = class {
|
|
|
3332
3353
|
logger: this.params.logger
|
|
3333
3354
|
}) : await launchChromeMeet({
|
|
3334
3355
|
runtime: this.params.runtime,
|
|
3335
|
-
config:
|
|
3356
|
+
config: chromeConfig,
|
|
3336
3357
|
fullConfig: this.params.fullConfig,
|
|
3337
3358
|
meetingSessionId: session.id,
|
|
3338
3359
|
requesterSessionKey: request.requesterSessionKey,
|
|
@@ -3360,11 +3381,13 @@ var GoogleMeetRuntime = class {
|
|
|
3360
3381
|
const dtmfSequence = request.dtmfSequence || this.params.config.twilio.defaultDtmfSequence ? rawDtmfSequence : prefixDtmfWait(rawDtmfSequence, this.params.config.voiceCall.dtmfDelayMs);
|
|
3361
3382
|
const voiceCallResult = this.params.config.voiceCall.enabled ? await joinMeetViaVoiceCallGateway({
|
|
3362
3383
|
config: this.params.config,
|
|
3384
|
+
gateway: this.#voiceCallGateway,
|
|
3363
3385
|
dialInNumber,
|
|
3364
3386
|
dtmfSequence,
|
|
3365
3387
|
logger: this.params.logger,
|
|
3366
3388
|
...request.requesterSessionKey ? { requesterSessionKey: request.requesterSessionKey } : {},
|
|
3367
|
-
|
|
3389
|
+
agentId: request.agentId,
|
|
3390
|
+
sessionKey: request.agentId ? `agent:${request.agentId}:google-meet:${session.id}` : buildTwilioVoiceCallSessionKey(session.id),
|
|
3368
3391
|
message: isGoogleMeetTalkBackMode$1(mode) ? request.message ?? this.params.config.voiceCall.introMessage ?? this.params.config.realtime.introMessage : void 0
|
|
3369
3392
|
}) : void 0;
|
|
3370
3393
|
delegatedTwilioSpoken = Boolean(voiceCallResult?.introSent);
|
|
@@ -3378,7 +3401,7 @@ var GoogleMeetRuntime = class {
|
|
|
3378
3401
|
};
|
|
3379
3402
|
if (voiceCallResult?.callId) this.#sessionStops.set(session.id, async () => {
|
|
3380
3403
|
await endMeetVoiceCallGatewayCall({
|
|
3381
|
-
|
|
3404
|
+
gateway: this.#voiceCallGateway,
|
|
3382
3405
|
callId: voiceCallResult.callId
|
|
3383
3406
|
});
|
|
3384
3407
|
});
|
|
@@ -3425,7 +3448,7 @@ var GoogleMeetRuntime = class {
|
|
|
3425
3448
|
if (session.transport === "twilio" && session.twilio?.voiceCallId) {
|
|
3426
3449
|
try {
|
|
3427
3450
|
await speakMeetViaVoiceCallGateway({
|
|
3428
|
-
|
|
3451
|
+
gateway: this.#voiceCallGateway,
|
|
3429
3452
|
callId: session.twilio.voiceCallId,
|
|
3430
3453
|
message: instructions || this.params.config.voiceCall.introMessage || this.params.config.realtime.introMessage || ""
|
|
3431
3454
|
});
|
|
@@ -3619,7 +3642,7 @@ var GoogleMeetRuntime = class {
|
|
|
3619
3642
|
}
|
|
3620
3643
|
try {
|
|
3621
3644
|
if ((await getMeetVoiceCallGatewayCall({
|
|
3622
|
-
|
|
3645
|
+
gateway: this.#voiceCallGateway,
|
|
3623
3646
|
callId
|
|
3624
3647
|
})).found === false) this.#markTwilioSessionEnded(session, "Voice Call is no longer active.");
|
|
3625
3648
|
} catch (error) {
|
|
@@ -3723,7 +3746,7 @@ var GoogleMeetRuntime = class {
|
|
|
3723
3746
|
//#endregion
|
|
3724
3747
|
//#region extensions/google-meet/src/node-invoke-policy.ts
|
|
3725
3748
|
const GOOGLE_MEET_CHROME_NODE_COMMAND = "googlemeet.chrome";
|
|
3726
|
-
const START_MODES = new Set([
|
|
3749
|
+
const START_MODES = /* @__PURE__ */ new Set([
|
|
3727
3750
|
"agent",
|
|
3728
3751
|
"bidi",
|
|
3729
3752
|
"realtime",
|
|
@@ -3867,16 +3890,8 @@ function createGoogleMeetChromeNodeInvokePolicy(config) {
|
|
|
3867
3890
|
}
|
|
3868
3891
|
//#endregion
|
|
3869
3892
|
//#region extensions/google-meet/index.ts
|
|
3870
|
-
|
|
3871
|
-
|
|
3872
|
-
const loadGoogleMeetCreateModule = async () => {
|
|
3873
|
-
googleMeetCreateModulePromise ??= import("./create-9bdDXOHB.js");
|
|
3874
|
-
return await googleMeetCreateModulePromise;
|
|
3875
|
-
};
|
|
3876
|
-
const loadGoogleMeetCliModule = async () => {
|
|
3877
|
-
googleMeetCliModulePromise ??= import("./cli-D-HGF-yt.js");
|
|
3878
|
-
return await googleMeetCliModulePromise;
|
|
3879
|
-
};
|
|
3893
|
+
const loadGoogleMeetCreateModule = createLazyRuntimeModule(() => import("./create-CkkaRlbI.js"));
|
|
3894
|
+
const loadGoogleMeetCliModule = createLazyRuntimeModule(() => import("./cli-D364Yrym.js"));
|
|
3880
3895
|
const googleMeetConfigSchema = {
|
|
3881
3896
|
parse(value) {
|
|
3882
3897
|
return resolveGoogleMeetConfig(value);
|
|
@@ -4161,15 +4176,6 @@ const GoogleMeetToolSchema = Type.Object({
|
|
|
4161
4176
|
function asParamRecord(params) {
|
|
4162
4177
|
return params && typeof params === "object" && !Array.isArray(params) ? params : {};
|
|
4163
4178
|
}
|
|
4164
|
-
function json(payload) {
|
|
4165
|
-
return {
|
|
4166
|
-
content: [{
|
|
4167
|
-
type: "text",
|
|
4168
|
-
text: JSON.stringify(payload, null, 2)
|
|
4169
|
-
}],
|
|
4170
|
-
details: payload
|
|
4171
|
-
};
|
|
4172
|
-
}
|
|
4173
4179
|
function normalizeTransport(value) {
|
|
4174
4180
|
return value === "chrome" || value === "chrome-node" || value === "twilio" ? value : void 0;
|
|
4175
4181
|
}
|
|
@@ -4230,6 +4236,7 @@ function readGatewayErrorDetails(err) {
|
|
|
4230
4236
|
}
|
|
4231
4237
|
async function callGoogleMeetGatewayFromTool(params) {
|
|
4232
4238
|
try {
|
|
4239
|
+
if (params.runtime) return await params.runtime.gateway.request(googleMeetGatewayMethodForToolAction(params.action), params.raw, { timeoutMs: resolveGoogleMeetGatewayOperationTimeoutMs(params.config) });
|
|
4233
4240
|
return await googleMeetToolDeps.callGatewayFromCli(googleMeetGatewayMethodForToolAction(params.action), {
|
|
4234
4241
|
json: true,
|
|
4235
4242
|
timeout: String(resolveGoogleMeetGatewayOperationTimeoutMs(params.config))
|
|
@@ -4240,6 +4247,15 @@ async function callGoogleMeetGatewayFromTool(params) {
|
|
|
4240
4247
|
throw err;
|
|
4241
4248
|
}
|
|
4242
4249
|
}
|
|
4250
|
+
function keepTrustedToolAgentId(raw, client) {
|
|
4251
|
+
const { agentId: rawAgentId, ...rest } = raw;
|
|
4252
|
+
if (client?.internal?.pluginRuntimeOwnerId !== "google-meet") return rest;
|
|
4253
|
+
const agentId = normalizeOptionalString(rawAgentId);
|
|
4254
|
+
return agentId ? {
|
|
4255
|
+
...rest,
|
|
4256
|
+
agentId
|
|
4257
|
+
} : rest;
|
|
4258
|
+
}
|
|
4243
4259
|
async function createMeetFromParams(params) {
|
|
4244
4260
|
return (await loadGoogleMeetCreateModule()).createMeetFromParams(params);
|
|
4245
4261
|
}
|
|
@@ -4247,7 +4263,7 @@ async function createAndJoinMeetFromParams(params) {
|
|
|
4247
4263
|
return (await loadGoogleMeetCreateModule()).createAndJoinMeetFromParams(params);
|
|
4248
4264
|
}
|
|
4249
4265
|
async function resolveGoogleMeetTokenFromParams(config, raw) {
|
|
4250
|
-
const { resolveGoogleMeetAccessToken } = await import("./oauth-
|
|
4266
|
+
const { resolveGoogleMeetAccessToken } = await import("./oauth-75iPDzIn.js");
|
|
4251
4267
|
return resolveGoogleMeetAccessToken({
|
|
4252
4268
|
clientId: normalizeOptionalString(raw.clientId) ?? config.oauth.clientId,
|
|
4253
4269
|
clientSecret: normalizeOptionalString(raw.clientSecret) ?? config.oauth.clientSecret,
|
|
@@ -4404,25 +4420,27 @@ var google_meet_default = definePluginEntry({
|
|
|
4404
4420
|
const payload = formatGatewayError(err);
|
|
4405
4421
|
respond(false, payload, errorShape(code, typeof payload.error === "string" ? payload.error : "Google Meet request failed", { details: payload }));
|
|
4406
4422
|
};
|
|
4407
|
-
api.registerGatewayMethod("googlemeet.join", async ({ params, respond }) => {
|
|
4423
|
+
api.registerGatewayMethod("googlemeet.join", async ({ params, client, respond }) => {
|
|
4408
4424
|
try {
|
|
4425
|
+
const trustedParams = keepTrustedToolAgentId(asParamRecord(params), client);
|
|
4409
4426
|
respond(true, await (await ensureRuntime()).join({
|
|
4410
|
-
url: resolveMeetingInput(config,
|
|
4411
|
-
transport: normalizeTransport(
|
|
4412
|
-
mode: normalizeMode(
|
|
4413
|
-
dialInNumber: normalizeOptionalString(
|
|
4414
|
-
pin: normalizeOptionalString(
|
|
4415
|
-
dtmfSequence: normalizeOptionalString(
|
|
4416
|
-
message: normalizeOptionalString(
|
|
4417
|
-
requesterSessionKey: normalizeOptionalString(
|
|
4427
|
+
url: resolveMeetingInput(config, trustedParams.url),
|
|
4428
|
+
transport: normalizeTransport(trustedParams.transport),
|
|
4429
|
+
mode: normalizeMode(trustedParams.mode),
|
|
4430
|
+
dialInNumber: normalizeOptionalString(trustedParams.dialInNumber),
|
|
4431
|
+
pin: normalizeOptionalString(trustedParams.pin),
|
|
4432
|
+
dtmfSequence: normalizeOptionalString(trustedParams.dtmfSequence),
|
|
4433
|
+
message: normalizeOptionalString(trustedParams.message),
|
|
4434
|
+
requesterSessionKey: normalizeOptionalString(trustedParams.requesterSessionKey),
|
|
4435
|
+
agentId: normalizeOptionalString(trustedParams.agentId)
|
|
4418
4436
|
}));
|
|
4419
4437
|
} catch (err) {
|
|
4420
4438
|
sendError(respond, err);
|
|
4421
4439
|
}
|
|
4422
4440
|
});
|
|
4423
|
-
api.registerGatewayMethod("googlemeet.create", async ({ params, respond }) => {
|
|
4441
|
+
api.registerGatewayMethod("googlemeet.create", async ({ params, client, respond }) => {
|
|
4424
4442
|
try {
|
|
4425
|
-
const raw = asParamRecord(params);
|
|
4443
|
+
const raw = keepTrustedToolAgentId(asParamRecord(params), client);
|
|
4426
4444
|
respond(true, shouldJoinCreatedMeet(raw) ? await createAndJoinMeetFromParams({
|
|
4427
4445
|
config,
|
|
4428
4446
|
runtime: api.runtime,
|
|
@@ -4502,7 +4520,8 @@ var google_meet_default = definePluginEntry({
|
|
|
4502
4520
|
});
|
|
4503
4521
|
api.registerGatewayMethod("googlemeet.artifacts", async ({ params, respond }) => {
|
|
4504
4522
|
try {
|
|
4505
|
-
const
|
|
4523
|
+
const raw = asParamRecord(params);
|
|
4524
|
+
const resolved = await resolveArtifactQueryFromParams(config, raw);
|
|
4506
4525
|
respond(true, await fetchGoogleMeetArtifacts({
|
|
4507
4526
|
accessToken: resolved.token.accessToken,
|
|
4508
4527
|
meeting: resolved.meeting,
|
|
@@ -4518,7 +4537,8 @@ var google_meet_default = definePluginEntry({
|
|
|
4518
4537
|
});
|
|
4519
4538
|
api.registerGatewayMethod("googlemeet.attendance", async ({ params, respond }) => {
|
|
4520
4539
|
try {
|
|
4521
|
-
const
|
|
4540
|
+
const raw = asParamRecord(params);
|
|
4541
|
+
const resolved = await resolveArtifactQueryFromParams(config, raw);
|
|
4522
4542
|
respond(true, await fetchGoogleMeetAttendance({
|
|
4523
4543
|
accessToken: resolved.token.accessToken,
|
|
4524
4544
|
meeting: resolved.meeting,
|
|
@@ -4575,17 +4595,19 @@ var google_meet_default = definePluginEntry({
|
|
|
4575
4595
|
sendError(respond, err);
|
|
4576
4596
|
}
|
|
4577
4597
|
});
|
|
4578
|
-
api.registerGatewayMethod("googlemeet.testSpeech", async ({ params, respond }) => {
|
|
4598
|
+
api.registerGatewayMethod("googlemeet.testSpeech", async ({ params, client, respond }) => {
|
|
4579
4599
|
try {
|
|
4600
|
+
const trustedParams = keepTrustedToolAgentId(asParamRecord(params), client);
|
|
4580
4601
|
respond(true, await (await ensureRuntime()).testSpeech({
|
|
4581
|
-
url: resolveMeetingInput(config,
|
|
4582
|
-
transport: normalizeTransport(
|
|
4583
|
-
mode: normalizeMode(
|
|
4584
|
-
dialInNumber: normalizeOptionalString(
|
|
4585
|
-
pin: normalizeOptionalString(
|
|
4586
|
-
dtmfSequence: normalizeOptionalString(
|
|
4587
|
-
message: normalizeOptionalString(
|
|
4588
|
-
requesterSessionKey: normalizeOptionalString(
|
|
4602
|
+
url: resolveMeetingInput(config, trustedParams.url),
|
|
4603
|
+
transport: normalizeTransport(trustedParams.transport),
|
|
4604
|
+
mode: normalizeMode(trustedParams.mode),
|
|
4605
|
+
dialInNumber: normalizeOptionalString(trustedParams.dialInNumber),
|
|
4606
|
+
pin: normalizeOptionalString(trustedParams.pin),
|
|
4607
|
+
dtmfSequence: normalizeOptionalString(trustedParams.dtmfSequence),
|
|
4608
|
+
message: normalizeOptionalString(trustedParams.message),
|
|
4609
|
+
requesterSessionKey: normalizeOptionalString(trustedParams.requesterSessionKey),
|
|
4610
|
+
agentId: normalizeOptionalString(trustedParams.agentId)
|
|
4589
4611
|
}));
|
|
4590
4612
|
} catch (err) {
|
|
4591
4613
|
sendError(respond, err);
|
|
@@ -4611,58 +4633,65 @@ var google_meet_default = definePluginEntry({
|
|
|
4611
4633
|
async execute(_toolCallId, params) {
|
|
4612
4634
|
const raw = asParamRecord(params);
|
|
4613
4635
|
const requesterSessionKey = normalizeOptionalString(toolContext.sessionKey);
|
|
4614
|
-
const
|
|
4615
|
-
...raw,
|
|
4616
|
-
requesterSessionKey
|
|
4617
|
-
} : raw;
|
|
4636
|
+
const agentId = toolContext.agentId ? normalizeAgentId(toolContext.agentId) : void 0;
|
|
4618
4637
|
try {
|
|
4638
|
+
const useTrustedRuntime = agentId ? await api.runtime.gateway.isAvailable() : false;
|
|
4639
|
+
if (agentId && agentId !== "main" && !useTrustedRuntime) throw new Error("Per-agent Google Meet routing requires a Gateway-hosted agent run.");
|
|
4640
|
+
const rawWithRequester = {
|
|
4641
|
+
...raw,
|
|
4642
|
+
...requesterSessionKey ? { requesterSessionKey } : {},
|
|
4643
|
+
...useTrustedRuntime ? { agentId } : {}
|
|
4644
|
+
};
|
|
4619
4645
|
assertGoogleMeetAgentToolActionSupported({
|
|
4620
4646
|
config,
|
|
4621
4647
|
raw
|
|
4622
4648
|
});
|
|
4623
4649
|
switch (raw.action) {
|
|
4624
|
-
case "join": return
|
|
4650
|
+
case "join": return jsonResult(await callGoogleMeetGatewayFromTool({
|
|
4625
4651
|
config,
|
|
4626
4652
|
action: "join",
|
|
4627
|
-
raw: rawWithRequester
|
|
4653
|
+
raw: rawWithRequester,
|
|
4654
|
+
runtime: useTrustedRuntime ? api.runtime : void 0
|
|
4628
4655
|
}));
|
|
4629
|
-
case "create": return
|
|
4656
|
+
case "create": return jsonResult(await callGoogleMeetGatewayFromTool({
|
|
4630
4657
|
config,
|
|
4631
4658
|
action: "create",
|
|
4632
|
-
raw: rawWithRequester
|
|
4659
|
+
raw: rawWithRequester,
|
|
4660
|
+
runtime: useTrustedRuntime ? api.runtime : void 0
|
|
4633
4661
|
}));
|
|
4634
|
-
case "test_speech": return
|
|
4662
|
+
case "test_speech": return jsonResult(await callGoogleMeetGatewayFromTool({
|
|
4635
4663
|
config,
|
|
4636
4664
|
action: "test_speech",
|
|
4637
|
-
raw: rawWithRequester
|
|
4665
|
+
raw: rawWithRequester,
|
|
4666
|
+
runtime: useTrustedRuntime ? api.runtime : void 0
|
|
4638
4667
|
}));
|
|
4639
|
-
case "test_listen": return
|
|
4668
|
+
case "test_listen": return jsonResult(await callGoogleMeetGatewayFromTool({
|
|
4640
4669
|
config,
|
|
4641
4670
|
action: "test_listen",
|
|
4642
4671
|
raw
|
|
4643
4672
|
}));
|
|
4644
|
-
case "status": return
|
|
4673
|
+
case "status": return jsonResult(await callGoogleMeetGatewayFromTool({
|
|
4645
4674
|
config,
|
|
4646
4675
|
action: "status",
|
|
4647
4676
|
raw
|
|
4648
4677
|
}));
|
|
4649
|
-
case "recover_current_tab": return
|
|
4678
|
+
case "recover_current_tab": return jsonResult(await callGoogleMeetGatewayFromTool({
|
|
4650
4679
|
config,
|
|
4651
4680
|
action: "recover_current_tab",
|
|
4652
4681
|
raw
|
|
4653
4682
|
}));
|
|
4654
|
-
case "setup_status": return
|
|
4683
|
+
case "setup_status": return jsonResult(await callGoogleMeetGatewayFromTool({
|
|
4655
4684
|
config,
|
|
4656
4685
|
action: "setup_status",
|
|
4657
4686
|
raw
|
|
4658
4687
|
}));
|
|
4659
4688
|
case "resolve_space": {
|
|
4660
4689
|
const { token: _token, ...result } = await resolveSpaceFromParams(config, raw);
|
|
4661
|
-
return
|
|
4690
|
+
return jsonResult(result);
|
|
4662
4691
|
}
|
|
4663
4692
|
case "preflight": {
|
|
4664
4693
|
const { meeting, token, space } = await resolveSpaceFromParams(config, raw);
|
|
4665
|
-
return
|
|
4694
|
+
return jsonResult(buildGoogleMeetPreflightReport({
|
|
4666
4695
|
input: meeting,
|
|
4667
4696
|
space,
|
|
4668
4697
|
previewAcknowledged: config.preview.enrollmentAcknowledged,
|
|
@@ -4676,7 +4705,7 @@ var google_meet_default = definePluginEntry({
|
|
|
4676
4705
|
raw,
|
|
4677
4706
|
accessToken: token.accessToken
|
|
4678
4707
|
});
|
|
4679
|
-
return
|
|
4708
|
+
return jsonResult({
|
|
4680
4709
|
...await fetchLatestGoogleMeetConferenceRecord({
|
|
4681
4710
|
accessToken: token.accessToken,
|
|
4682
4711
|
meeting: resolved.meeting
|
|
@@ -4687,7 +4716,7 @@ var google_meet_default = definePluginEntry({
|
|
|
4687
4716
|
case "calendar_events": {
|
|
4688
4717
|
const token = await resolveGoogleMeetTokenFromParams(config, raw);
|
|
4689
4718
|
const window = raw.today === true ? buildGoogleMeetCalendarDayWindow() : {};
|
|
4690
|
-
return
|
|
4719
|
+
return jsonResult(await listGoogleMeetCalendarEvents({
|
|
4691
4720
|
accessToken: token.accessToken,
|
|
4692
4721
|
calendarId: normalizeOptionalString(raw.calendarId),
|
|
4693
4722
|
eventQuery: normalizeOptionalString(raw.event),
|
|
@@ -4696,7 +4725,7 @@ var google_meet_default = definePluginEntry({
|
|
|
4696
4725
|
}
|
|
4697
4726
|
case "artifacts": {
|
|
4698
4727
|
const resolved = await resolveArtifactQueryFromParams(config, raw);
|
|
4699
|
-
return
|
|
4728
|
+
return jsonResult(await fetchGoogleMeetArtifacts({
|
|
4700
4729
|
accessToken: resolved.token.accessToken,
|
|
4701
4730
|
meeting: resolved.meeting,
|
|
4702
4731
|
conferenceRecord: resolved.conferenceRecord,
|
|
@@ -4708,7 +4737,7 @@ var google_meet_default = definePluginEntry({
|
|
|
4708
4737
|
}
|
|
4709
4738
|
case "attendance": {
|
|
4710
4739
|
const resolved = await resolveArtifactQueryFromParams(config, raw);
|
|
4711
|
-
return
|
|
4740
|
+
return jsonResult(await fetchGoogleMeetAttendance({
|
|
4712
4741
|
accessToken: resolved.token.accessToken,
|
|
4713
4742
|
meeting: resolved.meeting,
|
|
4714
4743
|
conferenceRecord: resolved.conferenceRecord,
|
|
@@ -4719,22 +4748,22 @@ var google_meet_default = definePluginEntry({
|
|
|
4719
4748
|
earlyBeforeMinutes: resolved.earlyBeforeMinutes
|
|
4720
4749
|
}));
|
|
4721
4750
|
}
|
|
4722
|
-
case "export": return
|
|
4751
|
+
case "export": return jsonResult(await exportGoogleMeetBundleFromParams(config, raw));
|
|
4723
4752
|
case "leave":
|
|
4724
4753
|
if (!normalizeOptionalString(raw.sessionId)) throw new Error("sessionId required");
|
|
4725
|
-
return
|
|
4754
|
+
return jsonResult(await callGoogleMeetGatewayFromTool({
|
|
4726
4755
|
config,
|
|
4727
4756
|
action: "leave",
|
|
4728
4757
|
raw
|
|
4729
4758
|
}));
|
|
4730
|
-
case "end_active_conference": return
|
|
4759
|
+
case "end_active_conference": return jsonResult(await callGoogleMeetGatewayFromTool({
|
|
4731
4760
|
config,
|
|
4732
4761
|
action: "end_active_conference",
|
|
4733
4762
|
raw
|
|
4734
4763
|
}));
|
|
4735
4764
|
case "speak":
|
|
4736
4765
|
if (!normalizeOptionalString(raw.sessionId)) throw new Error("sessionId required");
|
|
4737
|
-
return
|
|
4766
|
+
return jsonResult(await callGoogleMeetGatewayFromTool({
|
|
4738
4767
|
config,
|
|
4739
4768
|
action: "speak",
|
|
4740
4769
|
raw
|
|
@@ -4742,7 +4771,7 @@ var google_meet_default = definePluginEntry({
|
|
|
4742
4771
|
default: throw new Error("unknown google_meet action");
|
|
4743
4772
|
}
|
|
4744
4773
|
} catch (err) {
|
|
4745
|
-
return
|
|
4774
|
+
return jsonResult(formatGatewayError(err));
|
|
4746
4775
|
}
|
|
4747
4776
|
}
|
|
4748
4777
|
}), { name: "google_meet" });
|