@juzi/wechaty-puppet-service 1.0.114 → 1.0.116

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/cjs/src/client/call-raw-payload-parser.spec.d.ts +3 -0
  2. package/dist/cjs/src/client/call-raw-payload-parser.spec.d.ts.map +1 -0
  3. package/dist/cjs/src/client/call-raw-payload-parser.spec.js +128 -0
  4. package/dist/cjs/src/client/call-raw-payload-parser.spec.js.map +1 -0
  5. package/dist/cjs/src/client/puppet-service.d.ts +10 -0
  6. package/dist/cjs/src/client/puppet-service.d.ts.map +1 -1
  7. package/dist/cjs/src/client/puppet-service.js +109 -0
  8. package/dist/cjs/src/client/puppet-service.js.map +1 -1
  9. package/dist/cjs/src/package-json.js +4 -4
  10. package/dist/cjs/src/pure-functions/timestamp.d.ts +15 -1
  11. package/dist/cjs/src/pure-functions/timestamp.d.ts.map +1 -1
  12. package/dist/cjs/src/pure-functions/timestamp.js +10 -1
  13. package/dist/cjs/src/pure-functions/timestamp.js.map +1 -1
  14. package/dist/cjs/src/pure-functions/timestamp.spec.d.ts +3 -0
  15. package/dist/cjs/src/pure-functions/timestamp.spec.d.ts.map +1 -0
  16. package/dist/cjs/src/pure-functions/timestamp.spec.js +48 -0
  17. package/dist/cjs/src/pure-functions/timestamp.spec.js.map +1 -0
  18. package/dist/cjs/src/server/event-stream-manager.d.ts.map +1 -1
  19. package/dist/cjs/src/server/event-stream-manager.js +7 -0
  20. package/dist/cjs/src/server/event-stream-manager.js.map +1 -1
  21. package/dist/cjs/src/server/puppet-implementation.d.ts.map +1 -1
  22. package/dist/cjs/src/server/puppet-implementation.js +152 -6
  23. package/dist/cjs/src/server/puppet-implementation.js.map +1 -1
  24. package/dist/cjs/src/utils/call-media-mapping.d.ts +17 -0
  25. package/dist/cjs/src/utils/call-media-mapping.d.ts.map +1 -0
  26. package/dist/cjs/src/utils/call-media-mapping.js +60 -0
  27. package/dist/cjs/src/utils/call-media-mapping.js.map +1 -0
  28. package/dist/cjs/src/utils/call-media-mapping.spec.d.ts +3 -0
  29. package/dist/cjs/src/utils/call-media-mapping.spec.d.ts.map +1 -0
  30. package/dist/cjs/src/utils/call-media-mapping.spec.js +65 -0
  31. package/dist/cjs/src/utils/call-media-mapping.spec.js.map +1 -0
  32. package/dist/cjs/src/utils/pb-payload-helper.d.ts.map +1 -1
  33. package/dist/cjs/src/utils/pb-payload-helper.js +45 -1
  34. package/dist/cjs/src/utils/pb-payload-helper.js.map +1 -1
  35. package/dist/esm/src/client/call-raw-payload-parser.spec.d.ts +3 -0
  36. package/dist/esm/src/client/call-raw-payload-parser.spec.d.ts.map +1 -0
  37. package/dist/esm/src/client/call-raw-payload-parser.spec.js +103 -0
  38. package/dist/esm/src/client/call-raw-payload-parser.spec.js.map +1 -0
  39. package/dist/esm/src/client/puppet-service.d.ts +10 -0
  40. package/dist/esm/src/client/puppet-service.d.ts.map +1 -1
  41. package/dist/esm/src/client/puppet-service.js +110 -1
  42. package/dist/esm/src/client/puppet-service.js.map +1 -1
  43. package/dist/esm/src/package-json.js +4 -4
  44. package/dist/esm/src/pure-functions/timestamp.d.ts +15 -1
  45. package/dist/esm/src/pure-functions/timestamp.d.ts.map +1 -1
  46. package/dist/esm/src/pure-functions/timestamp.js +9 -1
  47. package/dist/esm/src/pure-functions/timestamp.js.map +1 -1
  48. package/dist/esm/src/pure-functions/timestamp.spec.d.ts +3 -0
  49. package/dist/esm/src/pure-functions/timestamp.spec.d.ts.map +1 -0
  50. package/dist/esm/src/pure-functions/timestamp.spec.js +46 -0
  51. package/dist/esm/src/pure-functions/timestamp.spec.js.map +1 -0
  52. package/dist/esm/src/server/event-stream-manager.d.ts.map +1 -1
  53. package/dist/esm/src/server/event-stream-manager.js +7 -0
  54. package/dist/esm/src/server/event-stream-manager.js.map +1 -1
  55. package/dist/esm/src/server/puppet-implementation.d.ts.map +1 -1
  56. package/dist/esm/src/server/puppet-implementation.js +153 -7
  57. package/dist/esm/src/server/puppet-implementation.js.map +1 -1
  58. package/dist/esm/src/utils/call-media-mapping.d.ts +17 -0
  59. package/dist/esm/src/utils/call-media-mapping.d.ts.map +1 -0
  60. package/dist/esm/src/utils/call-media-mapping.js +32 -0
  61. package/dist/esm/src/utils/call-media-mapping.js.map +1 -0
  62. package/dist/esm/src/utils/call-media-mapping.spec.d.ts +3 -0
  63. package/dist/esm/src/utils/call-media-mapping.spec.d.ts.map +1 -0
  64. package/dist/esm/src/utils/call-media-mapping.spec.js +40 -0
  65. package/dist/esm/src/utils/call-media-mapping.spec.js.map +1 -0
  66. package/dist/esm/src/utils/pb-payload-helper.d.ts.map +1 -1
  67. package/dist/esm/src/utils/pb-payload-helper.js +45 -1
  68. package/dist/esm/src/utils/pb-payload-helper.js.map +1 -1
  69. package/package.json +4 -4
  70. package/src/client/call-raw-payload-parser.spec.ts +131 -0
  71. package/src/client/puppet-service.ts +191 -1
  72. package/src/package-json.ts +4 -4
  73. package/src/pure-functions/timestamp.spec.ts +56 -0
  74. package/src/pure-functions/timestamp.ts +19 -0
  75. package/src/server/event-stream-manager.ts +7 -0
  76. package/src/server/puppet-implementation.ts +180 -7
  77. package/src/utils/call-media-mapping.spec.ts +53 -0
  78. package/src/utils/call-media-mapping.ts +35 -0
  79. package/src/utils/pb-payload-helper.ts +21 -1
