@juzi/wechaty-puppet-service 1.0.16 → 1.0.19
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/client/payload-store.d.ts +2 -0
- package/dist/cjs/src/client/payload-store.d.ts.map +1 -1
- package/dist/cjs/src/client/payload-store.js +10 -0
- package/dist/cjs/src/client/payload-store.js.map +1 -1
- package/dist/cjs/src/client/puppet-service.d.ts +14 -11
- package/dist/cjs/src/client/puppet-service.d.ts.map +1 -1
- package/dist/cjs/src/client/puppet-service.js +127 -82
- package/dist/cjs/src/client/puppet-service.js.map +1 -1
- package/dist/cjs/src/config.d.ts +1 -0
- package/dist/cjs/src/config.d.ts.map +1 -1
- package/dist/cjs/src/config.js +2 -1
- package/dist/cjs/src/config.js.map +1 -1
- package/dist/cjs/src/package-json.js +5 -5
- package/dist/cjs/src/package-json.js.map +1 -1
- package/dist/cjs/src/server/event-stream-manager.d.ts.map +1 -1
- package/dist/cjs/src/server/event-stream-manager.js +7 -0
- package/dist/cjs/src/server/event-stream-manager.js.map +1 -1
- package/dist/cjs/src/server/puppet-implementation.d.ts.map +1 -1
- package/dist/cjs/src/server/puppet-implementation.js +98 -59
- package/dist/cjs/src/server/puppet-implementation.js.map +1 -1
- package/dist/esm/src/client/payload-store.d.ts +2 -0
- package/dist/esm/src/client/payload-store.d.ts.map +1 -1
- package/dist/esm/src/client/payload-store.js +10 -0
- package/dist/esm/src/client/payload-store.js.map +1 -1
- package/dist/esm/src/client/puppet-service.d.ts +14 -11
- package/dist/esm/src/client/puppet-service.d.ts.map +1 -1
- package/dist/esm/src/client/puppet-service.js +128 -83
- package/dist/esm/src/client/puppet-service.js.map +1 -1
- package/dist/esm/src/config.d.ts +1 -0
- package/dist/esm/src/config.d.ts.map +1 -1
- package/dist/esm/src/config.js +1 -0
- package/dist/esm/src/config.js.map +1 -1
- package/dist/esm/src/package-json.js +5 -5
- package/dist/esm/src/package-json.js.map +1 -1
- package/dist/esm/src/server/event-stream-manager.d.ts.map +1 -1
- package/dist/esm/src/server/event-stream-manager.js +7 -0
- package/dist/esm/src/server/event-stream-manager.js.map +1 -1
- package/dist/esm/src/server/puppet-implementation.d.ts.map +1 -1
- package/dist/esm/src/server/puppet-implementation.js +98 -59
- package/dist/esm/src/server/puppet-implementation.js.map +1 -1
- package/package.json +5 -5
- package/src/client/payload-store.ts +10 -0
- package/src/client/puppet-service.ts +162 -100
- package/src/config.ts +1 -0
- package/src/package-json.ts +5 -5
- package/src/server/event-stream-manager.ts +7 -0
- package/src/server/puppet-implementation.ts +106 -59
|
@@ -57,6 +57,7 @@ import {
|
|
|
57
57
|
} from '../file-box-helper/mod.js'
|
|
58
58
|
import {
|
|
59
59
|
envVars,
|
|
60
|
+
FOUR_PER_EM_SPACE,
|
|
60
61
|
log,
|
|
61
62
|
NO_LOG_EVENTS,
|
|
62
63
|
VERSION,
|
|
@@ -68,6 +69,7 @@ import { packageJson } from '../package-json.js'
|
|
|
68
69
|
|
|
69
70
|
import { GrpcManager } from './grpc-manager.js'
|
|
70
71
|
import { PayloadStore } from './payload-store.js'
|
|
72
|
+
import type { TagIdentifier } from '@juzi/wechaty-puppet/filters'
|
|
71
73
|
|
|
72
74
|
export type PuppetServiceOptions = PUPPET.PuppetOptions & {
|
|
73
75
|
authority? : string
|
|
@@ -347,6 +349,9 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
347
349
|
case grpcPuppet.EventType.EVENT_TYPE_SCAN:
|
|
348
350
|
this.emit('scan', JSON.parse(payload) as PUPPET.payloads.EventScan)
|
|
349
351
|
break
|
|
352
|
+
case grpcPuppet.EventType.EVENT_TYPE_TAG:
|
|
353
|
+
this.emit('tag', JSON.parse(payload) as PUPPET.payloads.EventTag)
|
|
354
|
+
break
|
|
350
355
|
case grpcPuppet.EventType.EVENT_TYPE_RESET:
|
|
351
356
|
log.warn('PuppetService', 'onGrpcStreamEvent() got an EventType.EVENT_TYPE_RESET ?')
|
|
352
357
|
// the `reset` event should be dealed not send out
|
|
@@ -1432,13 +1437,20 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1432
1437
|
|
|
1433
1438
|
override async roomDel (
|
|
1434
1439
|
roomId : string,
|
|
1435
|
-
|
|
1440
|
+
contactIds : string | string[],
|
|
1436
1441
|
): Promise<void> {
|
|
1437
|
-
log.verbose('PuppetService', 'roomDel(%s, %s)', roomId,
|
|
1442
|
+
log.verbose('PuppetService', 'roomDel(%s, %s)', roomId, contactIds)
|
|
1438
1443
|
|
|
1439
1444
|
const request = new grpcPuppet.RoomDelRequest()
|
|
1440
1445
|
request.setId(roomId)
|
|
1441
|
-
|
|
1446
|
+
if (Array.isArray(contactIds)) {
|
|
1447
|
+
request.setContactIdsList(contactIds)
|
|
1448
|
+
if (contactIds.length === 1) {
|
|
1449
|
+
request.setContactId(contactIds[0] as string)
|
|
1450
|
+
}
|
|
1451
|
+
} else {
|
|
1452
|
+
request.setContactId(contactIds)
|
|
1453
|
+
}
|
|
1442
1454
|
|
|
1443
1455
|
await util.promisify(
|
|
1444
1456
|
this.grpcManager.client.roomDel
|
|
@@ -1922,19 +1934,20 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1922
1934
|
*/
|
|
1923
1935
|
|
|
1924
1936
|
override async tagContactTagAdd (
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
contactId: string,
|
|
1937
|
+
tags: TagIdentifier[],
|
|
1938
|
+
contactIds: string[],
|
|
1928
1939
|
): Promise<void> {
|
|
1929
|
-
log.verbose('PuppetService', 'tagContactTagAdd(%s, %s
|
|
1940
|
+
log.verbose('PuppetService', 'tagContactTagAdd(%s, %s)', JSON.stringify(tags), contactIds)
|
|
1930
1941
|
|
|
1931
1942
|
const request = new grpcPuppet.TagContactTagAddRequest()
|
|
1932
1943
|
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1944
|
+
request.setTagsList(tags.map(t => {
|
|
1945
|
+
const tag = new grpcPuppet.TagIdentifier()
|
|
1946
|
+
t.groupId && tag.setGroupId(t.groupId)
|
|
1947
|
+
tag.setId(t.id)
|
|
1948
|
+
return tag
|
|
1949
|
+
}))
|
|
1950
|
+
request.setContactIdsList(contactIds)
|
|
1938
1951
|
|
|
1939
1952
|
await util.promisify(
|
|
1940
1953
|
this.grpcManager.client.tagContactTagAdd
|
|
@@ -1943,19 +1956,20 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1943
1956
|
}
|
|
1944
1957
|
|
|
1945
1958
|
override async tagContactTagRemove (
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
contactId: string,
|
|
1959
|
+
tags: TagIdentifier[],
|
|
1960
|
+
contactIds: string[],
|
|
1949
1961
|
): Promise<void> {
|
|
1950
|
-
log.verbose('PuppetService', 'tagContactTagRemove(%s, %s
|
|
1962
|
+
log.verbose('PuppetService', 'tagContactTagRemove(%s, %s)', JSON.stringify(tags), contactIds)
|
|
1951
1963
|
|
|
1952
1964
|
const request = new grpcPuppet.TagContactTagRemoveRequest()
|
|
1953
1965
|
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1966
|
+
request.setTagsList(tags.map(t => {
|
|
1967
|
+
const tag = new grpcPuppet.TagIdentifier()
|
|
1968
|
+
t.groupId && tag.setGroupId(t.groupId)
|
|
1969
|
+
tag.setId(t.id)
|
|
1970
|
+
return tag
|
|
1971
|
+
}))
|
|
1972
|
+
request.setContactIdsList(contactIds)
|
|
1959
1973
|
|
|
1960
1974
|
await util.promisify(
|
|
1961
1975
|
this.grpcManager.client.tagContactTagRemove
|
|
@@ -1965,7 +1979,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1965
1979
|
|
|
1966
1980
|
override async tagGroupAdd (
|
|
1967
1981
|
tagGroupName: string,
|
|
1968
|
-
): Promise<
|
|
1982
|
+
): Promise<string | void> {
|
|
1969
1983
|
log.verbose('PuppetService', 'tagGroupAdd(%s)', tagGroupName)
|
|
1970
1984
|
|
|
1971
1985
|
const request = new grpcPuppet.TagGroupAddRequest()
|
|
@@ -1977,18 +1991,9 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1977
1991
|
.bind(this.grpcManager.client),
|
|
1978
1992
|
)(request)
|
|
1979
1993
|
|
|
1980
|
-
const
|
|
1981
|
-
const id = grpcPayload?.getId()
|
|
1982
|
-
const name = grpcPayload?.getName()
|
|
1983
|
-
|
|
1984
|
-
if (id && name) {
|
|
1985
|
-
const payload: PUPPET.payloads.TagGroup = {
|
|
1986
|
-
id,
|
|
1987
|
-
name,
|
|
1988
|
-
}
|
|
1989
|
-
return payload
|
|
1990
|
-
}
|
|
1994
|
+
const id = result.getTagGroupId()
|
|
1991
1995
|
|
|
1996
|
+
return id
|
|
1992
1997
|
}
|
|
1993
1998
|
|
|
1994
1999
|
override async tagGroupDelete (
|
|
@@ -2008,10 +2013,10 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2008
2013
|
}
|
|
2009
2014
|
|
|
2010
2015
|
override async tagTagAdd (
|
|
2011
|
-
tagGroupId: string | undefined,
|
|
2012
2016
|
tagName: string,
|
|
2013
|
-
|
|
2014
|
-
|
|
2017
|
+
tagGroupId?: string,
|
|
2018
|
+
): Promise<PUPPET.filters.TagIdentifier | void> {
|
|
2019
|
+
log.verbose('PuppetService', 'tagTagAdd(%s, %s)', tagName, tagGroupId)
|
|
2015
2020
|
|
|
2016
2021
|
const request = new grpcPuppet.TagTagAddRequest()
|
|
2017
2022
|
|
|
@@ -2025,36 +2030,31 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2025
2030
|
.bind(this.grpcManager.client),
|
|
2026
2031
|
)(request)
|
|
2027
2032
|
|
|
2028
|
-
const
|
|
2029
|
-
const id =
|
|
2030
|
-
const
|
|
2031
|
-
const groupId = grpcPayload?.getGroupId()
|
|
2032
|
-
const type = grpcPayload?.getType()
|
|
2033
|
+
const tag = result.getTag()
|
|
2034
|
+
const id = tag?.getId()
|
|
2035
|
+
const groupId = tag?.getGroupId()
|
|
2033
2036
|
|
|
2034
|
-
if (id
|
|
2035
|
-
|
|
2037
|
+
if (id) {
|
|
2038
|
+
return {
|
|
2036
2039
|
id,
|
|
2037
|
-
name,
|
|
2038
2040
|
groupId,
|
|
2039
|
-
type,
|
|
2040
2041
|
}
|
|
2041
|
-
return payload
|
|
2042
2042
|
}
|
|
2043
|
-
|
|
2044
2043
|
}
|
|
2045
2044
|
|
|
2046
2045
|
override async tagTagDelete (
|
|
2047
|
-
|
|
2048
|
-
tagId: string,
|
|
2046
|
+
tag: TagIdentifier,
|
|
2049
2047
|
): Promise<void> {
|
|
2050
|
-
log.verbose('PuppetService', 'tagTagDelete(%s
|
|
2048
|
+
log.verbose('PuppetService', 'tagTagDelete(%s)', JSON.stringify(tag))
|
|
2051
2049
|
|
|
2052
2050
|
const request = new grpcPuppet.TagTagDeleteRequest()
|
|
2051
|
+
const tagProb = new grpcPuppet.TagIdentifier()
|
|
2053
2052
|
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2053
|
+
tag.groupId && tagProb.setGroupId(tag.groupId)
|
|
2054
|
+
tagProb.setId(tag.id)
|
|
2055
|
+
request.setTag(tagProb)
|
|
2056
|
+
|
|
2057
|
+
request.setTag(tagProb)
|
|
2058
2058
|
|
|
2059
2059
|
await util.promisify(
|
|
2060
2060
|
this.grpcManager.client.tagTagDelete
|
|
@@ -2063,7 +2063,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2063
2063
|
|
|
2064
2064
|
}
|
|
2065
2065
|
|
|
2066
|
-
override async tagGroupList (): Promise<
|
|
2066
|
+
override async tagGroupList (): Promise<string[]> {
|
|
2067
2067
|
log.verbose('PuppetService', 'tagGroupList()')
|
|
2068
2068
|
|
|
2069
2069
|
const request = new grpcPuppet.TagGroupListRequest()
|
|
@@ -2073,19 +2073,13 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2073
2073
|
.bind(this.grpcManager.client),
|
|
2074
2074
|
)(request)
|
|
2075
2075
|
|
|
2076
|
-
const
|
|
2077
|
-
|
|
2078
|
-
return {
|
|
2079
|
-
id: payload.getId(),
|
|
2080
|
-
name: payload.getName(),
|
|
2081
|
-
} as PUPPET.payloads.TagGroup
|
|
2082
|
-
})
|
|
2083
|
-
return payloads
|
|
2076
|
+
const groupIds = result.getTagGroupIdsList()
|
|
2077
|
+
return groupIds
|
|
2084
2078
|
}
|
|
2085
2079
|
|
|
2086
2080
|
override async tagGroupTagList (
|
|
2087
|
-
tagGroupId
|
|
2088
|
-
): Promise<PUPPET.
|
|
2081
|
+
tagGroupId?: string,
|
|
2082
|
+
): Promise<PUPPET.filters.TagIdentifier[]> {
|
|
2089
2083
|
log.verbose('PuppetService', 'tagGroupTagList(%s)', tagGroupId)
|
|
2090
2084
|
|
|
2091
2085
|
const request = new grpcPuppet.TagGroupTagListRequest()
|
|
@@ -2098,20 +2092,18 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2098
2092
|
.bind(this.grpcManager.client),
|
|
2099
2093
|
)(request)
|
|
2100
2094
|
|
|
2101
|
-
const
|
|
2102
|
-
const
|
|
2095
|
+
const tags = result.getTagsList()
|
|
2096
|
+
const tagIdentifiers = tags.map(tag => {
|
|
2103
2097
|
return {
|
|
2104
|
-
id:
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
type: payload.getType(),
|
|
2108
|
-
} as PUPPET.payloads.Tag
|
|
2098
|
+
id: tag.getId(),
|
|
2099
|
+
groupId: tag.getGroupId(),
|
|
2100
|
+
}
|
|
2109
2101
|
})
|
|
2110
|
-
return
|
|
2102
|
+
return tagIdentifiers
|
|
2111
2103
|
}
|
|
2112
2104
|
|
|
2113
2105
|
override async tagTagList (
|
|
2114
|
-
): Promise<PUPPET.
|
|
2106
|
+
): Promise<PUPPET.filters.TagIdentifier[]> {
|
|
2115
2107
|
log.verbose('PuppetService', 'tagTagList()')
|
|
2116
2108
|
|
|
2117
2109
|
const request = new grpcPuppet.TagTagListRequest()
|
|
@@ -2121,21 +2113,19 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2121
2113
|
.bind(this.grpcManager.client),
|
|
2122
2114
|
)(request)
|
|
2123
2115
|
|
|
2124
|
-
const
|
|
2125
|
-
const
|
|
2116
|
+
const tags = result.getTagsList()
|
|
2117
|
+
const tagIdentifiers = tags.map(tag => {
|
|
2126
2118
|
return {
|
|
2127
|
-
id:
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
type: payload.getType(),
|
|
2131
|
-
} as PUPPET.payloads.Tag
|
|
2119
|
+
id: tag.getId(),
|
|
2120
|
+
groupId: tag.getGroupId(),
|
|
2121
|
+
}
|
|
2132
2122
|
})
|
|
2133
|
-
return
|
|
2123
|
+
return tagIdentifiers
|
|
2134
2124
|
}
|
|
2135
2125
|
|
|
2136
2126
|
override async tagContactTagList (
|
|
2137
2127
|
contactId: string,
|
|
2138
|
-
): Promise<PUPPET.
|
|
2128
|
+
): Promise<PUPPET.filters.TagIdentifier[]> {
|
|
2139
2129
|
log.verbose('PuppetService', 'tagContactTagList(%s)', contactId)
|
|
2140
2130
|
|
|
2141
2131
|
const request = new grpcPuppet.TagContactTagListRequest()
|
|
@@ -2146,37 +2136,109 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2146
2136
|
.bind(this.grpcManager.client),
|
|
2147
2137
|
)(request)
|
|
2148
2138
|
|
|
2149
|
-
const grpcPayloads = result.
|
|
2150
|
-
const
|
|
2139
|
+
const grpcPayloads = result.getTagsList()
|
|
2140
|
+
const tags: PUPPET.filters.TagIdentifier[] = grpcPayloads.map(tag => {
|
|
2151
2141
|
return {
|
|
2152
|
-
id:
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
type: payload.getType(),
|
|
2156
|
-
} as PUPPET.payloads.Tag
|
|
2142
|
+
id: tag.getId(),
|
|
2143
|
+
groupId: tag.getGroupId(),
|
|
2144
|
+
}
|
|
2157
2145
|
})
|
|
2158
|
-
return
|
|
2146
|
+
return tags
|
|
2159
2147
|
}
|
|
2160
2148
|
|
|
2161
2149
|
override async tagTagContactList (
|
|
2162
|
-
|
|
2163
|
-
tagId: string,
|
|
2150
|
+
tag: TagIdentifier,
|
|
2164
2151
|
): Promise<string[]> {
|
|
2165
|
-
log.verbose('PuppetService', 'tagTagContactList(%s
|
|
2152
|
+
log.verbose('PuppetService', 'tagTagContactList(%s)', JSON.stringify(tag))
|
|
2166
2153
|
|
|
2167
2154
|
const request = new grpcPuppet.TagTagContactListRequest()
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2155
|
+
const tagProb = new grpcPuppet.TagIdentifier()
|
|
2156
|
+
|
|
2157
|
+
tag.groupId && tagProb.setGroupId(tag.groupId)
|
|
2158
|
+
tagProb.setId(tag.id)
|
|
2159
|
+
request.setTag(tagProb)
|
|
2172
2160
|
|
|
2173
2161
|
const result = await util.promisify(
|
|
2174
2162
|
this.grpcManager.client.tagTagContactList
|
|
2175
2163
|
.bind(this.grpcManager.client),
|
|
2176
2164
|
)(request)
|
|
2177
2165
|
|
|
2178
|
-
const
|
|
2179
|
-
return
|
|
2166
|
+
const contactIds = result.getContactIdsList()
|
|
2167
|
+
return contactIds
|
|
2168
|
+
}
|
|
2169
|
+
|
|
2170
|
+
override async tagGroupPayloadPuppet (id: string): Promise<PUPPET.payloads.TagGroup> {
|
|
2171
|
+
log.verbose('PuppetService', 'tagGroupPayload(%s)', id)
|
|
2172
|
+
|
|
2173
|
+
const cachedPayload = await this._payloadStore.tagGroup?.get(id)
|
|
2174
|
+
if (cachedPayload) {
|
|
2175
|
+
log.silly('PuppetService', 'tagGroupPayload(%s) cache HIT', id)
|
|
2176
|
+
return cachedPayload
|
|
2177
|
+
}
|
|
2178
|
+
|
|
2179
|
+
const request = new grpcPuppet.TagGroupPayloadRequest()
|
|
2180
|
+
request.setGroupId(id)
|
|
2181
|
+
|
|
2182
|
+
const response = await util.promisify(
|
|
2183
|
+
this.grpcManager.client.tagGroupPayload
|
|
2184
|
+
.bind(this.grpcManager.client),
|
|
2185
|
+
)(request)
|
|
2186
|
+
const grpcPayload = response.getPayload()
|
|
2187
|
+
|
|
2188
|
+
if (!grpcPayload) {
|
|
2189
|
+
throw new Error(`tagGroup ${id} got no payload!`)
|
|
2190
|
+
}
|
|
2191
|
+
|
|
2192
|
+
const payload: PUPPET.payloads.TagGroup = {
|
|
2193
|
+
id: grpcPayload.getId(),
|
|
2194
|
+
name: grpcPayload.getName(),
|
|
2195
|
+
}
|
|
2196
|
+
|
|
2197
|
+
await this._payloadStore.tagGroup?.set(id, payload)
|
|
2198
|
+
log.silly('PuppetService', 'tagGroupPayloadPuppet(%s) cache SET', id)
|
|
2199
|
+
|
|
2200
|
+
return payload
|
|
2201
|
+
}
|
|
2202
|
+
|
|
2203
|
+
override async tagPayloadPuppet (tag: PUPPET.filters.TagIdentifier): Promise<PUPPET.payloads.Tag> {
|
|
2204
|
+
log.verbose('PuppetService', 'tagPayloadPuppet(%s)', JSON.stringify(tag))
|
|
2205
|
+
|
|
2206
|
+
const key = tag.groupId || '' + FOUR_PER_EM_SPACE + tag.id
|
|
2207
|
+
const cachedPayload = await this._payloadStore.tag?.get(key)
|
|
2208
|
+
if (cachedPayload) {
|
|
2209
|
+
log.silly('PuppetService', 'tagPayloadPuppet(%s) cache HIT', tag)
|
|
2210
|
+
return cachedPayload
|
|
2211
|
+
}
|
|
2212
|
+
|
|
2213
|
+
const tagIdentifier = new grpcPuppet.TagIdentifier()
|
|
2214
|
+
tagIdentifier.setId(tag.id)
|
|
2215
|
+
if (tag.groupId) {
|
|
2216
|
+
tagIdentifier.setGroupId(tag.groupId)
|
|
2217
|
+
}
|
|
2218
|
+
const request = new grpcPuppet.TagPayloadRequest()
|
|
2219
|
+
request.setTag(tagIdentifier)
|
|
2220
|
+
|
|
2221
|
+
const response = await util.promisify(
|
|
2222
|
+
this.grpcManager.client.tagPayload
|
|
2223
|
+
.bind(this.grpcManager.client),
|
|
2224
|
+
)(request)
|
|
2225
|
+
const grpcPayload = response.getPayload()
|
|
2226
|
+
|
|
2227
|
+
if (!grpcPayload) {
|
|
2228
|
+
throw new Error(`tag ${JSON.stringify(tag)} got no payload!`)
|
|
2229
|
+
}
|
|
2230
|
+
|
|
2231
|
+
const payload: PUPPET.payloads.Tag = {
|
|
2232
|
+
id: grpcPayload.getId(),
|
|
2233
|
+
name: grpcPayload.getName(),
|
|
2234
|
+
groupId: grpcPayload.getGroupId(),
|
|
2235
|
+
type: grpcPayload.getType(),
|
|
2236
|
+
}
|
|
2237
|
+
|
|
2238
|
+
await this._payloadStore.tag?.set(key, payload)
|
|
2239
|
+
log.silly('PuppetService', 'tagPayloadPuppet(%s) cache SET', JSON.stringify(tag))
|
|
2240
|
+
|
|
2241
|
+
return payload
|
|
2180
2242
|
}
|
|
2181
2243
|
|
|
2182
2244
|
/**
|
package/src/config.ts
CHANGED
package/src/package-json.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import type { PackageJson } from 'type-fest'
|
|
5
5
|
export const packageJson: PackageJson = {
|
|
6
6
|
"name": "@juzi/wechaty-puppet-service",
|
|
7
|
-
"version": "1.0.
|
|
7
|
+
"version": "1.0.19",
|
|
8
8
|
"description": "Puppet Service for Wechaty",
|
|
9
9
|
"type": "module",
|
|
10
10
|
"exports": {
|
|
@@ -55,6 +55,7 @@ export const packageJson: PackageJson = {
|
|
|
55
55
|
"@chatie/eslint-config": "^1.0.4",
|
|
56
56
|
"@chatie/semver": "^0.4.7",
|
|
57
57
|
"@chatie/tsconfig": "^4.6.3",
|
|
58
|
+
"@juzi/wechaty-puppet-mock": "^1.0.1",
|
|
58
59
|
"@types/google-protobuf": "^3.15.5",
|
|
59
60
|
"@types/lru-cache": "^7.5.0",
|
|
60
61
|
"@types/semver": "^7.3.9",
|
|
@@ -65,14 +66,14 @@ export const packageJson: PackageJson = {
|
|
|
65
66
|
"temp": "^0.9.4",
|
|
66
67
|
"typed-emitter": "^1.5.0-from-event",
|
|
67
68
|
"utility-types": "^3.10.0",
|
|
68
|
-
"@juzi/wechaty-puppet-mock": "^1.0.1",
|
|
69
69
|
"why-is-node-running": "^2.2.1"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
|
-
"@juzi/wechaty-puppet": "^1.0.
|
|
72
|
+
"@juzi/wechaty-puppet": "^1.0.22"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"@juzi/wechaty-grpc": "^1.0.
|
|
75
|
+
"@juzi/wechaty-grpc": "^1.0.13",
|
|
76
|
+
"@juzi/wechaty-redux": "^1.0.1",
|
|
76
77
|
"clone-class": "^1.1.1",
|
|
77
78
|
"ducks": "^1.0.2",
|
|
78
79
|
"file-box": "^1.5.5",
|
|
@@ -83,7 +84,6 @@ export const packageJson: PackageJson = {
|
|
|
83
84
|
"semver": "^7.3.5",
|
|
84
85
|
"stronger-typed-streams": "^0.2.0",
|
|
85
86
|
"uuid": "^8.3.2",
|
|
86
|
-
"@juzi/wechaty-redux": "^1.0.1",
|
|
87
87
|
"wechaty-token": "^1.0.6"
|
|
88
88
|
},
|
|
89
89
|
"publishConfig": {
|
|
@@ -273,6 +273,13 @@ class EventStreamManager {
|
|
|
273
273
|
this.offCallbackList.push(off)
|
|
274
274
|
break
|
|
275
275
|
}
|
|
276
|
+
case 'tag': {
|
|
277
|
+
const listener = (payload: PUPPET.payloads.EventTag) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_TAG, payload)
|
|
278
|
+
this.puppet.on('tag', listener)
|
|
279
|
+
const off = () => this.puppet.off('tag', listener)
|
|
280
|
+
this.offCallbackList.push(off)
|
|
281
|
+
break
|
|
282
|
+
}
|
|
276
283
|
case 'reset':
|
|
277
284
|
// the `reset` event should be dealed internally, should not send out
|
|
278
285
|
break
|