@oxidezap/baileyrs 0.0.18 → 0.0.21
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/lib/Bridge/__tests__/adapt.test.js +41 -9
- package/lib/Bridge/__tests__/adapt.test.js.map +1 -1
- package/lib/Bridge/adapt.d.ts +10 -16
- package/lib/Bridge/adapt.d.ts.map +1 -1
- package/lib/Bridge/adapt.js +12 -515
- package/lib/Bridge/adapt.js.map +1 -1
- package/lib/Bridge/schema.d.ts +36 -0
- package/lib/Bridge/schema.d.ts.map +1 -0
- package/lib/Bridge/schema.js +773 -0
- package/lib/Bridge/schema.js.map +1 -0
- package/lib/Bridge/types.d.ts +257 -3
- package/lib/Bridge/types.d.ts.map +1 -1
- package/lib/Socket/events.d.ts +18 -9
- package/lib/Socket/events.d.ts.map +1 -1
- package/lib/Socket/events.js +520 -204
- package/lib/Socket/events.js.map +1 -1
- package/lib/Socket/group-notifications.d.ts +6 -0
- package/lib/Socket/group-notifications.d.ts.map +1 -1
- package/lib/Socket/group-notifications.js +123 -16
- package/lib/Socket/group-notifications.js.map +1 -1
- package/lib/Socket/groups.d.ts +10 -2
- package/lib/Socket/groups.d.ts.map +1 -1
- package/lib/Socket/groups.js +24 -30
- package/lib/Socket/groups.js.map +1 -1
- package/lib/Socket/index.d.ts +31 -8
- package/lib/Socket/index.d.ts.map +1 -1
- package/lib/Socket/index.js +178 -13
- package/lib/Socket/index.js.map +1 -1
- package/lib/Socket/messages.d.ts +13 -2
- package/lib/Socket/messages.d.ts.map +1 -1
- package/lib/Socket/messages.js +27 -6
- package/lib/Socket/messages.js.map +1 -1
- package/lib/Types/Call.d.ts +20 -0
- package/lib/Types/Call.d.ts.map +1 -1
- package/lib/Types/Contact.d.ts +3 -1
- package/lib/Types/Contact.d.ts.map +1 -1
- package/lib/Types/Events.d.ts +2 -0
- package/lib/Types/Events.d.ts.map +1 -1
- package/lib/Utils/generics.d.ts +17 -0
- package/lib/Utils/generics.d.ts.map +1 -1
- package/lib/Utils/generics.js +31 -0
- package/lib/Utils/generics.js.map +1 -1
- package/lib/Utils/group-stub-params.d.ts +29 -0
- package/lib/Utils/group-stub-params.d.ts.map +1 -0
- package/lib/Utils/group-stub-params.js +45 -0
- package/lib/Utils/group-stub-params.js.map +1 -0
- package/lib/Utils/messages-media.d.ts +1 -1
- package/lib/Utils/messages-media.d.ts.map +1 -1
- package/lib/Utils/messages-media.js +1 -1
- package/lib/Utils/messages-media.js.map +1 -1
- package/lib/Utils/messages.d.ts.map +1 -1
- package/lib/Utils/messages.js +4 -6
- package/lib/Utils/messages.js.map +1 -1
- package/lib/Utils/process-history-message.d.ts +30 -0
- package/lib/Utils/process-history-message.d.ts.map +1 -0
- package/lib/Utils/process-history-message.js +148 -0
- package/lib/Utils/process-history-message.js.map +1 -0
- package/lib/Utils/use-bridge-store.d.ts.map +1 -1
- package/lib/Utils/use-bridge-store.js +50 -6
- package/lib/Utils/use-bridge-store.js.map +1 -1
- package/lib/Utils/use-multi-file-auth-state.d.ts +7 -0
- package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -1
- package/lib/Utils/use-multi-file-auth-state.js +11 -1
- package/lib/Utils/use-multi-file-auth-state.js.map +1 -1
- package/lib/Utils/wrap-legacy-store.d.ts.map +1 -1
- package/lib/Utils/wrap-legacy-store.js +110 -90
- package/lib/Utils/wrap-legacy-store.js.map +1 -1
- package/lib/WABinary/generic-utils.d.ts +17 -0
- package/lib/WABinary/generic-utils.d.ts.map +1 -0
- package/lib/WABinary/generic-utils.js +44 -0
- package/lib/WABinary/generic-utils.js.map +1 -0
- package/lib/WABinary/index.d.ts +1 -0
- package/lib/WABinary/index.d.ts.map +1 -1
- package/lib/WABinary/index.js +1 -0
- package/lib/WABinary/index.js.map +1 -1
- package/lib/WABinary/jid-utils.d.ts +4 -0
- package/lib/WABinary/jid-utils.d.ts.map +1 -1
- package/lib/WABinary/jid-utils.js +4 -0
- package/lib/WABinary/jid-utils.js.map +1 -1
- package/lib/__tests__/expect.d.ts +14 -0
- package/lib/__tests__/expect.d.ts.map +1 -1
- package/lib/__tests__/expect.js +42 -2
- package/lib/__tests__/expect.js.map +1 -1
- package/package.json +2 -2
package/lib/Bridge/adapt.js
CHANGED
|
@@ -1,523 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Anti-corruption layer between the bridge runtime and baileyrs domain code.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* serialize a particular rust enum today.
|
|
10
|
-
*
|
|
11
|
-
* If the bridge's `.d.ts` and runtime ever drift again (renamed field,
|
|
12
|
-
* leaked PascalCase variant, ISO timestamp where a number was promised),
|
|
13
|
-
* the bug surfaces here as one failing fixture test instead of a silent
|
|
14
|
-
* data lie that propagates through the whole event surface.
|
|
4
|
+
* The actual mapping table lives in `./schema.ts` — this file is the
|
|
5
|
+
* stable public entry point that consumers (notably `Socket/events.ts` and
|
|
6
|
+
* the dts-drift test) import. Keeping it thin lets the schema evolve
|
|
7
|
+
* (table-driven dispatch, additional validation, schema-derived types,
|
|
8
|
+
* etc.) without rippling through call sites.
|
|
15
9
|
*/
|
|
16
|
-
import {
|
|
10
|
+
import { adaptBridgeEventViaSchema, KNOWN_BRIDGE_EVENT_TYPES as KNOWN_FROM_SCHEMA } from "./schema.js";
|
|
17
11
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
12
|
+
* Set of bridge event types the adapter explicitly handles. The
|
|
13
|
+
* `dts-drift.test.ts` cross-checks this against the bridge's `.d.ts`
|
|
14
|
+
* union so missing/extra entries surface as test failures instead of
|
|
15
|
+
* silent drops.
|
|
22
16
|
*/
|
|
23
|
-
export const KNOWN_BRIDGE_EVENT_TYPES =
|
|
24
|
-
// connection lifecycle
|
|
25
|
-
'connected',
|
|
26
|
-
'disconnected',
|
|
27
|
-
'qr',
|
|
28
|
-
'pairing_code',
|
|
29
|
-
'pair_success',
|
|
30
|
-
'pair_error',
|
|
31
|
-
'logged_out',
|
|
32
|
-
'connect_failure',
|
|
33
|
-
'stream_error',
|
|
34
|
-
'stream_replaced',
|
|
35
|
-
'client_outdated',
|
|
36
|
-
'temporary_ban',
|
|
37
|
-
'qr_scanned_without_multidevice',
|
|
38
|
-
// messages
|
|
39
|
-
'message',
|
|
40
|
-
'receipt',
|
|
41
|
-
'undecryptable_message',
|
|
42
|
-
// contacts
|
|
43
|
-
'push_name_update',
|
|
44
|
-
'contact_update',
|
|
45
|
-
'contact_updated',
|
|
46
|
-
'picture_update',
|
|
47
|
-
// presence
|
|
48
|
-
'presence',
|
|
49
|
-
'chat_presence',
|
|
50
|
-
// groups
|
|
51
|
-
'group_update',
|
|
52
|
-
// chat state
|
|
53
|
-
'archive_update',
|
|
54
|
-
'pin_update',
|
|
55
|
-
'mute_update',
|
|
56
|
-
'star_update',
|
|
57
|
-
'mark_chat_as_read_update',
|
|
58
|
-
// calls
|
|
59
|
-
'incoming_call',
|
|
60
|
-
// acknowledged but no Baileys equivalent
|
|
61
|
-
'self_push_name_updated',
|
|
62
|
-
'history_sync',
|
|
63
|
-
'offline_sync_completed',
|
|
64
|
-
'offline_sync_preview',
|
|
65
|
-
'device_list_update',
|
|
66
|
-
'disappearing_mode_changed',
|
|
67
|
-
'business_status_update',
|
|
68
|
-
'newsletter_live_update',
|
|
69
|
-
'contact_number_changed',
|
|
70
|
-
'contact_sync_requested',
|
|
71
|
-
'user_about_update',
|
|
72
|
-
// app-state sync deletes — handled as noop until a Baileys consumer
|
|
73
|
-
// needs them (they have no direct upstream equivalent and the bridge
|
|
74
|
-
// already mutates its own caches when these arrive)
|
|
75
|
-
'delete_chat_update',
|
|
76
|
-
'delete_message_for_me_update',
|
|
77
|
-
// generic carriers
|
|
78
|
-
'notification',
|
|
79
|
-
'raw_node',
|
|
80
|
-
// MEX (GraphQL) push notifications — routed by op_name downstream
|
|
81
|
-
'mex_notification'
|
|
82
|
-
]);
|
|
17
|
+
export const KNOWN_BRIDGE_EVENT_TYPES = KNOWN_FROM_SCHEMA;
|
|
83
18
|
/** Result is `null` on unrecoverable shape mismatch — caller should drop the event. */
|
|
84
|
-
export const adaptBridgeEvent = (event, logger) =>
|
|
85
|
-
const typed = event;
|
|
86
|
-
const type = typed.type;
|
|
87
|
-
const data = typed.data;
|
|
88
|
-
switch (type) {
|
|
89
|
-
// ── Connection lifecycle ──
|
|
90
|
-
case 'connected':
|
|
91
|
-
return { type: 'connected' };
|
|
92
|
-
case 'disconnected':
|
|
93
|
-
return { type: 'disconnected' };
|
|
94
|
-
case 'qr':
|
|
95
|
-
case 'pairing_code': {
|
|
96
|
-
if (!isObject(data))
|
|
97
|
-
return null;
|
|
98
|
-
const code = asString(data.code);
|
|
99
|
-
return code ? { type: 'qr', code } : null;
|
|
100
|
-
}
|
|
101
|
-
case 'pair_success': {
|
|
102
|
-
if (!isObject(data))
|
|
103
|
-
return null;
|
|
104
|
-
const id = asString(data.id);
|
|
105
|
-
if (!id)
|
|
106
|
-
return null;
|
|
107
|
-
return {
|
|
108
|
-
type: 'pairSuccess',
|
|
109
|
-
id,
|
|
110
|
-
lid: asString(data.lid),
|
|
111
|
-
platform: asString(data.platform),
|
|
112
|
-
businessName: asString(data.business_name)
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
case 'pair_error': {
|
|
116
|
-
if (!isObject(data))
|
|
117
|
-
return null;
|
|
118
|
-
return { type: 'pairError', error: asString(data.error) ?? 'Unknown pairing error' };
|
|
119
|
-
}
|
|
120
|
-
case 'logged_out':
|
|
121
|
-
return { type: 'loggedOut' };
|
|
122
|
-
case 'connect_failure': {
|
|
123
|
-
if (!isObject(data))
|
|
124
|
-
return { type: 'connectFailure' };
|
|
125
|
-
return { type: 'connectFailure', message: asString(data.message) };
|
|
126
|
-
}
|
|
127
|
-
case 'stream_error': {
|
|
128
|
-
if (!isObject(data))
|
|
129
|
-
return null;
|
|
130
|
-
return { type: 'streamError', code: asString(data.code) ?? 'unknown' };
|
|
131
|
-
}
|
|
132
|
-
case 'stream_replaced':
|
|
133
|
-
return { type: 'streamReplaced' };
|
|
134
|
-
case 'client_outdated':
|
|
135
|
-
return { type: 'clientOutdated' };
|
|
136
|
-
case 'temporary_ban':
|
|
137
|
-
return { type: 'temporaryBan' };
|
|
138
|
-
case 'qr_scanned_without_multidevice':
|
|
139
|
-
return { type: 'qrScannedWithoutMultidevice' };
|
|
140
|
-
// ── Messages ──
|
|
141
|
-
case 'message':
|
|
142
|
-
return adaptMessage(data, logger);
|
|
143
|
-
case 'receipt':
|
|
144
|
-
return adaptReceipt(data, logger);
|
|
145
|
-
case 'undecryptable_message':
|
|
146
|
-
return { type: 'undecryptableMessage', raw: data };
|
|
147
|
-
// ── Contacts ──
|
|
148
|
-
case 'push_name_update': {
|
|
149
|
-
if (!isObject(data))
|
|
150
|
-
return null;
|
|
151
|
-
const jid = asJidString(data.jid);
|
|
152
|
-
if (!jid)
|
|
153
|
-
return null;
|
|
154
|
-
return { type: 'pushNameUpdate', jid, newPushName: asString(data.new_push_name) };
|
|
155
|
-
}
|
|
156
|
-
case 'contact_update':
|
|
157
|
-
case 'contact_updated': {
|
|
158
|
-
if (!isObject(data))
|
|
159
|
-
return null;
|
|
160
|
-
const jid = asJidString(data.jid);
|
|
161
|
-
return jid ? { type: 'contactUpdate', jid } : null;
|
|
162
|
-
}
|
|
163
|
-
case 'picture_update': {
|
|
164
|
-
if (!isObject(data))
|
|
165
|
-
return null;
|
|
166
|
-
const jid = asJidString(data.jid);
|
|
167
|
-
return jid ? { type: 'pictureUpdate', jid } : null;
|
|
168
|
-
}
|
|
169
|
-
// ── Presence ──
|
|
170
|
-
case 'presence': {
|
|
171
|
-
if (!isObject(data))
|
|
172
|
-
return null;
|
|
173
|
-
const from = asJidString(data.from);
|
|
174
|
-
if (!from)
|
|
175
|
-
return null;
|
|
176
|
-
return {
|
|
177
|
-
type: 'presence',
|
|
178
|
-
from,
|
|
179
|
-
unavailable: asBoolOr(data.unavailable, false),
|
|
180
|
-
lastSeen: asNumber(data.last_seen)
|
|
181
|
-
};
|
|
182
|
-
}
|
|
183
|
-
case 'chat_presence': {
|
|
184
|
-
if (!isObject(data))
|
|
185
|
-
return null;
|
|
186
|
-
const src = isObject(data.source) ? data.source : undefined;
|
|
187
|
-
if (!src)
|
|
188
|
-
return null;
|
|
189
|
-
const chat = asJidString(src.chat);
|
|
190
|
-
const sender = asJidString(src.sender);
|
|
191
|
-
if (!chat || !sender)
|
|
192
|
-
return null;
|
|
193
|
-
return { type: 'chatPresence', chatJid: chat, senderJid: sender, state: asString(data.state) ?? 'composing' };
|
|
194
|
-
}
|
|
195
|
-
// ── Groups ──
|
|
196
|
-
case 'group_update':
|
|
197
|
-
return adaptGroupUpdate(data, logger);
|
|
198
|
-
// ── Chat state ──
|
|
199
|
-
case 'archive_update': {
|
|
200
|
-
if (!isObject(data))
|
|
201
|
-
return null;
|
|
202
|
-
const jid = asJidString(data.jid);
|
|
203
|
-
return jid ? { type: 'archiveUpdate', jid } : null;
|
|
204
|
-
}
|
|
205
|
-
case 'pin_update': {
|
|
206
|
-
if (!isObject(data))
|
|
207
|
-
return null;
|
|
208
|
-
const jid = asJidString(data.jid);
|
|
209
|
-
return jid ? { type: 'pinUpdate', jid, timestamp: asNumber(data.timestamp) } : null;
|
|
210
|
-
}
|
|
211
|
-
case 'mute_update': {
|
|
212
|
-
if (!isObject(data))
|
|
213
|
-
return null;
|
|
214
|
-
const jid = asJidString(data.jid);
|
|
215
|
-
return jid ? { type: 'muteUpdate', jid, timestamp: asNumber(data.timestamp) } : null;
|
|
216
|
-
}
|
|
217
|
-
case 'star_update':
|
|
218
|
-
return adaptStarUpdate(data);
|
|
219
|
-
case 'mark_chat_as_read_update': {
|
|
220
|
-
if (!isObject(data))
|
|
221
|
-
return null;
|
|
222
|
-
const jid = asJidString(data.jid);
|
|
223
|
-
return jid ? { type: 'markChatAsReadUpdate', jid } : null;
|
|
224
|
-
}
|
|
225
|
-
// ── Calls ──
|
|
226
|
-
case 'incoming_call':
|
|
227
|
-
return adaptIncomingCall(data, logger);
|
|
228
|
-
// ── Acknowledged but no Baileys equivalent ──
|
|
229
|
-
case 'self_push_name_updated':
|
|
230
|
-
case 'history_sync':
|
|
231
|
-
case 'offline_sync_completed':
|
|
232
|
-
case 'offline_sync_preview':
|
|
233
|
-
case 'device_list_update':
|
|
234
|
-
case 'disappearing_mode_changed':
|
|
235
|
-
case 'business_status_update':
|
|
236
|
-
case 'newsletter_live_update':
|
|
237
|
-
case 'contact_number_changed':
|
|
238
|
-
case 'contact_sync_requested':
|
|
239
|
-
case 'user_about_update':
|
|
240
|
-
case 'delete_chat_update':
|
|
241
|
-
case 'delete_message_for_me_update':
|
|
242
|
-
return { type: 'noop', bridgeType: type };
|
|
243
|
-
// ── Generic notification & raw node ──
|
|
244
|
-
case 'notification': {
|
|
245
|
-
if (!isObject(data))
|
|
246
|
-
return { type: 'noop', bridgeType: 'notification' };
|
|
247
|
-
const attrs = isObject(data.attrs) ? data.attrs : {};
|
|
248
|
-
return { type: 'notification', tag: asString(data.tag) ?? 'notification', attrs };
|
|
249
|
-
}
|
|
250
|
-
case 'raw_node': {
|
|
251
|
-
// `BinaryNode` is shaped exactly like the bridge payload
|
|
252
|
-
// (`{ tag, attrs, content }`), so we can pass through after a
|
|
253
|
-
// minimal sanity check. Adapter guarantees `tag` is a string.
|
|
254
|
-
if (!isObject(data) || typeof data.tag !== 'string')
|
|
255
|
-
return null;
|
|
256
|
-
return { type: 'rawNode', node: data };
|
|
257
|
-
}
|
|
258
|
-
case 'mex_notification': {
|
|
259
|
-
if (!isObject(data))
|
|
260
|
-
return null;
|
|
261
|
-
const opName = asString(data.op_name);
|
|
262
|
-
if (!opName)
|
|
263
|
-
return null;
|
|
264
|
-
const payload = isObject(data.payload) ? data.payload : {};
|
|
265
|
-
return {
|
|
266
|
-
type: 'mexNotification',
|
|
267
|
-
opName,
|
|
268
|
-
from: asJidString(data.from),
|
|
269
|
-
stanzaId: asString(data.stanza_id),
|
|
270
|
-
offline: asBoolOr(data.offline, false),
|
|
271
|
-
payload
|
|
272
|
-
};
|
|
273
|
-
}
|
|
274
|
-
default:
|
|
275
|
-
logger?.debug({ eventType: type }, 'unknown bridge event (no canonical mapping)');
|
|
276
|
-
return null;
|
|
277
|
-
}
|
|
278
|
-
};
|
|
279
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
280
|
-
// Per-event adapters
|
|
281
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
282
|
-
const adaptMessage = (data, logger) => {
|
|
283
|
-
if (!isObject(data))
|
|
284
|
-
return null;
|
|
285
|
-
const info = isObject(data.info) ? data.info : undefined;
|
|
286
|
-
const messageProto = isObject(data.message) ? data.message : undefined;
|
|
287
|
-
if (!info || !messageProto)
|
|
288
|
-
return null;
|
|
289
|
-
const src = isObject(info.source) ? info.source : undefined;
|
|
290
|
-
const chat = src && asJidString(src.chat);
|
|
291
|
-
const id = asString(info.id);
|
|
292
|
-
if (!src || !chat || !id) {
|
|
293
|
-
logger?.debug({ info }, 'message adapter: missing chat/id');
|
|
294
|
-
return null;
|
|
295
|
-
}
|
|
296
|
-
const isGroup = asBoolOr(src.is_group, false);
|
|
297
|
-
const senderRaw = src.sender;
|
|
298
|
-
const senderJid = isGroup ? asJidString(senderRaw) : undefined;
|
|
299
|
-
const participantAlt = isGroup && isBridgeJid(src.sender_alt) ? bridgeJidToString(src.sender_alt) : undefined;
|
|
300
|
-
const remoteJidAlt = !isGroup && isBridgeJid(src.recipient_alt) ? bridgeJidToString(src.recipient_alt) : undefined;
|
|
301
|
-
return {
|
|
302
|
-
type: 'message',
|
|
303
|
-
chatJid: chat,
|
|
304
|
-
senderJid,
|
|
305
|
-
isGroup,
|
|
306
|
-
isFromMe: asBoolOr(src.is_from_me, false),
|
|
307
|
-
id,
|
|
308
|
-
timestamp: toUnixSeconds(info.timestamp),
|
|
309
|
-
pushName: asString(info.push_name),
|
|
310
|
-
participantAlt,
|
|
311
|
-
remoteJidAlt,
|
|
312
|
-
isViewOnce: info.is_view_once === true ? true : undefined,
|
|
313
|
-
messageProto: messageProto
|
|
314
|
-
};
|
|
315
|
-
};
|
|
316
|
-
const adaptReceipt = (data, logger) => {
|
|
317
|
-
if (!isObject(data))
|
|
318
|
-
return null;
|
|
319
|
-
const src = isObject(data.source) ? data.source : undefined;
|
|
320
|
-
if (!src)
|
|
321
|
-
return null;
|
|
322
|
-
const chat = asJidString(src.chat);
|
|
323
|
-
const ids = Array.isArray(data.message_ids) ? data.message_ids.filter((x) => typeof x === 'string') : [];
|
|
324
|
-
if (!chat || ids.length === 0) {
|
|
325
|
-
logger?.debug({ data }, 'receipt adapter: missing chat or message_ids');
|
|
326
|
-
return null;
|
|
327
|
-
}
|
|
328
|
-
const isGroup = asBoolOr(src.is_group, false);
|
|
329
|
-
return {
|
|
330
|
-
type: 'receipt',
|
|
331
|
-
chatJid: chat,
|
|
332
|
-
senderJid: isGroup ? asJidString(src.sender) : undefined,
|
|
333
|
-
isGroup,
|
|
334
|
-
isFromMe: asBoolOr(src.is_from_me, false),
|
|
335
|
-
messageIds: ids,
|
|
336
|
-
timestamp: toUnixSeconds(data.timestamp)
|
|
337
|
-
};
|
|
338
|
-
};
|
|
339
|
-
const adaptStarUpdate = (data) => {
|
|
340
|
-
if (!isObject(data))
|
|
341
|
-
return null;
|
|
342
|
-
const chatJid = asJidString(data.chat_jid);
|
|
343
|
-
const messageId = asString(data.message_id);
|
|
344
|
-
if (!chatJid || !messageId)
|
|
345
|
-
return null;
|
|
346
|
-
const action = isObject(data.action) ? data.action : undefined;
|
|
347
|
-
return {
|
|
348
|
-
type: 'starUpdate',
|
|
349
|
-
chatJid,
|
|
350
|
-
messageId,
|
|
351
|
-
fromMe: asBoolOr(data.from_me, false),
|
|
352
|
-
participantJid: asJidString(data.participant_jid),
|
|
353
|
-
starred: asBoolOr(action?.starred, false)
|
|
354
|
-
};
|
|
355
|
-
};
|
|
356
|
-
const adaptIncomingCall = (data, logger) => {
|
|
357
|
-
if (!isObject(data))
|
|
358
|
-
return null;
|
|
359
|
-
const from = asJidString(data.from);
|
|
360
|
-
if (!from)
|
|
361
|
-
return null;
|
|
362
|
-
const action = isObject(data.action) ? data.action : undefined;
|
|
363
|
-
if (!action)
|
|
364
|
-
return null;
|
|
365
|
-
const actionType = parseCallActionType(action.type);
|
|
366
|
-
const callId = asString(action.call_id);
|
|
367
|
-
if (!actionType || !callId) {
|
|
368
|
-
logger?.debug({ data }, 'incoming_call adapter: missing action.type/call_id');
|
|
369
|
-
return null;
|
|
370
|
-
}
|
|
371
|
-
const canonicalAction = { type: actionType, callId };
|
|
372
|
-
if (actionType === 'offer') {
|
|
373
|
-
canonicalAction.callerPn = asJidString(action.caller_pn);
|
|
374
|
-
canonicalAction.isVideo = asBoolOr(action.is_video, false);
|
|
375
|
-
}
|
|
376
|
-
return {
|
|
377
|
-
type: 'incomingCall',
|
|
378
|
-
from,
|
|
379
|
-
timestamp: toUnixSeconds(data.timestamp),
|
|
380
|
-
offline: asBoolOr(data.offline, false),
|
|
381
|
-
action: canonicalAction
|
|
382
|
-
};
|
|
383
|
-
};
|
|
384
|
-
const parseCallActionType = (raw) => {
|
|
385
|
-
const norm = normalizeDiscriminator(raw);
|
|
386
|
-
switch (norm) {
|
|
387
|
-
case 'offer':
|
|
388
|
-
return 'offer';
|
|
389
|
-
case 'pre_accept':
|
|
390
|
-
case 'preaccept':
|
|
391
|
-
return 'preAccept';
|
|
392
|
-
case 'accept':
|
|
393
|
-
return 'accept';
|
|
394
|
-
case 'reject':
|
|
395
|
-
return 'reject';
|
|
396
|
-
case 'terminate':
|
|
397
|
-
return 'terminate';
|
|
398
|
-
default:
|
|
399
|
-
return undefined;
|
|
400
|
-
}
|
|
401
|
-
};
|
|
402
|
-
// ── Group action adapter — the one that actually uncovered the PascalCase drift ──
|
|
403
|
-
const adaptGroupParticipant = (raw) => {
|
|
404
|
-
if (!isObject(raw))
|
|
405
|
-
return null;
|
|
406
|
-
const jid = asJidString(raw.jid);
|
|
407
|
-
if (!jid)
|
|
408
|
-
return null;
|
|
409
|
-
return { jid, phoneNumber: asJidString(raw.phone_number) };
|
|
410
|
-
};
|
|
411
|
-
const adaptGroupParticipants = (raw) => {
|
|
412
|
-
if (!Array.isArray(raw))
|
|
413
|
-
return [];
|
|
414
|
-
return raw.map(adaptGroupParticipant).filter((p) => p !== null);
|
|
415
|
-
};
|
|
416
|
-
const adaptGroupAction = (raw) => {
|
|
417
|
-
if (!isObject(raw))
|
|
418
|
-
return null;
|
|
419
|
-
const norm = normalizeDiscriminator(raw.type);
|
|
420
|
-
const rawType = asString(raw.type) ?? 'unknown';
|
|
421
|
-
if (!norm)
|
|
422
|
-
return { type: 'unknown', rawType };
|
|
423
|
-
switch (norm) {
|
|
424
|
-
case 'add':
|
|
425
|
-
return { type: 'add', participants: adaptGroupParticipants(raw.participants), reason: asString(raw.reason) };
|
|
426
|
-
case 'remove':
|
|
427
|
-
return { type: 'remove', participants: adaptGroupParticipants(raw.participants), reason: asString(raw.reason) };
|
|
428
|
-
case 'promote':
|
|
429
|
-
return { type: 'promote', participants: adaptGroupParticipants(raw.participants) };
|
|
430
|
-
case 'demote':
|
|
431
|
-
return { type: 'demote', participants: adaptGroupParticipants(raw.participants) };
|
|
432
|
-
case 'modify':
|
|
433
|
-
return { type: 'modify', participants: adaptGroupParticipants(raw.participants) };
|
|
434
|
-
case 'subject':
|
|
435
|
-
return {
|
|
436
|
-
type: 'subject',
|
|
437
|
-
subject: asString(raw.subject) ?? '',
|
|
438
|
-
subjectOwner: asJidString(raw.subject_owner),
|
|
439
|
-
subjectTime: asNumber(raw.subject_time)
|
|
440
|
-
};
|
|
441
|
-
case 'description':
|
|
442
|
-
return {
|
|
443
|
-
type: 'description',
|
|
444
|
-
id: asString(raw.id) ?? '',
|
|
445
|
-
description: asString(raw.description)
|
|
446
|
-
};
|
|
447
|
-
case 'locked':
|
|
448
|
-
return { type: 'locked' };
|
|
449
|
-
case 'unlocked':
|
|
450
|
-
return { type: 'unlocked' };
|
|
451
|
-
case 'announce':
|
|
452
|
-
case 'announcement':
|
|
453
|
-
return { type: 'announce' };
|
|
454
|
-
case 'not_announce':
|
|
455
|
-
case 'not_announcement':
|
|
456
|
-
case 'notannounce':
|
|
457
|
-
return { type: 'notAnnounce' };
|
|
458
|
-
case 'ephemeral': {
|
|
459
|
-
const expiration = asNumber(raw.expiration);
|
|
460
|
-
if (expiration == null)
|
|
461
|
-
return null;
|
|
462
|
-
return { type: 'ephemeral', expiration, trigger: asNumber(raw.trigger) };
|
|
463
|
-
}
|
|
464
|
-
case 'membership_approval_mode':
|
|
465
|
-
case 'membershipapprovalmode':
|
|
466
|
-
return { type: 'membershipApprovalMode', enabled: asBoolOr(raw.enabled, false) };
|
|
467
|
-
case 'member_add_mode':
|
|
468
|
-
case 'memberaddmode':
|
|
469
|
-
return { type: 'memberAddMode', mode: asString(raw.mode) ?? '' };
|
|
470
|
-
case 'no_frequently_forwarded':
|
|
471
|
-
case 'nofrequentlyforwarded':
|
|
472
|
-
return { type: 'noFrequentlyForwarded' };
|
|
473
|
-
case 'frequently_forwarded_ok':
|
|
474
|
-
case 'frequentlyforwardedok':
|
|
475
|
-
return { type: 'frequentlyForwardedOk' };
|
|
476
|
-
case 'invite':
|
|
477
|
-
return { type: 'invite', code: asString(raw.code) ?? '' };
|
|
478
|
-
case 'revoke':
|
|
479
|
-
case 'revoke_invite':
|
|
480
|
-
case 'revokeinvite':
|
|
481
|
-
return { type: 'revokeInvite' };
|
|
482
|
-
case 'create':
|
|
483
|
-
return { type: 'create' };
|
|
484
|
-
case 'delete':
|
|
485
|
-
return { type: 'delete', reason: asString(raw.reason) };
|
|
486
|
-
case 'link':
|
|
487
|
-
return { type: 'link', linkType: asString(raw.link_type) ?? '' };
|
|
488
|
-
case 'unlink':
|
|
489
|
-
return {
|
|
490
|
-
type: 'unlink',
|
|
491
|
-
unlinkType: asString(raw.unlink_type) ?? '',
|
|
492
|
-
unlinkReason: asString(raw.unlink_reason)
|
|
493
|
-
};
|
|
494
|
-
case 'membership_approval_request':
|
|
495
|
-
case 'created_membership_requests':
|
|
496
|
-
case 'revoked_membership_requests':
|
|
497
|
-
return { type: 'unknown', rawType: norm };
|
|
498
|
-
default:
|
|
499
|
-
return { type: 'unknown', rawType };
|
|
500
|
-
}
|
|
501
|
-
};
|
|
502
|
-
const adaptGroupUpdate = (data, logger) => {
|
|
503
|
-
if (!isObject(data))
|
|
504
|
-
return null;
|
|
505
|
-
const groupJid = asJidString(data.group_jid);
|
|
506
|
-
if (!groupJid)
|
|
507
|
-
return null;
|
|
508
|
-
const action = adaptGroupAction(data.action);
|
|
509
|
-
if (!action) {
|
|
510
|
-
logger?.warn({ data }, 'group_update adapter: action shape rejected');
|
|
511
|
-
return null;
|
|
512
|
-
}
|
|
513
|
-
return {
|
|
514
|
-
type: 'groupUpdate',
|
|
515
|
-
groupJid,
|
|
516
|
-
author: asJidString(data.participant),
|
|
517
|
-
authorPn: asJidString(data.participant_pn),
|
|
518
|
-
timestamp: toUnixSeconds(data.timestamp),
|
|
519
|
-
isLidAddressingMode: asBoolOr(data.is_lid_addressing_mode, false),
|
|
520
|
-
action
|
|
521
|
-
};
|
|
522
|
-
};
|
|
19
|
+
export const adaptBridgeEvent = (event, logger) => adaptBridgeEventViaSchema(event, logger);
|
|
523
20
|
//# sourceMappingURL=adapt.js.map
|
package/lib/Bridge/adapt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapt.js","sourceRoot":"","sources":["../../src/Bridge/adapt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapt.js","sourceRoot":"","sources":["../../src/Bridge/adapt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEtG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAwB,iBAAiB,CAAA;AAE9E,uFAAuF;AACvF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAoB,EAAE,MAAgB,EAAyB,EAAE,CACjG,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema-driven bridge → canonical adapter table.
|
|
3
|
+
*
|
|
4
|
+
* The single source of truth for "every bridge event variant we accept and
|
|
5
|
+
* how it maps to a CanonicalEvent". Each entry receives the bridge's typed
|
|
6
|
+
* data slot (`Extract<WhatsAppEvent, { type: T }>['data']`) and returns
|
|
7
|
+
* either a CanonicalEvent or `null` (drop on unrecoverable shape).
|
|
8
|
+
*
|
|
9
|
+
* Type safety properties:
|
|
10
|
+
* 1. The table is `satisfies AdapterMap` where `AdapterMap` is keyed by
|
|
11
|
+
* every `WhatsAppEvent['type']`. Adding a new variant to the bridge
|
|
12
|
+
* `.d.ts` and forgetting an entry here is a compile error.
|
|
13
|
+
* 2. Each entry's `data` parameter is the bridge's narrow type — fields
|
|
14
|
+
* come back as the right TS type without manual `unknown` checks.
|
|
15
|
+
* 3. Each entry's return type is `CanonicalEvent | null`. Returning the
|
|
16
|
+
* wrong canonical shape is a compile error.
|
|
17
|
+
*
|
|
18
|
+
* Where the bridge `.d.ts` references a sub-type that isn't separately
|
|
19
|
+
* exported (PinAction, MuteAction, ArchiveChatAction, etc. — the action
|
|
20
|
+
* field of every sync-action event), TS resolves the type to `any`. We
|
|
21
|
+
* apply narrowing parsers from `./primitives` (`isObject`, `asBoolOr`,
|
|
22
|
+
* `asNumber`, `asString`) at those leak points only — not boilerplate
|
|
23
|
+
* everywhere.
|
|
24
|
+
*/
|
|
25
|
+
import type { WhatsAppEvent } from 'whatsapp-rust-bridge';
|
|
26
|
+
import type { ILogger } from '../Utils/logger.js';
|
|
27
|
+
import type { CanonicalEvent } from './types.js';
|
|
28
|
+
export type BridgeEventType = WhatsAppEvent['type'];
|
|
29
|
+
/** Set of bridge event types we explicitly handle — derived from the table. */
|
|
30
|
+
export declare const KNOWN_BRIDGE_EVENT_TYPES: ReadonlySet<string>;
|
|
31
|
+
/**
|
|
32
|
+
* Public entry point — looks up the adapter by event type and runs it.
|
|
33
|
+
* Mirrors the previous `adaptBridgeEvent` API exactly.
|
|
34
|
+
*/
|
|
35
|
+
export declare const adaptBridgeEventViaSchema: (event: WhatsAppEvent, logger?: ILogger) => CanonicalEvent | null;
|
|
36
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/Bridge/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAEjD,OAAO,KAAK,EAGX,cAAc,EAGd,MAAM,YAAY,CAAA;AAiBnB,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;AA0WnD,+EAA+E;AAC/E,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAAkC,CAAA;AAE3F;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAI,OAAO,aAAa,EAAE,SAAS,OAAO,KAAG,cAAc,GAAG,IAUnG,CAAA"}
|