@@ -1 +1 @@
1
- {"version":3,"file":"pb-payload-helper.js","sourceRoot":"","sources":["../../../../src/utils/pb-payload-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pb-payload-helper.js","sourceRoot":"","sources":["../../../../src/utils/pb-payload-helper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juzi/wechaty-puppet-service",
3
- "version": "1.0.114",
3
+ "version": "1.0.116",
4
4
  "description": "Puppet Service for Wechaty",
5
5
  "type": "module",
6
6
  "exports": {
@@ -51,7 +51,7 @@
51
51
  "@chatie/eslint-config": "^1.0.4",
52
52
  "@chatie/semver": "^0.4.7",
53
53
  "@chatie/tsconfig": "^4.6.3",
54
- "@juzi/wechaty-puppet": "^1.0.137",
54
+ "@juzi/wechaty-puppet": "^1.0.139",
55
55
  "@juzi/wechaty-puppet-mock": "^1.0.1",
56
56
  "@swc/core": "1.3.39",
57
57
  "@types/google-protobuf": "^3.15.5",
@@ -70,10 +70,10 @@
70
70
  "why-is-node-running": "^2.2.1"
71
71
  },
72
72
  "peerDependencies": {
73
- "@juzi/wechaty-puppet": "^1.0.137"
73
+ "@juzi/wechaty-puppet": "^1.0.139"
74
74
  },
75
75
  "dependencies": {
76
- "@juzi/wechaty-grpc": "^1.0.101",
76
+ "@juzi/wechaty-grpc": "^1.0.103",
77
77
  "clone-class": "^1.1.1",
78
78
  "ducks": "^1.0.2",
79
79
  "file-box": "^1.5.5",
@@ -0,0 +1,131 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+
3
+ import { test } from 'tstest'
4
+ import * as PUPPET from '@juzi/wechaty-puppet'
5
+ import { puppet as grpcPuppet } from '@juzi/wechaty-grpc'
6
+
7
+ import { PuppetService } from './puppet-service.js'
8
+ import { timestampFromMilliseconds } from '../pure-functions/timestamp.js'
9
+
10
+ /**
11
+ * The parser only reads `rawPayload.*` and a module-level `log` — it never
12
+ * touches `this`. Invoke it via `prototype.call({}, raw)` to avoid building a
13
+ * full PuppetService instance for unit-level tests.
14
+ */
15
+ const callParser = async (raw: grpcPuppet.CallPayloadResponse.AsObject) =>
16
+ PuppetService.prototype.callRawPayloadParser.call({} as PuppetService, raw)
17
+
18
+ /**
19
+ * 1. Full payload with starter, participants, media=VOICE, startTime, endTime
20
+ * parses every field, mapping VOICE -> CallMediaType.Audio.
21
+ */
22
+ test('callRawPayloadParser parses a complete payload', async t => {
23
+ const startMs = 1_700_000_000_000
24
+ const endMs = 1_700_000_030_000
25
+
26
+ const pb = new grpcPuppet.CallPayloadResponse()
27
+ pb.setId('call-1')
28
+ pb.setStarter('alice')
29
+ pb.setParticipantsList([ 'alice', 'bob' ])
30
+ pb.setMedia(grpcPuppet.CallType.CALL_TYPE_VOICE)
31
+ pb.setStartTime(timestampFromMilliseconds(startMs))
32
+ pb.setEndTime(timestampFromMilliseconds(endMs))
33
+
34
+ const payload = await callParser(pb.toObject())
35
+
36
+ t.equal(payload.id, 'call-1', 'id propagated')
37
+ t.equal(payload.starter, 'alice', 'starter propagated')
38
+ t.same(payload.participants, [ 'alice', 'bob' ], 'participants propagated')
39
+ t.equal(payload.media, PUPPET.types.CallMediaType.Audio, 'VOICE maps to Audio')
40
+ t.equal(payload.startTime, startMs, 'startTime parsed')
41
+ t.equal(payload.endTime, endMs, 'endTime parsed')
42
+ })
43
+
44
+ /**
45
+ * 2. Empty starter string -> parser omits `starter` from the resulting payload.
46
+ * (Mirrors the server, which only `setStarter` when the value is truthy.)
47
+ */
48
+ test('callRawPayloadParser omits starter when starter is an empty string', async t => {
49
+ const pb = new grpcPuppet.CallPayloadResponse()
50
+ pb.setId('call-2')
51
+ pb.setParticipantsList([ 'alice' ])
52
+ pb.setMedia(grpcPuppet.CallType.CALL_TYPE_VIDEO)
53
+ pb.setStartTime(timestampFromMilliseconds(1_700_000_000_000))
54
+ // no setStarter -> default proto3 string '' on the wire
55
+
56
+ const payload = await callParser(pb.toObject())
57
+
58
+ t.equal(payload.starter, undefined, 'starter is undefined when empty on the wire')
59
+ t.equal(payload.media, PUPPET.types.CallMediaType.Video, 'VIDEO maps to Video')
60
+ })
61
+
62
+ /**
63
+ * 3. endTime not set (no setEndTime) -> payload.endTime === undefined.
64
+ */
65
+ test('callRawPayloadParser leaves endTime undefined when endTime is not set', async t => {
66
+ const pb = new grpcPuppet.CallPayloadResponse()
67
+ pb.setId('call-3')
68
+ pb.setStarter('alice')
69
+ pb.setParticipantsList([ 'alice', 'bob' ])
70
+ pb.setMedia(grpcPuppet.CallType.CALL_TYPE_VOICE)
71
+ pb.setStartTime(timestampFromMilliseconds(1_700_000_000_000))
72
+ // no setEndTime
73
+
74
+ const payload = await callParser(pb.toObject())
75
+
76
+ t.equal(payload.endTime, undefined, 'endTime is undefined when not set on the wire')
77
+ })
78
+
79
+ /**
80
+ * 4. media = CALL_TYPE_UNKNOWN -> throw, error mentions "media".
81
+ */
82
+ test('callRawPayloadParser throws when media is CALL_TYPE_UNKNOWN', async t => {
83
+ const pb = new grpcPuppet.CallPayloadResponse()
84
+ pb.setId('call-4')
85
+ pb.setParticipantsList([ 'alice' ])
86
+ pb.setMedia(grpcPuppet.CallType.CALL_TYPE_UNKNOWN)
87
+ pb.setStartTime(timestampFromMilliseconds(1_700_000_000_000))
88
+
89
+ await t.rejects(
90
+ callParser(pb.toObject()),
91
+ /media/,
92
+ 'rejects with a message that mentions media',
93
+ )
94
+ })
95
+
96
+ /**
97
+ * 5. startTime not set -> throw, error mentions "startTime".
98
+ */
99
+ test('callRawPayloadParser throws when startTime is not set', async t => {
100
+ const pb = new grpcPuppet.CallPayloadResponse()
101
+ pb.setId('call-5')
102
+ pb.setParticipantsList([ 'alice' ])
103
+ pb.setMedia(grpcPuppet.CallType.CALL_TYPE_VOICE)
104
+ // no setStartTime
105
+
106
+ await t.rejects(
107
+ callParser(pb.toObject()),
108
+ /startTime/,
109
+ 'rejects with a message that mentions startTime',
110
+ )
111
+ })
112
+
113
+ /**
114
+ * 6. endTime explicitly set to epoch 0 -> payload.endTime === 0.
115
+ * proto3 `setEndTime(timestamp(0))` is a legal "ended at epoch-0" value
116
+ * (extreme short session / test stub) and must not be swallowed by a
117
+ * truthy guard. Presence is what matters, not the numeric value.
118
+ */
119
+ test('callRawPayloadParser preserves endTime when it is set to epoch zero', async t => {
120
+ const pb = new grpcPuppet.CallPayloadResponse()
121
+ pb.setId('call-6')
122
+ pb.setStarter('alice')
123
+ pb.setParticipantsList([ 'alice', 'bob' ])
124
+ pb.setMedia(grpcPuppet.CallType.CALL_TYPE_VOICE)
125
+ pb.setStartTime(timestampFromMilliseconds(1_700_000_000_000))
126
+ pb.setEndTime(timestampFromMilliseconds(0))
127
+
128
+ const payload = await callParser(pb.toObject())
129
+
130
+ t.equal(payload.endTime, 0, 'endTime is 0 when explicitly set to epoch zero on the wire')
131
+ })
@@ -31,7 +31,10 @@ import {
31
31
 
32
32
  // import type { Subscription } from 'rxjs'
33
33
 
34
- import { millisecondsFromTimestamp } from '../pure-functions/timestamp.js'
34
+ import {
35
+ millisecondsFromTimestamp,
36
+ millisecondsFromTimestampObject,
37
+ } from '../pure-functions/timestamp.js'
35
38
 
36
39
  import {
37
40
  uuidifyFileBoxGrpc,
@@ -51,6 +54,7 @@ import { packageJson } from '../package-json.js'
51
54
  import { GrpcManager } from './grpc-manager.js'
52
55
  import { PayloadStore } from './payload-store.js'
53
56
  import { OptionalBooleanUnwrapper, OptionalBooleanWrapper, callRecordPbToPayload, channelPayloadToPb, channelPbToPayload, chatHistoryPbToPayload, contactPbToPayload, postPayloadToPb, roomMemberPbToPayload, urlLinkPbToPayload, channelCardPayloadToPb, channelCardPbToPayload, miniProgramPayloadToPb, urlLinkPayloadToPb, locationPayloadToPb } from '../utils/pb-payload-helper.js'
57
+ import { puppetCallMediaTypeToGrpc, grpcCallTypeToPuppetMedia } from '../utils/call-media-mapping.js'
54
58
  import type { MessageBroadcastTargets } from '@juzi/wechaty-puppet/dist/esm/src/schemas/message.js'
55
59
  import { timeoutPromise } from 'gerror'
56
60
  import { BooleanIndicator } from 'state-switch'
@@ -423,6 +427,9 @@ class PuppetService extends PUPPET.Puppet {
423
427
  case grpcPuppet.EventType.EVENT_TYPE_VERIFY_SLIDE:
424
428
  this.emit('verify-slide', JSON.parse(payload) as PUPPET.payloads.EventVerifySlide)
425
429
  break
430
+ case grpcPuppet.EventType.EVENT_TYPE_CALL:
431
+ this.emit('call', JSON.parse(payload) as PUPPET.payloads.EventCall)
432
+ break
426
433
 
427
434
  default:
428
435
  // Huan(202003): in default, the `type` type should be `never`, please check.
@@ -1153,6 +1160,189 @@ class PuppetService extends PUPPET.Puppet {
1153
1160
  return payload
1154
1161
  }
1155
1162
 
1163
+ override async callInvite (
1164
+ contactIds: string[],
1165
+ media: PUPPET.types.CallMediaType,
1166
+ ): Promise<string> {
1167
+ log.verbose('PuppetService', 'callInvite(%s, %s)', contactIds, media)
1168
+
1169
+ const request = new grpcPuppet.CallInviteRequest()
1170
+ request.setContactIdsList(contactIds)
1171
+ request.setMedia(puppetCallMediaTypeToGrpc(media))
1172
+
1173
+ const response = await util.promisify(
1174
+ this.grpcManager.client.callInvite
1175
+ .bind(this.grpcManager.client),
1176
+ )(request)
1177
+
1178
+ const callId = response.getCallId()
1179
+ if (!callId) {
1180
+ throw new Error('callInvite: puppet server returned empty call_id')
1181
+ }
1182
+
1183
+ return callId
1184
+ }
1185
+
1186
+ override async callAdd (
1187
+ callId: string,
1188
+ contactIds: string[],
1189
+ ): Promise<void> {
1190
+ log.verbose('PuppetService', 'callAdd(%s, %s)', callId, contactIds)
1191
+
1192
+ const request = new grpcPuppet.CallAddRequest()
1193
+ request.setCallId(callId)
1194
+ request.setContactIdsList(contactIds)
1195
+
1196
+ await this.grpcUnary(
1197
+ this.grpcManager.client.callAdd,
1198
+ request,
1199
+ )
1200
+ }
1201
+
1202
+ override async callAccept (
1203
+ callId: string,
1204
+ ): Promise<void> {
1205
+ log.verbose('PuppetService', 'callAccept(%s)', callId)
1206
+
1207
+ const request = new grpcPuppet.CallAcceptRequest()
1208
+ request.setCallId(callId)
1209
+
1210
+ await this.grpcUnary(
1211
+ this.grpcManager.client.callAccept,
1212
+ request,
1213
+ )
1214
+ }
1215
+
1216
+ override async callReject (
1217
+ callId: string,
1218
+ reason?: string,
1219
+ ): Promise<void> {
1220
+ log.verbose('PuppetService', 'callReject(%s, %s)', callId, reason)
1221
+
1222
+ const request = new grpcPuppet.CallRejectRequest()
1223
+ request.setCallId(callId)
1224
+ if (reason !== undefined && reason !== '') {
1225
+ request.setReason(reason)
1226
+ }
1227
+
1228
+ await this.grpcUnary(
1229
+ this.grpcManager.client.callReject,
1230
+ request,
1231
+ )
1232
+ }
1233
+
1234
+ override async callCancel (
1235
+ callId: string,
1236
+ ): Promise<void> {
1237
+ log.verbose('PuppetService', 'callCancel(%s)', callId)
1238
+
1239
+ const request = new grpcPuppet.CallCancelRequest()
1240
+ request.setCallId(callId)
1241
+
1242
+ await this.grpcUnary(
1243
+ this.grpcManager.client.callCancel,
1244
+ request,
1245
+ )
1246
+ }
1247
+
1248
+ override async callHangup (
1249
+ callId: string,
1250
+ reason?: string,
1251
+ ): Promise<void> {
1252
+ log.verbose('PuppetService', 'callHangup(%s, %s)', callId, reason)
1253
+
1254
+ const request = new grpcPuppet.CallHangupRequest()
1255
+ request.setCallId(callId)
1256
+ if (reason !== undefined && reason !== '') {
1257
+ request.setReason(reason)
1258
+ }
1259
+
1260
+ await this.grpcUnary(
1261
+ this.grpcManager.client.callHangup,
1262
+ request,
1263
+ )
1264
+ }
1265
+
1266
+ override async callMediaEndpoint (
1267
+ callId: string,
1268
+ ): Promise<PUPPET.payloads.CallMediaEndpoint> {
1269
+ log.verbose('PuppetService', 'callMediaEndpoint(%s)', callId)
1270
+
1271
+ const request = new grpcPuppet.CallMediaEndpointRequest()
1272
+ request.setCallId(callId)
1273
+
1274
+ const response = await util.promisify(
1275
+ this.grpcManager.client.callMediaEndpoint
1276
+ .bind(this.grpcManager.client),
1277
+ )(request)
1278
+
1279
+ const url = response.getUrl()
1280
+ const token = response.getToken()
1281
+ if (!url || !token) {
1282
+ throw new Error('callMediaEndpoint: puppet server returned empty url or token')
1283
+ }
1284
+
1285
+ const payload: PUPPET.payloads.CallMediaEndpoint = {
1286
+ url,
1287
+ token,
1288
+ }
1289
+
1290
+ if (response.hasExpiresAt()) {
1291
+ payload.expiresAt = millisecondsFromTimestamp(response.getExpiresAt()!)
1292
+ }
1293
+
1294
+ const protocol = response.getProtocol()
1295
+ if (protocol) {
1296
+ payload.protocol = protocol
1297
+ }
1298
+
1299
+ return payload
1300
+ }
1301
+
1302
+ override async callRawPayload (callId: string): Promise<grpcPuppet.CallPayloadResponse.AsObject> {
1303
+ log.verbose('PuppetService', 'callRawPayload(%s)', callId)
1304
+
1305
+ const request = new grpcPuppet.CallPayloadRequest()
1306
+ request.setId(callId)
1307
+
1308
+ const response = await util.promisify(
1309
+ this.grpcManager.client.callPayload
1310
+ .bind(this.grpcManager.client),
1311
+ )(request)
1312
+
1313
+ return response.toObject()
1314
+ }
1315
+
1316
+ override async callRawPayloadParser (rawPayload: grpcPuppet.CallPayloadResponse.AsObject): Promise<PUPPET.payloads.Call> {
1317
+ log.verbose('PuppetService', 'callRawPayloadParser({id:%s})', rawPayload.id)
1318
+
1319
+ const media = grpcCallTypeToPuppetMedia(rawPayload.media)
1320
+ if (media === undefined) {
1321
+ throw new Error('callRawPayloadParser: media is required (got CALL_TYPE_UNKNOWN on the wire)')
1322
+ }
1323
+
1324
+ if (rawPayload.startTime === undefined) {
1325
+ throw new Error('callRawPayloadParser: startTime is required')
1326
+ }
1327
+
1328
+ const payload: PUPPET.payloads.Call = {
1329
+ id : rawPayload.id,
1330
+ participants : rawPayload.participantsList,
1331
+ media,
1332
+ startTime : millisecondsFromTimestampObject(rawPayload.startTime),
1333
+ }
1334
+
1335
+ if (rawPayload.starter) {
1336
+ payload.starter = rawPayload.starter
1337
+ }
1338
+
1339
+ if (rawPayload.endTime !== undefined) {
1340
+ payload.endTime = millisecondsFromTimestampObject(rawPayload.endTime)
1341
+ }
1342
+
1343
+ return payload
1344
+ }
1345
+
1156
1346
  override async messageChatHistory (
1157
1347
  messageId: string,
1158
1348
  ): Promise<PUPPET.payloads.ChatHistory[]> {
@@ -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.114",
7
+ "version": "1.0.116",
8
8
  "description": "Puppet Service for Wechaty",
9
9
  "type": "module",
10
10
  "exports": {
@@ -55,7 +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": "^1.0.137",
58
+ "@juzi/wechaty-puppet": "^1.0.139",
59
59
  "@juzi/wechaty-puppet-mock": "^1.0.1",
60
60
  "@swc/core": "1.3.39",
61
61
  "@types/google-protobuf": "^3.15.5",
@@ -74,10 +74,10 @@ export const packageJson: PackageJson = {
74
74
  "why-is-node-running": "^2.2.1"
75
75
  },
76
76
  "peerDependencies": {
77
- "@juzi/wechaty-puppet": "^1.0.137"
77
+ "@juzi/wechaty-puppet": "^1.0.139"
78
78
  },
79
79
  "dependencies": {
80
- "@juzi/wechaty-grpc": "^1.0.101",
80
+ "@juzi/wechaty-grpc": "^1.0.103",
81
81
  "clone-class": "^1.1.1",
82
82
  "ducks": "^1.0.2",
83
83
  "file-box": "^1.5.5",
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+
3
+ import { test } from 'tstest'
4
+
5
+ import {
6
+ millisecondsFromTimestamp,
7
+ millisecondsFromTimestampObject,
8
+ timestampFromMilliseconds,
9
+ } from './timestamp.js'
10
+
11
+ /**
12
+ * 1. ms -> Timestamp -> ms round-trips for millisecond-aligned values.
13
+ */
14
+ test('timestampFromMilliseconds <-> millisecondsFromTimestamp round-trip', async t => {
15
+ const cases = [
16
+ 0,
17
+ 1_000,
18
+ 1_700_000_000_000,
19
+ 1_700_000_000_123,
20
+ ]
21
+
22
+ for (const ms of cases) {
23
+ const roundTripped = millisecondsFromTimestamp(timestampFromMilliseconds(ms))
24
+ t.equal(roundTripped, ms, `round-trip identity for ${ms}ms`)
25
+ }
26
+ })
27
+
28
+ /**
29
+ * 2. The plain-object variant agrees with the instance variant for the same
30
+ * Timestamp (this is the `toObject()` shape used by callRawPayloadParser).
31
+ */
32
+ test('millisecondsFromTimestampObject matches millisecondsFromTimestamp', async t => {
33
+ const cases = [
34
+ 0,
35
+ 1_000,
36
+ 1_700_000_000_123,
37
+ ]
38
+
39
+ for (const ms of cases) {
40
+ const timestamp = timestampFromMilliseconds(ms)
41
+ const fromInstance = millisecondsFromTimestamp(timestamp)
42
+ const fromObject = millisecondsFromTimestampObject(timestamp.toObject())
43
+ t.equal(fromObject, fromInstance, `instance and object conversion agree for ${ms}ms`)
44
+ }
45
+ })
46
+
47
+ /**
48
+ * 3. Sub-millisecond nanos are rounded to the nearest millisecond.
49
+ */
50
+ test('millisecondsFromTimestampObject rounds nanos to nearest millisecond', async t => {
51
+ t.equal(millisecondsFromTimestampObject({ seconds: 1, nanos: 0 }), 1000, 'no nanos')
52
+ t.equal(millisecondsFromTimestampObject({ seconds: 1, nanos: 499_999 }), 1000, '0.499ms rounds down')
53
+ t.equal(millisecondsFromTimestampObject({ seconds: 1, nanos: 500_000 }), 1001, '0.5ms rounds up')
54
+ t.equal(millisecondsFromTimestampObject({ seconds: 1, nanos: 999_999 }), 1001, '0.999ms rounds up')
55
+ t.equal(millisecondsFromTimestampObject({ seconds: 0, nanos: 123_000_000 }), 123, '123ms from nanos')
56
+ })
@@ -22,7 +22,26 @@ function millisecondsFromTimestamp (timestamp: ReturnType<typeof timestampFromMi
22
22
  return seconds * 1000 + nanos / 1000000
23
23
  }
24
24
 
25
+ /**
26
+ * Plain `{ seconds, nanos }` shape produced by a protobuf `Message.toObject()`
27
+ * for a `google.protobuf.Timestamp` field.
28
+ */
29
+ type TimestampObject = {
30
+ seconds: number,
31
+ nanos: number,
32
+ }
33
+
34
+ /**
35
+ * Same conversion as `millisecondsFromTimestamp`, but for the plain
36
+ * `{ seconds, nanos }` shape produced by `Message.toObject()` rather than a
37
+ * Timestamp class instance. Nanos are rounded to the nearest millisecond.
38
+ */
39
+ function millisecondsFromTimestampObject (timestamp: TimestampObject): number {
40
+ return timestamp.seconds * 1000 + Math.round(timestamp.nanos / 1000000)
41
+ }
42
+
25
43
  export {
26
44
  millisecondsFromTimestamp,
45
+ millisecondsFromTimestampObject,
27
46
  timestampFromMilliseconds,
28
47
  }
@@ -322,6 +322,13 @@ class EventStreamManager {
322
322
  this.offCallbackList.push(off)
323
323
  break
324
324
  }
325
+ case 'call': {
326
+ const listener = (payload: PUPPET.payloads.EventCall) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_CALL, payload)
327
+ this.puppet.on('call', listener)
328
+ const off = () => this.puppet.off('call', listener)
329
+ this.offCallbackList.push(off)
330
+ break
331
+ }
325
332
  case 'reset':
326
333
  // the `reset` event should be dealed internally, should not send out
327
334
  break