@juzi/wechaty 1.0.159 → 1.0.161
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/cjs/src/io.js +40 -40
- package/dist/cjs/src/io.js.map +1 -1
- package/dist/cjs/src/package-json.js +4 -4
- package/dist/cjs/src/schemas/logger.d.ts +2 -0
- package/dist/cjs/src/schemas/logger.d.ts.map +1 -0
- package/dist/cjs/src/schemas/logger.js +3 -0
- package/dist/cjs/src/schemas/logger.js.map +1 -0
- package/dist/cjs/src/schemas/mod.d.ts +2 -1
- package/dist/cjs/src/schemas/mod.d.ts.map +1 -1
- package/dist/cjs/src/schemas/mod.js.map +1 -1
- package/dist/cjs/src/schemas/wechaty-options.d.ts +19 -0
- package/dist/cjs/src/schemas/wechaty-options.d.ts.map +1 -1
- package/dist/cjs/src/user-mixins/wechatify.d.ts +23 -0
- package/dist/cjs/src/user-mixins/wechatify.d.ts.map +1 -1
- package/dist/cjs/src/user-mixins/wechatify.js +25 -0
- package/dist/cjs/src/user-mixins/wechatify.js.map +1 -1
- package/dist/cjs/src/user-modules/call.d.ts +4 -0
- package/dist/cjs/src/user-modules/call.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/call.js +6 -7
- package/dist/cjs/src/user-modules/call.js.map +1 -1
- package/dist/cjs/src/user-modules/channel-card.d.ts +2 -0
- package/dist/cjs/src/user-modules/channel-card.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/channel-card.js +2 -3
- package/dist/cjs/src/user-modules/channel-card.js.map +1 -1
- package/dist/cjs/src/user-modules/channel.d.ts +2 -0
- package/dist/cjs/src/user-modules/channel.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/channel.js +2 -3
- package/dist/cjs/src/user-modules/channel.js.map +1 -1
- package/dist/cjs/src/user-modules/chat-history.d.ts +2 -0
- package/dist/cjs/src/user-modules/chat-history.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/chat-history.js +2 -3
- package/dist/cjs/src/user-modules/chat-history.js.map +1 -1
- package/dist/cjs/src/user-modules/consult-card.d.ts +2 -0
- package/dist/cjs/src/user-modules/consult-card.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/consult-card.js +3 -4
- package/dist/cjs/src/user-modules/consult-card.js.map +1 -1
- package/dist/cjs/src/user-modules/contact-self.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/contact-self.js +8 -9
- package/dist/cjs/src/user-modules/contact-self.js.map +1 -1
- package/dist/cjs/src/user-modules/contact.d.ts +2 -0
- package/dist/cjs/src/user-modules/contact.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/contact.js +36 -37
- package/dist/cjs/src/user-modules/contact.js.map +1 -1
- package/dist/cjs/src/user-modules/delay.d.ts +2 -0
- package/dist/cjs/src/user-modules/delay.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.d.ts +2 -0
- package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.js +2 -3
- package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.js.map +1 -1
- package/dist/cjs/src/user-modules/favorite.d.ts +21 -0
- package/dist/cjs/src/user-modules/favorite.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/favorite.js +1 -21
- package/dist/cjs/src/user-modules/favorite.js.map +1 -1
- package/dist/cjs/src/user-modules/friendship.d.ts +2 -0
- package/dist/cjs/src/user-modules/friendship.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/friendship.js +11 -12
- package/dist/cjs/src/user-modules/friendship.js.map +1 -1
- package/dist/cjs/src/user-modules/im-specific.d.ts +2 -0
- package/dist/cjs/src/user-modules/im-specific.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/im-specific.js +1 -2
- package/dist/cjs/src/user-modules/im-specific.js.map +1 -1
- package/dist/cjs/src/user-modules/image.d.ts +22 -0
- package/dist/cjs/src/user-modules/image.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/image.js +5 -6
- package/dist/cjs/src/user-modules/image.js.map +1 -1
- package/dist/cjs/src/user-modules/location.d.ts +2 -0
- package/dist/cjs/src/user-modules/location.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/location.js +2 -3
- package/dist/cjs/src/user-modules/location.js.map +1 -1
- package/dist/cjs/src/user-modules/message.d.ts +2 -0
- package/dist/cjs/src/user-modules/message.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/message.js +55 -55
- package/dist/cjs/src/user-modules/message.js.map +1 -1
- package/dist/cjs/src/user-modules/mini-program.d.ts +2 -0
- package/dist/cjs/src/user-modules/mini-program.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/mini-program.js +2 -3
- package/dist/cjs/src/user-modules/mini-program.js.map +1 -1
- package/dist/cjs/src/user-modules/moment.d.ts +21 -0
- package/dist/cjs/src/user-modules/moment.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/moment.js +5 -25
- package/dist/cjs/src/user-modules/moment.js.map +1 -1
- package/dist/cjs/src/user-modules/money.d.ts +2 -0
- package/dist/cjs/src/user-modules/money.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/post.d.ts +2 -0
- package/dist/cjs/src/user-modules/post.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/post.js +25 -25
- package/dist/cjs/src/user-modules/post.js.map +1 -1
- package/dist/cjs/src/user-modules/premium-online-appointment-card.d.ts +2 -0
- package/dist/cjs/src/user-modules/premium-online-appointment-card.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/premium-online-appointment-card.js +2 -3
- package/dist/cjs/src/user-modules/premium-online-appointment-card.js.map +1 -1
- package/dist/cjs/src/user-modules/room-invitation.d.ts +2 -0
- package/dist/cjs/src/user-modules/room-invitation.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/room-invitation.js +10 -11
- package/dist/cjs/src/user-modules/room-invitation.js.map +1 -1
- package/dist/cjs/src/user-modules/room.d.ts +2 -0
- package/dist/cjs/src/user-modules/room.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/room.js +43 -43
- package/dist/cjs/src/user-modules/room.js.map +1 -1
- package/dist/cjs/src/user-modules/tag-group.d.ts +2 -0
- package/dist/cjs/src/user-modules/tag-group.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/tag-group.js +13 -14
- package/dist/cjs/src/user-modules/tag-group.js.map +1 -1
- package/dist/cjs/src/user-modules/tag.d.ts +2 -0
- package/dist/cjs/src/user-modules/tag.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/tag.js +21 -22
- package/dist/cjs/src/user-modules/tag.js.map +1 -1
- package/dist/cjs/src/user-modules/url-link.d.ts +2 -0
- package/dist/cjs/src/user-modules/url-link.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/url-link.js +2 -3
- package/dist/cjs/src/user-modules/url-link.js.map +1 -1
- package/dist/cjs/src/user-modules/voice.d.ts +2 -0
- package/dist/cjs/src/user-modules/voice.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/voice.js +8 -9
- package/dist/cjs/src/user-modules/voice.js.map +1 -1
- package/dist/cjs/src/user-modules/wecom.d.ts +3 -1
- package/dist/cjs/src/user-modules/wecom.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/wecom.js +2 -3
- package/dist/cjs/src/user-modules/wecom.js.map +1 -1
- package/dist/cjs/src/user-modules/wxxd-order.d.ts +2 -0
- package/dist/cjs/src/user-modules/wxxd-order.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/wxxd-order.js +9 -10
- package/dist/cjs/src/user-modules/wxxd-order.js.map +1 -1
- package/dist/cjs/src/user-modules/wxxd-product.d.ts +2 -0
- package/dist/cjs/src/user-modules/wxxd-product.d.ts.map +1 -1
- package/dist/cjs/src/user-modules/wxxd-product.js +6 -7
- package/dist/cjs/src/user-modules/wxxd-product.js.map +1 -1
- package/dist/cjs/src/wechaty/wechaty-base.d.ts +21 -37
- package/dist/cjs/src/wechaty/wechaty-base.d.ts.map +1 -1
- package/dist/cjs/src/wechaty/wechaty-base.js +17 -17
- package/dist/cjs/src/wechaty/wechaty-base.js.map +1 -1
- package/dist/cjs/src/wechaty/wechaty-skeleton.d.ts +15 -4
- package/dist/cjs/src/wechaty/wechaty-skeleton.d.ts.map +1 -1
- package/dist/cjs/src/wechaty/wechaty-skeleton.js +17 -6
- package/dist/cjs/src/wechaty/wechaty-skeleton.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/gerror-mixin.d.ts +3 -2
- package/dist/cjs/src/wechaty-mixins/gerror-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/io-mixin.d.ts +12 -6
- package/dist/cjs/src/wechaty-mixins/io-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/io-mixin.js +8 -8
- package/dist/cjs/src/wechaty-mixins/io-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/login-mixin.d.ts +53 -19
- package/dist/cjs/src/wechaty-mixins/login-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/login-mixin.js +5 -5
- package/dist/cjs/src/wechaty-mixins/login-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/misc-mixin.d.ts +15 -10
- package/dist/cjs/src/wechaty-mixins/misc-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/misc-mixin.js +1 -1
- package/dist/cjs/src/wechaty-mixins/misc-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/plugin-mixin.d.ts +18 -12
- package/dist/cjs/src/wechaty-mixins/plugin-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/plugin-mixin.js +5 -5
- package/dist/cjs/src/wechaty-mixins/plugin-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts +16 -34
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.js +90 -90
- package/dist/cjs/src/wechaty-mixins/puppet-mixin.js.map +1 -1
- package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.d.ts +3 -2
- package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.d.ts.map +1 -1
- package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.js +4 -4
- package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.js.map +1 -1
- package/dist/esm/src/io.js +40 -40
- package/dist/esm/src/io.js.map +1 -1
- package/dist/esm/src/package-json.js +4 -4
- package/dist/esm/src/schemas/logger.d.ts +2 -0
- package/dist/esm/src/schemas/logger.d.ts.map +1 -0
- package/dist/esm/src/schemas/logger.js +2 -0
- package/dist/esm/src/schemas/logger.js.map +1 -0
- package/dist/esm/src/schemas/mod.d.ts +2 -1
- package/dist/esm/src/schemas/mod.d.ts.map +1 -1
- package/dist/esm/src/schemas/mod.js.map +1 -1
- package/dist/esm/src/schemas/wechaty-options.d.ts +19 -0
- package/dist/esm/src/schemas/wechaty-options.d.ts.map +1 -1
- package/dist/esm/src/user-mixins/wechatify.d.ts +23 -0
- package/dist/esm/src/user-mixins/wechatify.d.ts.map +1 -1
- package/dist/esm/src/user-mixins/wechatify.js +25 -0
- package/dist/esm/src/user-mixins/wechatify.js.map +1 -1
- package/dist/esm/src/user-modules/call.d.ts +4 -0
- package/dist/esm/src/user-modules/call.d.ts.map +1 -1
- package/dist/esm/src/user-modules/call.js +6 -7
- package/dist/esm/src/user-modules/call.js.map +1 -1
- package/dist/esm/src/user-modules/channel-card.d.ts +2 -0
- package/dist/esm/src/user-modules/channel-card.d.ts.map +1 -1
- package/dist/esm/src/user-modules/channel-card.js +2 -3
- package/dist/esm/src/user-modules/channel-card.js.map +1 -1
- package/dist/esm/src/user-modules/channel.d.ts +2 -0
- package/dist/esm/src/user-modules/channel.d.ts.map +1 -1
- package/dist/esm/src/user-modules/channel.js +2 -3
- package/dist/esm/src/user-modules/channel.js.map +1 -1
- package/dist/esm/src/user-modules/chat-history.d.ts +2 -0
- package/dist/esm/src/user-modules/chat-history.d.ts.map +1 -1
- package/dist/esm/src/user-modules/chat-history.js +2 -3
- package/dist/esm/src/user-modules/chat-history.js.map +1 -1
- package/dist/esm/src/user-modules/consult-card.d.ts +2 -0
- package/dist/esm/src/user-modules/consult-card.d.ts.map +1 -1
- package/dist/esm/src/user-modules/consult-card.js +3 -4
- package/dist/esm/src/user-modules/consult-card.js.map +1 -1
- package/dist/esm/src/user-modules/contact-self.d.ts.map +1 -1
- package/dist/esm/src/user-modules/contact-self.js +8 -9
- package/dist/esm/src/user-modules/contact-self.js.map +1 -1
- package/dist/esm/src/user-modules/contact.d.ts +2 -0
- package/dist/esm/src/user-modules/contact.d.ts.map +1 -1
- package/dist/esm/src/user-modules/contact.js +36 -37
- package/dist/esm/src/user-modules/contact.js.map +1 -1
- package/dist/esm/src/user-modules/delay.d.ts +2 -0
- package/dist/esm/src/user-modules/delay.d.ts.map +1 -1
- package/dist/esm/src/user-modules/douyin-one-click-phone-collection.d.ts +2 -0
- package/dist/esm/src/user-modules/douyin-one-click-phone-collection.d.ts.map +1 -1
- package/dist/esm/src/user-modules/douyin-one-click-phone-collection.js +2 -3
- package/dist/esm/src/user-modules/douyin-one-click-phone-collection.js.map +1 -1
- package/dist/esm/src/user-modules/favorite.d.ts +21 -0
- package/dist/esm/src/user-modules/favorite.d.ts.map +1 -1
- package/dist/esm/src/user-modules/favorite.js +1 -21
- package/dist/esm/src/user-modules/favorite.js.map +1 -1
- package/dist/esm/src/user-modules/friendship.d.ts +2 -0
- package/dist/esm/src/user-modules/friendship.d.ts.map +1 -1
- package/dist/esm/src/user-modules/friendship.js +11 -12
- package/dist/esm/src/user-modules/friendship.js.map +1 -1
- package/dist/esm/src/user-modules/im-specific.d.ts +2 -0
- package/dist/esm/src/user-modules/im-specific.d.ts.map +1 -1
- package/dist/esm/src/user-modules/im-specific.js +1 -2
- package/dist/esm/src/user-modules/im-specific.js.map +1 -1
- package/dist/esm/src/user-modules/image.d.ts +22 -0
- package/dist/esm/src/user-modules/image.d.ts.map +1 -1
- package/dist/esm/src/user-modules/image.js +5 -6
- package/dist/esm/src/user-modules/image.js.map +1 -1
- package/dist/esm/src/user-modules/location.d.ts +2 -0
- package/dist/esm/src/user-modules/location.d.ts.map +1 -1
- package/dist/esm/src/user-modules/location.js +2 -3
- package/dist/esm/src/user-modules/location.js.map +1 -1
- package/dist/esm/src/user-modules/message.d.ts +2 -0
- package/dist/esm/src/user-modules/message.d.ts.map +1 -1
- package/dist/esm/src/user-modules/message.js +56 -56
- package/dist/esm/src/user-modules/message.js.map +1 -1
- package/dist/esm/src/user-modules/mini-program.d.ts +2 -0
- package/dist/esm/src/user-modules/mini-program.d.ts.map +1 -1
- package/dist/esm/src/user-modules/mini-program.js +2 -3
- package/dist/esm/src/user-modules/mini-program.js.map +1 -1
- package/dist/esm/src/user-modules/moment.d.ts +21 -0
- package/dist/esm/src/user-modules/moment.d.ts.map +1 -1
- package/dist/esm/src/user-modules/moment.js +5 -25
- package/dist/esm/src/user-modules/moment.js.map +1 -1
- package/dist/esm/src/user-modules/money.d.ts +2 -0
- package/dist/esm/src/user-modules/money.d.ts.map +1 -1
- package/dist/esm/src/user-modules/post.d.ts +2 -0
- package/dist/esm/src/user-modules/post.d.ts.map +1 -1
- package/dist/esm/src/user-modules/post.js +25 -25
- package/dist/esm/src/user-modules/post.js.map +1 -1
- package/dist/esm/src/user-modules/premium-online-appointment-card.d.ts +2 -0
- package/dist/esm/src/user-modules/premium-online-appointment-card.d.ts.map +1 -1
- package/dist/esm/src/user-modules/premium-online-appointment-card.js +2 -3
- package/dist/esm/src/user-modules/premium-online-appointment-card.js.map +1 -1
- package/dist/esm/src/user-modules/room-invitation.d.ts +2 -0
- package/dist/esm/src/user-modules/room-invitation.d.ts.map +1 -1
- package/dist/esm/src/user-modules/room-invitation.js +10 -11
- package/dist/esm/src/user-modules/room-invitation.js.map +1 -1
- package/dist/esm/src/user-modules/room.d.ts +2 -0
- package/dist/esm/src/user-modules/room.d.ts.map +1 -1
- package/dist/esm/src/user-modules/room.js +44 -44
- package/dist/esm/src/user-modules/room.js.map +1 -1
- package/dist/esm/src/user-modules/tag-group.d.ts +2 -0
- package/dist/esm/src/user-modules/tag-group.d.ts.map +1 -1
- package/dist/esm/src/user-modules/tag-group.js +13 -14
- package/dist/esm/src/user-modules/tag-group.js.map +1 -1
- package/dist/esm/src/user-modules/tag.d.ts +2 -0
- package/dist/esm/src/user-modules/tag.d.ts.map +1 -1
- package/dist/esm/src/user-modules/tag.js +21 -22
- package/dist/esm/src/user-modules/tag.js.map +1 -1
- package/dist/esm/src/user-modules/url-link.d.ts +2 -0
- package/dist/esm/src/user-modules/url-link.d.ts.map +1 -1
- package/dist/esm/src/user-modules/url-link.js +2 -3
- package/dist/esm/src/user-modules/url-link.js.map +1 -1
- package/dist/esm/src/user-modules/voice.d.ts +2 -0
- package/dist/esm/src/user-modules/voice.d.ts.map +1 -1
- package/dist/esm/src/user-modules/voice.js +8 -9
- package/dist/esm/src/user-modules/voice.js.map +1 -1
- package/dist/esm/src/user-modules/wecom.d.ts +3 -1
- package/dist/esm/src/user-modules/wecom.d.ts.map +1 -1
- package/dist/esm/src/user-modules/wecom.js +2 -3
- package/dist/esm/src/user-modules/wecom.js.map +1 -1
- package/dist/esm/src/user-modules/wxxd-order.d.ts +2 -0
- package/dist/esm/src/user-modules/wxxd-order.d.ts.map +1 -1
- package/dist/esm/src/user-modules/wxxd-order.js +9 -10
- package/dist/esm/src/user-modules/wxxd-order.js.map +1 -1
- package/dist/esm/src/user-modules/wxxd-product.d.ts +2 -0
- package/dist/esm/src/user-modules/wxxd-product.d.ts.map +1 -1
- package/dist/esm/src/user-modules/wxxd-product.js +6 -7
- package/dist/esm/src/user-modules/wxxd-product.js.map +1 -1
- package/dist/esm/src/wechaty/wechaty-base.d.ts +21 -37
- package/dist/esm/src/wechaty/wechaty-base.d.ts.map +1 -1
- package/dist/esm/src/wechaty/wechaty-base.js +17 -17
- package/dist/esm/src/wechaty/wechaty-base.js.map +1 -1
- package/dist/esm/src/wechaty/wechaty-skeleton.d.ts +15 -4
- package/dist/esm/src/wechaty/wechaty-skeleton.d.ts.map +1 -1
- package/dist/esm/src/wechaty/wechaty-skeleton.js +17 -6
- package/dist/esm/src/wechaty/wechaty-skeleton.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/gerror-mixin.d.ts +3 -2
- package/dist/esm/src/wechaty-mixins/gerror-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/io-mixin.d.ts +12 -6
- package/dist/esm/src/wechaty-mixins/io-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/io-mixin.js +8 -8
- package/dist/esm/src/wechaty-mixins/io-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/login-mixin.d.ts +53 -19
- package/dist/esm/src/wechaty-mixins/login-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/login-mixin.js +5 -5
- package/dist/esm/src/wechaty-mixins/login-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/misc-mixin.d.ts +15 -10
- package/dist/esm/src/wechaty-mixins/misc-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/misc-mixin.js +1 -1
- package/dist/esm/src/wechaty-mixins/misc-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/plugin-mixin.d.ts +18 -12
- package/dist/esm/src/wechaty-mixins/plugin-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/plugin-mixin.js +5 -5
- package/dist/esm/src/wechaty-mixins/plugin-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts +16 -34
- package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin.js +90 -90
- package/dist/esm/src/wechaty-mixins/puppet-mixin.js.map +1 -1
- package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.d.ts +3 -2
- package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.d.ts.map +1 -1
- package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.js +4 -4
- package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.js.map +1 -1
- package/package.json +3 -3
- package/src/io.ts +40 -40
- package/src/package-json.ts +4 -4
- package/src/schemas/logger.ts +1 -0
- package/src/schemas/mod.ts +4 -0
- package/src/schemas/wechaty-options.ts +21 -0
- package/src/user-mixins/wechatify.ts +26 -0
- package/src/user-modules/call.ts +6 -7
- package/src/user-modules/channel-card.ts +2 -3
- package/src/user-modules/channel.ts +2 -3
- package/src/user-modules/chat-history.ts +2 -3
- package/src/user-modules/consult-card.ts +3 -5
- package/src/user-modules/contact-self.ts +8 -11
- package/src/user-modules/contact.ts +36 -40
- package/src/user-modules/douyin-one-click-phone-collection.ts +2 -3
- package/src/user-modules/favorite.ts +1 -2
- package/src/user-modules/friendship.ts +11 -12
- package/src/user-modules/im-specific.ts +1 -2
- package/src/user-modules/image.ts +5 -6
- package/src/user-modules/location.ts +2 -3
- package/src/user-modules/message.ts +55 -56
- package/src/user-modules/mini-program.ts +2 -3
- package/src/user-modules/moment.ts +5 -6
- package/src/user-modules/post.ts +25 -25
- package/src/user-modules/premium-online-appointment-card.ts +2 -3
- package/src/user-modules/room-invitation.ts +10 -11
- package/src/user-modules/room.ts +43 -44
- package/src/user-modules/tag-group.ts +13 -14
- package/src/user-modules/tag.ts +21 -22
- package/src/user-modules/url-link.ts +2 -3
- package/src/user-modules/voice.ts +8 -9
- package/src/user-modules/wecom.ts +3 -3
- package/src/user-modules/wxxd-order.ts +9 -10
- package/src/user-modules/wxxd-product.ts +6 -7
- package/src/wechaty/wechaty-base.ts +17 -17
- package/src/wechaty/wechaty-skeleton.ts +21 -8
- package/src/wechaty-mixins/io-mixin.ts +8 -8
- package/src/wechaty-mixins/login-mixin.ts +5 -5
- package/src/wechaty-mixins/misc-mixin.ts +1 -1
- package/src/wechaty-mixins/plugin-mixin.ts +5 -5
- package/src/wechaty-mixins/puppet-mixin.ts +97 -86
- package/src/wechaty-mixins/wechatify-user-module-mixin.ts +4 -4
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts +0 -3
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts.map +0 -1
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js +0 -121
- package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js.map +0 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts +0 -3
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts.map +0 -1
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js +0 -96
- package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js.map +0 -1
- package/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.ts +0 -144
|
@@ -30,13 +30,13 @@ const pluginMixin = (mixinBase) => {
|
|
|
30
30
|
*/
|
|
31
31
|
use(...plugins) {
|
|
32
32
|
const pluginList = plugins.flat();
|
|
33
|
-
|
|
33
|
+
this.log.verbose('WechatyPluginMixin', 'use() total %d plugins', pluginList.length);
|
|
34
34
|
const uninstallerList = [];
|
|
35
35
|
for (const plugin of pluginList) {
|
|
36
|
-
|
|
36
|
+
this.log.verbose('WechatyPluginMixin', 'use() installing Plugin %s on Wechaty %s ...', plugin.name, this.name());
|
|
37
37
|
const uninstaller = plugin(this); // <- Huan(202110): TODO: remove any
|
|
38
38
|
if ((0, plugin_js_1.isWechatyPluginUninstaller)(uninstaller)) {
|
|
39
|
-
|
|
39
|
+
this.log.verbose('WechatyPluginMixin', 'use() saving uninstaller for Plugin %s on Wechaty %s ...', plugin.name, this.name());
|
|
40
40
|
uninstallerList.push(uninstaller);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
@@ -44,9 +44,9 @@ const pluginMixin = (mixinBase) => {
|
|
|
44
44
|
* Return the function to uninstall all plugins
|
|
45
45
|
*/
|
|
46
46
|
return () => uninstallerList.forEach(uninstaller => {
|
|
47
|
-
|
|
47
|
+
this.log.verbose('WechatyPluginMixin', 'use() uninstalling Plugin %s on Wechaty %s ...', uninstaller.name, this.name());
|
|
48
48
|
uninstaller();
|
|
49
|
-
|
|
49
|
+
this.log.verbose('WechatyPluginMixin', 'use() uninstalling Plugin %s on Wechaty %s ... done', uninstaller.name, this.name());
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-mixin.js","sourceRoot":"","sources":["../../../../src/wechaty-mixins/plugin-mixin.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;AAMvD,4CAEiD;AAkBjD,MAAM,WAAW,GAAG,CAAsE,SAAoB,EAAE,EAAE;IAChH,oBAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAEpE,MAAe,WAAY,SAAQ,SAAS;QAE1C,YAAa,GAAG,IAAW;YACzB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;QAChB,CAAC;QAED;;;;;;;;;;;;;;;;;;WAkBG;QACH,GAAG,CACD,GAAG,OAEA;YAEH,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;YACjC,
|
|
1
|
+
{"version":3,"file":"plugin-mixin.js","sourceRoot":"","sources":["../../../../src/wechaty-mixins/plugin-mixin.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;AAMvD,4CAEiD;AAkBjD,MAAM,WAAW,GAAG,CAAsE,SAAoB,EAAE,EAAE;IAChH,oBAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAEpE,MAAe,WAAY,SAAQ,SAAS;QAE1C,YAAa,GAAG,IAAW;YACzB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;QAChB,CAAC;QAED;;;;;;;;;;;;;;;;;;WAkBG;QACH,GAAG,CACD,GAAG,OAEA;YAEH,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;YACjC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;YAEnF,MAAM,eAAe,GAA+B,EAAE,CAAA;YAEtD,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;gBAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,8CAA8C,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;gBAEhH,MAAM,WAAW,GAAG,MAAM,CAAC,IAAW,CAAC,CAAA,CAAC,oCAAoC;gBAC5E,IAAI,IAAA,sCAA0B,EAAC,WAAW,CAAC,EAAE;oBAC3C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,0DAA0D,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;oBAC5H,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;iBAClC;aACF;YAED;;eAEG;YACH,OAAO,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACjD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,gDAAgD,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;gBACvH,WAAW,EAAE,CAAA;gBACb,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,qDAAqD,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YAC9H,CAAC,CAAC,CAAA;QACJ,CAAC;KAEF;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAUC,kCAAW"}
|
|
@@ -30,16 +30,7 @@ declare const puppetMixin: <MixinBase extends ((abstract new (...args: any[]) =>
|
|
|
30
30
|
__wechatifiedChannelCard?: import("../user-modules/channel-card.js").ChannelCardConstructor | undefined;
|
|
31
31
|
__wechatifiedConsultCard?: import("../user-modules/consult-card.js").ConsultCardConstructor | undefined;
|
|
32
32
|
__wechatifiedPremiumOnlineAppointmentCard?: import("../user-modules/premium-online-appointment-card.js").PremiumOnlineAppointmentCardConstructor | undefined;
|
|
33
|
-
__wechatifiedMoment?: import("../user-modules/moment.js").MomentConstructor | undefined;
|
|
34
|
-
* Huan(202111):
|
|
35
|
-
*
|
|
36
|
-
* We should throw the Timeout error when the puppet.start() can not be finished in time.
|
|
37
|
-
* However, we need to compatible with some buggy puppet implementations which will not resolve the promise.
|
|
38
|
-
*
|
|
39
|
-
* TODO: throw the Timeout error when the puppet.start() can not be finished in time.
|
|
40
|
-
*
|
|
41
|
-
* e.g. after resolve @issue https://github.com/padlocal/wechaty-puppet-padlocal/issues/116
|
|
42
|
-
*/
|
|
33
|
+
__wechatifiedMoment?: import("../user-modules/moment.js").MomentConstructor | undefined;
|
|
43
34
|
__wechatifiedCallRecord?: import("../user-modules/call.js").CallRecordConstructor | undefined;
|
|
44
35
|
__wechatifiedChatHistory?: import("../user-modules/chat-history.js").ChatHistoryConstructor | undefined;
|
|
45
36
|
__wechatifiedWecom?: import("../user-modules/wecom.js").WecomConstructor | undefined;
|
|
@@ -63,9 +54,7 @@ declare const puppetMixin: <MixinBase extends ((abstract new (...args: any[]) =>
|
|
|
63
54
|
readonly Tag: import("../user-modules/tag.js").TagConstructor;
|
|
64
55
|
readonly TagGroup: import("../user-modules/tag-group.js").TagGroupConstructor;
|
|
65
56
|
readonly UrlLink: import("../user-modules/url-link.js").UrlLinkConstructor;
|
|
66
|
-
readonly Channel: import("../user-modules/channel.js").ChannelConstructor;
|
|
67
|
-
* Propagate Puppet Events to Wechaty
|
|
68
|
-
*/
|
|
57
|
+
readonly Channel: import("../user-modules/channel.js").ChannelConstructor;
|
|
69
58
|
readonly ChannelCard: import("../user-modules/channel-card.js").ChannelCardConstructor;
|
|
70
59
|
readonly ConsultCard: import("../user-modules/consult-card.js").ConsultCardConstructor;
|
|
71
60
|
readonly PremiumOnlineAppointmentCard: import("../user-modules/premium-online-appointment-card.js").PremiumOnlineAppointmentCardConstructor;
|
|
@@ -78,7 +67,8 @@ declare const puppetMixin: <MixinBase extends ((abstract new (...args: any[]) =>
|
|
|
78
67
|
readonly WxxdProduct: import("../user-modules/wxxd-product.js").WxxdProductConstructor;
|
|
79
68
|
readonly WxxdOrder: import("../user-modules/wxxd-order.js").WxxdOrderConstructor;
|
|
80
69
|
init(): Promise<void>;
|
|
81
|
-
|
|
70
|
+
__log: PUPPET.LoggerLike;
|
|
71
|
+
readonly log: PUPPET.LoggerLike;
|
|
82
72
|
readonly id: string;
|
|
83
73
|
__memory?: import("memory-card").MemoryCard | undefined;
|
|
84
74
|
readonly memory: import("memory-card").MemoryCard;
|
|
@@ -102,12 +92,13 @@ declare const puppetMixin: <MixinBase extends ((abstract new (...args: any[]) =>
|
|
|
102
92
|
setMaxListeners(maxListeners: number): any;
|
|
103
93
|
__events: import("../schemas/wechaty-events.js").WechatyEventListeners;
|
|
104
94
|
}) & {
|
|
105
|
-
readonly log:
|
|
95
|
+
readonly log: PUPPET.LoggerLike;
|
|
106
96
|
}) & typeof import("../wechaty/wechaty-skeleton.js").WechatySkeleton & ((abstract new (...args: any[]) => {
|
|
107
97
|
wrapAsync: import("gerror/dist/esm/src/wrap-async-error/wrap-async-error.js").WrapAsync;
|
|
108
98
|
emitError(e: any): void;
|
|
109
99
|
emit(event: any, ...args: any): boolean;
|
|
110
|
-
|
|
100
|
+
__log: PUPPET.LoggerLike;
|
|
101
|
+
readonly log: PUPPET.LoggerLike;
|
|
111
102
|
readonly id: string;
|
|
112
103
|
__memory?: import("memory-card").MemoryCard | undefined;
|
|
113
104
|
readonly memory: import("memory-card").MemoryCard;
|
|
@@ -131,14 +122,15 @@ declare const puppetMixin: <MixinBase extends ((abstract new (...args: any[]) =>
|
|
|
131
122
|
setMaxListeners(maxListeners: number): any;
|
|
132
123
|
__events: import("../schemas/wechaty-events.js").WechatyEventListeners;
|
|
133
124
|
}) & {
|
|
134
|
-
readonly log:
|
|
125
|
+
readonly log: PUPPET.LoggerLike;
|
|
135
126
|
}) & ((abstract new (...args: any[]) => {
|
|
136
127
|
__io?: import("../io.js").Io | undefined;
|
|
137
128
|
readonly io: import("../io.js").Io;
|
|
138
129
|
__ioToken?: string | undefined;
|
|
139
130
|
start(): Promise<void>;
|
|
140
131
|
stop(): Promise<void>;
|
|
141
|
-
|
|
132
|
+
__log: PUPPET.LoggerLike;
|
|
133
|
+
readonly log: PUPPET.LoggerLike;
|
|
142
134
|
readonly id: string;
|
|
143
135
|
__memory?: import("memory-card").MemoryCard | undefined;
|
|
144
136
|
readonly memory: import("memory-card").MemoryCard;
|
|
@@ -163,7 +155,7 @@ declare const puppetMixin: <MixinBase extends ((abstract new (...args: any[]) =>
|
|
|
163
155
|
wrapAsync: import("gerror/dist/esm/src/wrap-async-error/wrap-async-error.js").WrapAsync;
|
|
164
156
|
emitError(e: any): void;
|
|
165
157
|
}) & {
|
|
166
|
-
readonly log:
|
|
158
|
+
readonly log: PUPPET.LoggerLike;
|
|
167
159
|
})>(mixinBase: MixinBase) => ((abstract new (...args: any[]) => {
|
|
168
160
|
__puppet?: PUPPET.impls.PuppetInterface | undefined;
|
|
169
161
|
/** Registry of active Call instances keyed by callId. */
|
|
@@ -224,16 +216,7 @@ declare const puppetMixin: <MixinBase extends ((abstract new (...args: any[]) =>
|
|
|
224
216
|
__wechatifiedChannelCard?: import("../user-modules/channel-card.js").ChannelCardConstructor | undefined;
|
|
225
217
|
__wechatifiedConsultCard?: import("../user-modules/consult-card.js").ConsultCardConstructor | undefined;
|
|
226
218
|
__wechatifiedPremiumOnlineAppointmentCard?: import("../user-modules/premium-online-appointment-card.js").PremiumOnlineAppointmentCardConstructor | undefined;
|
|
227
|
-
__wechatifiedMoment?: import("../user-modules/moment.js").MomentConstructor | undefined;
|
|
228
|
-
* Huan(202111):
|
|
229
|
-
*
|
|
230
|
-
* We should throw the Timeout error when the puppet.start() can not be finished in time.
|
|
231
|
-
* However, we need to compatible with some buggy puppet implementations which will not resolve the promise.
|
|
232
|
-
*
|
|
233
|
-
* TODO: throw the Timeout error when the puppet.start() can not be finished in time.
|
|
234
|
-
*
|
|
235
|
-
* e.g. after resolve @issue https://github.com/padlocal/wechaty-puppet-padlocal/issues/116
|
|
236
|
-
*/
|
|
219
|
+
__wechatifiedMoment?: import("../user-modules/moment.js").MomentConstructor | undefined;
|
|
237
220
|
__wechatifiedCallRecord?: import("../user-modules/call.js").CallRecordConstructor | undefined;
|
|
238
221
|
__wechatifiedChatHistory?: import("../user-modules/chat-history.js").ChatHistoryConstructor | undefined;
|
|
239
222
|
__wechatifiedWecom?: import("../user-modules/wecom.js").WecomConstructor | undefined;
|
|
@@ -257,9 +240,7 @@ declare const puppetMixin: <MixinBase extends ((abstract new (...args: any[]) =>
|
|
|
257
240
|
readonly Tag: import("../user-modules/tag.js").TagConstructor;
|
|
258
241
|
readonly TagGroup: import("../user-modules/tag-group.js").TagGroupConstructor;
|
|
259
242
|
readonly UrlLink: import("../user-modules/url-link.js").UrlLinkConstructor;
|
|
260
|
-
readonly Channel: import("../user-modules/channel.js").ChannelConstructor;
|
|
261
|
-
* Propagate Puppet Events to Wechaty
|
|
262
|
-
*/
|
|
243
|
+
readonly Channel: import("../user-modules/channel.js").ChannelConstructor;
|
|
263
244
|
readonly ChannelCard: import("../user-modules/channel-card.js").ChannelCardConstructor;
|
|
264
245
|
readonly ConsultCard: import("../user-modules/consult-card.js").ConsultCardConstructor;
|
|
265
246
|
readonly PremiumOnlineAppointmentCard: import("../user-modules/premium-online-appointment-card.js").PremiumOnlineAppointmentCardConstructor;
|
|
@@ -271,7 +252,8 @@ declare const puppetMixin: <MixinBase extends ((abstract new (...args: any[]) =>
|
|
|
271
252
|
readonly ImSpecific: import("../user-modules/im-specific.js").ImSpecificConstructor;
|
|
272
253
|
readonly WxxdProduct: import("../user-modules/wxxd-product.js").WxxdProductConstructor;
|
|
273
254
|
readonly WxxdOrder: import("../user-modules/wxxd-order.js").WxxdOrderConstructor;
|
|
274
|
-
|
|
255
|
+
__log: PUPPET.LoggerLike;
|
|
256
|
+
readonly log: PUPPET.LoggerLike;
|
|
275
257
|
readonly id: string;
|
|
276
258
|
__memory?: import("memory-card").MemoryCard | undefined;
|
|
277
259
|
readonly memory: import("memory-card").MemoryCard;
|
|
@@ -298,7 +280,7 @@ declare const puppetMixin: <MixinBase extends ((abstract new (...args: any[]) =>
|
|
|
298
280
|
readonly io: import("../io.js").Io;
|
|
299
281
|
__ioToken?: string | undefined;
|
|
300
282
|
}) & {
|
|
301
|
-
readonly log:
|
|
283
|
+
readonly log: PUPPET.LoggerLike;
|
|
302
284
|
}) & MixinBase;
|
|
303
285
|
declare type PuppetMixin = ReturnType<typeof puppetMixin>;
|
|
304
286
|
declare type ProtectedPropertyPuppetMixin = '__puppet' | '__callPool' | '__readyState' | '__setupPuppetEvents' | '__finalizeIfEnded' | '__loginIndicator';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puppet-mixin.d.ts","sourceRoot":"","sources":["../../../../src/wechaty-mixins/puppet-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAW,sBAAsB,CAAA;AAQnD,OAAO,EAEL,gBAAgB,EAChB,oBAAoB,EACrB,MAAO,cAAc,CAAA;AAItB,OAAO,KAAK,EACV,QAAQ,
|
|
1
|
+
{"version":3,"file":"puppet-mixin.d.ts","sourceRoot":"","sources":["../../../../src/wechaty-mixins/puppet-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAW,sBAAsB,CAAA;AAQnD,OAAO,EAEL,gBAAgB,EAChB,oBAAoB,EACrB,MAAO,cAAc,CAAA;AAItB,OAAO,KAAK,EACV,QAAQ,EAST,MAAoC,wBAAwB,CAAA;AAa7D;;;;;;;GAOG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAwBS,GAAG,EAAE;;IAjB3B,yDAAyD;gBAC7C,IAAI,MAAM,EAAE,QAAQ,CAAC;;2BAUT,oBAAoB;sBAE1B,gBAAgB;;aAmBT,QAAQ,IAAI,CAAC;YA+Cd,QAAQ,IAAI,CAAC;aAyBrB,QAAQ,IAAI,CAAC;YAML,QAAQ,IAAI,CAAC;gCA0ER,OAAO,KAAK,CAAC,eAAe,GAAG,IAAI;IA2rBhE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;4BAC4B,QAAQ,oBAAkB,QAAQ,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4DzE,CAAA;AAED,aAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAA;AAEjD,aAAK,4BAA4B,GAC7B,UAAU,GACV,YAAY,GACZ,cAAc,GACd,qBAAqB,GACrB,mBAAmB,GACnB,kBAAkB,CAAA;AAEtB,YAAY,EACV,WAAW,EACX,4BAA4B,GAC7B,CAAA;AACD,OAAO,EACL,WAAW,GACZ,CAAA"}
|
|
@@ -69,10 +69,10 @@ const puppetMixin = (mixinBase) => {
|
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
71
|
async start() {
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
this.log.verbose('WechatyPuppetMixin', 'start()');
|
|
73
|
+
this.log.verbose('WechatyPuppetMixin', 'start() super.start() ...');
|
|
74
74
|
await super.start();
|
|
75
|
-
|
|
75
|
+
this.log.verbose('WechatyPuppetMixin', 'start() super.start() ... done');
|
|
76
76
|
try {
|
|
77
77
|
/**
|
|
78
78
|
* reset the `wechaty.ready()` state
|
|
@@ -82,9 +82,9 @@ const puppetMixin = (mixinBase) => {
|
|
|
82
82
|
this.__readyState.inactive(true);
|
|
83
83
|
}
|
|
84
84
|
try {
|
|
85
|
-
|
|
85
|
+
this.log.verbose('WechatyPuppetMixin', 'start() starting puppet ...');
|
|
86
86
|
await (0, gerror_1.timeoutPromise)(this.puppet.start(), 15 * 1000);
|
|
87
|
-
|
|
87
|
+
this.log.verbose('WechatyPuppetMixin', 'start() starting puppet ... done');
|
|
88
88
|
}
|
|
89
89
|
catch (e) {
|
|
90
90
|
if (e instanceof gerror_1.TimeoutPromiseGError) {
|
|
@@ -98,8 +98,8 @@ const puppetMixin = (mixinBase) => {
|
|
|
98
98
|
*
|
|
99
99
|
* e.g. after resolve @issue https://github.com/padlocal/wechaty-puppet-padlocal/issues/116
|
|
100
100
|
*/
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
this.log.warn('WechatyPuppetMixin', 'start() starting puppet ... timeout');
|
|
102
|
+
this.log.warn('WechatyPuppetMixin', 'start() puppet info: %s', this.puppet);
|
|
103
103
|
}
|
|
104
104
|
else {
|
|
105
105
|
throw e;
|
|
@@ -111,73 +111,99 @@ const puppetMixin = (mixinBase) => {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
async stop() {
|
|
114
|
-
|
|
114
|
+
this.log.verbose('WechatyPuppetMixin', 'stop()');
|
|
115
115
|
try {
|
|
116
|
-
|
|
116
|
+
this.log.verbose('WechatyPuppetMixin', 'stop() stopping puppet ...');
|
|
117
117
|
await (0, gerror_1.timeoutPromise)(this.puppet.stop(), 15 * 1000);
|
|
118
|
-
|
|
118
|
+
this.log.verbose('WechatyPuppetMixin', 'stop() stopping puppet ... done');
|
|
119
119
|
}
|
|
120
120
|
catch (e) {
|
|
121
121
|
if (e instanceof gerror_1.TimeoutPromiseGError) {
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
this.log.warn('WechatyPuppetMixin', 'stop() stopping puppet ... timeout');
|
|
123
|
+
this.log.warn('WechatyPuppetMixin', 'stop() puppet info: %s', this.puppet);
|
|
124
124
|
}
|
|
125
125
|
this.emitError(e);
|
|
126
126
|
}
|
|
127
|
-
|
|
127
|
+
this.log.verbose('WechatyPuppetMixin', 'stop() super.stop() ...');
|
|
128
128
|
await super.stop();
|
|
129
|
-
|
|
129
|
+
this.log.verbose('WechatyPuppetMixin', 'stop() super.stop() ... done');
|
|
130
130
|
this.__callPool.clear();
|
|
131
131
|
}
|
|
132
132
|
async ready() {
|
|
133
|
-
|
|
133
|
+
this.log.verbose('WechatyPuppetMixin', 'ready()');
|
|
134
134
|
await this.__readyState.stable('active');
|
|
135
|
-
|
|
135
|
+
this.log.silly('WechatyPuppetMixin', 'ready() this.readyState.stable(on) resolved');
|
|
136
136
|
}
|
|
137
137
|
async init() {
|
|
138
|
-
|
|
138
|
+
this.log.verbose('WechatyPuppetMixin', 'init()');
|
|
139
139
|
await super.init();
|
|
140
140
|
if (this.__puppetMixinInited) {
|
|
141
|
-
|
|
141
|
+
this.log.verbose('WechatyPuppetMixin', 'init() skipped because this puppet has already been inited before.');
|
|
142
142
|
return;
|
|
143
143
|
}
|
|
144
144
|
this.__puppetMixinInited = true;
|
|
145
|
-
|
|
145
|
+
this.log.verbose('WechatyPuppetMixin', 'init() instanciating puppet instance ...');
|
|
146
|
+
/**
|
|
147
|
+
* Forward `WechatyOptions.logger` down into `PuppetOptions.logger` so
|
|
148
|
+
* that the puppet layer emits logs through the same logger the caller
|
|
149
|
+
* supplied to Wechaty.
|
|
150
|
+
*/
|
|
151
|
+
const basePuppetOptions = 'puppetOptions' in this.__options
|
|
152
|
+
? this.__options.puppetOptions
|
|
153
|
+
: undefined;
|
|
154
|
+
const mergedPuppetOptions = this.__options.logger
|
|
155
|
+
? { ...(basePuppetOptions ?? {}), logger: this.__options.logger }
|
|
156
|
+
: basePuppetOptions;
|
|
146
157
|
const puppetInstance = await PUPPET.helpers.resolvePuppet({
|
|
147
158
|
puppet: this.__options.puppet || config_js_1.config.systemPuppetName(),
|
|
148
|
-
puppetOptions:
|
|
149
|
-
? this.__options.puppetOptions
|
|
150
|
-
: undefined,
|
|
159
|
+
puppetOptions: mergedPuppetOptions,
|
|
151
160
|
});
|
|
152
|
-
|
|
161
|
+
/**
|
|
162
|
+
* Adopt the puppet's effective logger onto the Wechaty side, so that
|
|
163
|
+
* `wechaty.log` and, via the accessory chain, every user module
|
|
164
|
+
* (`Contact.log`, `Message.log`, ...) route through it. `PuppetInterface`
|
|
165
|
+
* hides `log` (via `PuppetSkeletonProtectedProperty`), so a structural
|
|
166
|
+
* cast is required. The `??` guards third-party puppets that never
|
|
167
|
+
* adopted the pluggable logger — those fall back to the brolog `log`
|
|
168
|
+
* already assigned in WechatySkeleton.
|
|
169
|
+
*
|
|
170
|
+
* Adopted immediately after `resolvePuppet` so the rest of init() —
|
|
171
|
+
* setMemory / setupPuppetEvents / the sync `emit('puppet')` listeners —
|
|
172
|
+
* all route through the caller-supplied logger, not brolog.
|
|
173
|
+
*/
|
|
174
|
+
const puppetLog = puppetInstance.log;
|
|
175
|
+
if (puppetLog) {
|
|
176
|
+
this.__log = puppetLog;
|
|
177
|
+
}
|
|
178
|
+
this.log.verbose('WechatyPuppetMixin', 'init() instanciating puppet instance ... done');
|
|
153
179
|
/**
|
|
154
180
|
* Plug the Memory Card to Puppet
|
|
155
181
|
*/
|
|
156
|
-
|
|
182
|
+
this.log.verbose('WechatyPuppetMixin', 'init() setting memory ...');
|
|
157
183
|
const puppetMemory = this.memory.multiplex(PUPPET_MEMORY_NAME);
|
|
158
184
|
puppetInstance.setMemory(puppetMemory);
|
|
159
|
-
|
|
185
|
+
this.log.verbose('WechatyPuppetMixin', 'init() setting memory ... done');
|
|
160
186
|
/**
|
|
161
187
|
* Propagate Puppet Events to Wechaty
|
|
162
188
|
*/
|
|
163
|
-
|
|
189
|
+
this.log.verbose('WechatyPuppetMixin', 'init() setting up events ...');
|
|
164
190
|
this.__setupPuppetEvents(puppetInstance);
|
|
165
|
-
|
|
191
|
+
this.log.verbose('WechatyPuppetMixin', 'init() setting up events ... done');
|
|
166
192
|
/**
|
|
167
193
|
* Private Event
|
|
168
194
|
* - Huan(202005): emit puppet when set
|
|
169
195
|
* - Huan(202110): @see https://github.com/wechaty/redux/blob/16af0ae01f72e37f0ee286b49fa5ccf69850323d/src/wechaty-redux.ts#L82-L98
|
|
170
196
|
*/
|
|
171
|
-
|
|
197
|
+
this.log.verbose('WechatyPuppetMixin', 'init() emitting "puppet" event ...');
|
|
172
198
|
this.emit('puppet', puppetInstance);
|
|
173
|
-
|
|
199
|
+
this.log.verbose('WechatyPuppetMixin', 'init() emitting "puppet" event ... done');
|
|
174
200
|
this.__puppet = puppetInstance;
|
|
175
201
|
}
|
|
176
202
|
__setupPuppetEvents(puppet) {
|
|
177
|
-
|
|
203
|
+
this.log.verbose('WechatyPuppetMixin', '__setupPuppetEvents(%s)', puppet);
|
|
178
204
|
const eventNameList = Object.keys(PUPPET.types.PUPPET_EVENT_DICT);
|
|
179
205
|
for (const eventName of eventNameList) {
|
|
180
|
-
|
|
206
|
+
this.log.verbose('PuppetMixin', '__setupPuppetEvents() puppet.on(%s) (listenerCount:%s) registering...', eventName, puppet.listenerCount(eventName));
|
|
181
207
|
switch (eventName) {
|
|
182
208
|
case 'dong':
|
|
183
209
|
puppet.on('dong', payload => {
|
|
@@ -250,7 +276,7 @@ const puppetMixin = (mixinBase) => {
|
|
|
250
276
|
this.emit('logout', contact, payload.data);
|
|
251
277
|
}
|
|
252
278
|
else {
|
|
253
|
-
|
|
279
|
+
this.log.verbose('PuppetMixin', '__setupPuppetEvents() logout event contact self not found for id: %s', payload.contactId);
|
|
254
280
|
}
|
|
255
281
|
}
|
|
256
282
|
catch (e) {
|
|
@@ -342,7 +368,7 @@ const puppetMixin = (mixinBase) => {
|
|
|
342
368
|
break;
|
|
343
369
|
case 'ready':
|
|
344
370
|
puppet.on('ready', async () => {
|
|
345
|
-
|
|
371
|
+
this.log.silly('WechatyPuppetMixin', '__setupPuppetEvents() puppet.on(ready)');
|
|
346
372
|
// ready event should be emitted 15s after login
|
|
347
373
|
let onceLogout;
|
|
348
374
|
let timeout; // 'NodeJS' is not defined.
|
|
@@ -370,7 +396,7 @@ const puppetMixin = (mixinBase) => {
|
|
|
370
396
|
}
|
|
371
397
|
}
|
|
372
398
|
catch (e) {
|
|
373
|
-
|
|
399
|
+
this.log.error(`ready error: ${e.message}, will emit event anyway if it's logged in now`);
|
|
374
400
|
if (this.puppet.isLoggedIn) {
|
|
375
401
|
this.emit('ready');
|
|
376
402
|
this.__loginIndicator.value(true);
|
|
@@ -475,7 +501,7 @@ const puppetMixin = (mixinBase) => {
|
|
|
475
501
|
}
|
|
476
502
|
}
|
|
477
503
|
catch (e) {
|
|
478
|
-
|
|
504
|
+
this.log.warn('room-announce', 'room-announce event error: %s', e.message);
|
|
479
505
|
}
|
|
480
506
|
const date = (0, timestamp_to_date_js_1.timestampToDate)(payload.timestamp);
|
|
481
507
|
this.emit('room-announce', room, payload.newAnnounce, changer, payload.oldAnnounce, date);
|
|
@@ -521,7 +547,7 @@ const puppetMixin = (mixinBase) => {
|
|
|
521
547
|
return tag.name() === oldName;
|
|
522
548
|
});
|
|
523
549
|
if (!result) {
|
|
524
|
-
|
|
550
|
+
this.log.warn('WechatyPuppetMixin', 'tagRenameEvent still get old name after %s retries for tag %s', config_js_1.PUPPET_PAYLOAD_SYNC_MAX_RETRY, tag.id);
|
|
525
551
|
}
|
|
526
552
|
}));
|
|
527
553
|
this.emit('tag', payload.type, renamedTags, date);
|
|
@@ -560,7 +586,7 @@ const puppetMixin = (mixinBase) => {
|
|
|
560
586
|
return tagGroup.name() === oldName;
|
|
561
587
|
});
|
|
562
588
|
if (!result) {
|
|
563
|
-
|
|
589
|
+
this.log.warn('WechatyPuppetMixin', 'tagGroupRenameEvent still get old name after %s retries for tagGroup %s', config_js_1.PUPPET_PAYLOAD_SYNC_MAX_RETRY, tagGroup.id);
|
|
564
590
|
}
|
|
565
591
|
}));
|
|
566
592
|
this.emit('tag-group', payload.type, renamedTagGroups, date);
|
|
@@ -591,7 +617,7 @@ const puppetMixin = (mixinBase) => {
|
|
|
591
617
|
contact.emit('enter-conversation', date, payload.scene);
|
|
592
618
|
}
|
|
593
619
|
else {
|
|
594
|
-
|
|
620
|
+
this.log.verbose('PuppetMixin', '__setupPuppetEvents() contact-enter-conversation event contact not found for id: %s', payload.contactId);
|
|
595
621
|
}
|
|
596
622
|
});
|
|
597
623
|
break;
|
|
@@ -605,7 +631,7 @@ const puppetMixin = (mixinBase) => {
|
|
|
605
631
|
contact.emit('lead-filled', leads, date);
|
|
606
632
|
}
|
|
607
633
|
else {
|
|
608
|
-
|
|
634
|
+
this.log.verbose('PuppetMixin', '__setupPuppetEvents() contact-lead-filled event contact not found for id: %s', payload.contactId);
|
|
609
635
|
}
|
|
610
636
|
});
|
|
611
637
|
break;
|
|
@@ -615,49 +641,26 @@ const puppetMixin = (mixinBase) => {
|
|
|
615
641
|
case 'dirty':
|
|
616
642
|
/**
|
|
617
643
|
* https://github.com/wechaty/wechaty-puppet-service/issues/43
|
|
618
|
-
*
|
|
619
|
-
* `dirty` semantics: the puppet-service told us the cached payload
|
|
620
|
-
* for this id is stale. It is NOT a request to load the payload.
|
|
621
|
-
*
|
|
622
|
-
* The old handler used `this.Xxx.find({ id })` which, on pool miss,
|
|
623
|
-
* constructs a fresh user-layer instance AND calls `.ready()` — a
|
|
624
|
-
* puppet-side gRPC round-trip. For a `dirty` event about an id
|
|
625
|
-
* that no business code has ever touched, this turned a passive
|
|
626
|
-
* "invalidate if cached" signal into an active fetch, amplifying
|
|
627
|
-
* dirty-event bursts (e.g. during message storms) into extra
|
|
628
|
-
* puppet-service QPS.
|
|
629
|
-
*
|
|
630
|
-
* Fix: for pooled user-modules, look the instance up in the pool
|
|
631
|
-
* directly and only call `.ready(true)` when it is already there.
|
|
632
|
-
* The Call branch (below) already follows this shape via
|
|
633
|
-
* `__callPool.get(...)`. Message has no pool, so its branch is a
|
|
634
|
-
* no-op break (any caller wanting a Message must load it itself).
|
|
635
644
|
*/
|
|
636
645
|
puppet.on('dirty', async ({ payloadType, payloadId }) => {
|
|
637
646
|
try {
|
|
638
647
|
switch (payloadType) {
|
|
639
648
|
case PUPPET.types.Payload.Contact: {
|
|
640
|
-
const
|
|
641
|
-
|
|
642
|
-
await cached.ready(true);
|
|
649
|
+
const contact = await this.Contact.find({ id: payloadId });
|
|
650
|
+
await contact?.ready(true);
|
|
643
651
|
break;
|
|
644
652
|
}
|
|
645
653
|
case PUPPET.types.Payload.Room: {
|
|
646
|
-
const
|
|
647
|
-
|
|
648
|
-
await cached.ready(true);
|
|
654
|
+
const room = await this.Room.find({ id: payloadId });
|
|
655
|
+
await room?.ready(true);
|
|
649
656
|
break;
|
|
650
657
|
}
|
|
651
658
|
case PUPPET.types.Payload.RoomMember: {
|
|
652
659
|
if (payloadId.includes(PUPPET.STRING_SPLITTER)) {
|
|
653
660
|
break;
|
|
654
661
|
}
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
// a new Room here.
|
|
658
|
-
const cached = this.Room.pool.get(payloadId);
|
|
659
|
-
if (cached)
|
|
660
|
-
await cached.ready();
|
|
662
|
+
const room = await this.Room.find({ id: payloadId });
|
|
663
|
+
await room?.ready();
|
|
661
664
|
break;
|
|
662
665
|
}
|
|
663
666
|
/**
|
|
@@ -666,13 +669,12 @@ const puppetMixin = (mixinBase) => {
|
|
|
666
669
|
case PUPPET.types.Payload.Friendship:
|
|
667
670
|
// Friendship has no payload
|
|
668
671
|
break;
|
|
669
|
-
case PUPPET.types.Payload.Message:
|
|
670
|
-
// Message
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
// cache-mixin listener still invalidates the puppet-side
|
|
674
|
-
// payload cache alongside this handler.
|
|
672
|
+
case PUPPET.types.Payload.Message: {
|
|
673
|
+
// Message does not need to dirty (?)
|
|
674
|
+
const message = await this.Message.find({ id: payloadId });
|
|
675
|
+
await message?.ready(true);
|
|
675
676
|
break;
|
|
677
|
+
}
|
|
676
678
|
case PUPPET.types.Payload.Tag:
|
|
677
679
|
break;
|
|
678
680
|
case PUPPET.types.Payload.TagGroup:
|
|
@@ -680,15 +682,13 @@ const puppetMixin = (mixinBase) => {
|
|
|
680
682
|
case PUPPET.types.Payload.Post:
|
|
681
683
|
break;
|
|
682
684
|
case PUPPET.types.Payload.WxxdProduct: {
|
|
683
|
-
const
|
|
684
|
-
|
|
685
|
-
await cached.ready(true);
|
|
685
|
+
const product = await this.WxxdProduct.find({ id: payloadId });
|
|
686
|
+
await product?.ready(true);
|
|
686
687
|
break;
|
|
687
688
|
}
|
|
688
689
|
case PUPPET.types.Payload.WxxdOrder: {
|
|
689
|
-
const
|
|
690
|
-
|
|
691
|
-
await cached.ready(true);
|
|
690
|
+
const order = await this.WxxdOrder.find({ id: payloadId });
|
|
691
|
+
await order?.ready(true);
|
|
692
692
|
break;
|
|
693
693
|
}
|
|
694
694
|
case PUPPET.types.Payload.Call: {
|
|
@@ -714,14 +714,14 @@ const puppetMixin = (mixinBase) => {
|
|
|
714
714
|
await call.ready(true);
|
|
715
715
|
}
|
|
716
716
|
catch (e) {
|
|
717
|
-
|
|
717
|
+
this.log.warn('WechatyPuppetMixin', 'dirty(Call) ready failed for callId=%s: %s', payloadId, e.message);
|
|
718
718
|
}
|
|
719
719
|
}
|
|
720
720
|
break;
|
|
721
721
|
}
|
|
722
722
|
case PUPPET.types.Payload.Unspecified:
|
|
723
723
|
default:
|
|
724
|
-
|
|
724
|
+
this.log.warn('unknown payload type: ' + payloadType);
|
|
725
725
|
}
|
|
726
726
|
this.emit('dirty', payloadId, payloadType);
|
|
727
727
|
}
|
|
@@ -764,7 +764,7 @@ const puppetMixin = (mixinBase) => {
|
|
|
764
764
|
try {
|
|
765
765
|
if (payload.signal === PUPPET.types.CallSignal.Invite) {
|
|
766
766
|
if (this.__callPool.has(payload.callId)) {
|
|
767
|
-
|
|
767
|
+
this.log.warn('WechatyPuppetMixin', '__setupPuppetEvents() duplicate Invite for callId=%s, ignoring', payload.callId);
|
|
768
768
|
return;
|
|
769
769
|
}
|
|
770
770
|
const call = new this.Call({
|
|
@@ -782,12 +782,12 @@ const puppetMixin = (mixinBase) => {
|
|
|
782
782
|
// are expected within race windows (e.g. a Ringing ack arriving
|
|
783
783
|
// before callInvite returns) or after the Call has been finalized
|
|
784
784
|
// and removed from the pool. Drop silently — log.warn, not error.
|
|
785
|
-
|
|
785
|
+
this.log.warn('WechatyPuppetMixin', '__setupPuppetEvents() call event for unknown callId=%s, dropping', payload.callId);
|
|
786
786
|
return;
|
|
787
787
|
}
|
|
788
788
|
const actor = await this.Contact.find({ id: payload.contactId });
|
|
789
789
|
if (!actor) {
|
|
790
|
-
|
|
790
|
+
this.log.warn('WechatyPuppetMixin', '__setupPuppetEvents() actor contact not found for callId=%s contactId=%s, dropping', payload.callId, payload.contactId);
|
|
791
791
|
return;
|
|
792
792
|
}
|
|
793
793
|
call.__handleSignal(payload.signal, actor, payload.reason);
|
|
@@ -828,7 +828,7 @@ const puppetMixin = (mixinBase) => {
|
|
|
828
828
|
throw new Error('eventName ' + eventName + ' unsupported!');
|
|
829
829
|
}
|
|
830
830
|
}
|
|
831
|
-
|
|
831
|
+
this.log.verbose('WechatyPuppetMixin', '__setupPuppetEvents() ... done');
|
|
832
832
|
}
|
|
833
833
|
/**
|
|
834
834
|
* Decide whether a call has reached its terminal state and, if so, drive
|
|
@@ -865,7 +865,7 @@ const puppetMixin = (mixinBase) => {
|
|
|
865
865
|
ended = !!call.endTime();
|
|
866
866
|
}
|
|
867
867
|
catch (e) {
|
|
868
|
-
|
|
868
|
+
this.log.warn('WechatyPuppetMixin', '__finalizeIfEnded() sync attempt %d failed for callId=%s: %s', attempt + 1, call.id, e.message);
|
|
869
869
|
}
|
|
870
870
|
if (!ended && attempt < 2) {
|
|
871
871
|
await new Promise(resolve => setTimeout(resolve, 500));
|
|
@@ -876,15 +876,15 @@ const puppetMixin = (mixinBase) => {
|
|
|
876
876
|
try {
|
|
877
877
|
const participants = await call.participants();
|
|
878
878
|
if (participants.length === 2) {
|
|
879
|
-
|
|
879
|
+
this.log.warn('WechatyPuppetMixin', '__finalizeIfEnded() 1v1 fallback after sync failure for callId=%s (rosterLength=%d)', call.id, participants.length);
|
|
880
880
|
ended = true;
|
|
881
881
|
}
|
|
882
882
|
else {
|
|
883
|
-
|
|
883
|
+
this.log.error('WechatyPuppetMixin', '__finalizeIfEnded() sync failed, leaving callId=%s in pool for next dirty signal (rosterLength=%d)', call.id, participants.length);
|
|
884
884
|
}
|
|
885
885
|
}
|
|
886
886
|
catch (e) {
|
|
887
|
-
|
|
887
|
+
this.log.error('WechatyPuppetMixin', '__finalizeIfEnded() participants lookup failed for callId=%s: %s', call.id, e.message);
|
|
888
888
|
}
|
|
889
889
|
}
|
|
890
890
|
if (ended) {
|