@oxidezap/baileyrs 0.0.7 → 0.0.8
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/README.md +119 -5
- package/lib/Bridge/__tests__/adapt.test.d.ts +2 -0
- package/lib/Bridge/__tests__/adapt.test.d.ts.map +1 -0
- package/lib/Bridge/__tests__/adapt.test.js +355 -0
- package/lib/Bridge/__tests__/adapt.test.js.map +1 -0
- package/lib/Bridge/__tests__/dts-drift.test.d.ts +13 -0
- package/lib/Bridge/__tests__/dts-drift.test.d.ts.map +1 -0
- package/lib/Bridge/__tests__/dts-drift.test.js +92 -0
- package/lib/Bridge/__tests__/dts-drift.test.js.map +1 -0
- package/lib/Bridge/__tests__/fixtures.d.ts +192 -0
- package/lib/Bridge/__tests__/fixtures.d.ts.map +1 -0
- package/lib/Bridge/__tests__/fixtures.js +99 -0
- package/lib/Bridge/__tests__/fixtures.js.map +1 -0
- package/lib/Bridge/adapt.d.ts +28 -0
- package/lib/Bridge/adapt.d.ts.map +1 -0
- package/lib/Bridge/adapt.js +504 -0
- package/lib/Bridge/adapt.js.map +1 -0
- package/lib/Bridge/index.d.ts +12 -0
- package/lib/Bridge/index.d.ts.map +1 -0
- package/lib/Bridge/index.js +12 -0
- package/lib/Bridge/index.js.map +1 -0
- package/lib/Bridge/primitives.d.ts +56 -0
- package/lib/Bridge/primitives.d.ts.map +1 -0
- package/lib/Bridge/primitives.js +58 -0
- package/lib/Bridge/primitives.js.map +1 -0
- package/lib/Bridge/types.d.ts +273 -0
- package/lib/Bridge/types.d.ts.map +1 -0
- package/lib/Bridge/types.js +17 -0
- package/lib/Bridge/types.js.map +1 -0
- package/lib/Defaults/index.d.ts.map +1 -1
- package/lib/Defaults/index.js +2 -2
- package/lib/Defaults/index.js.map +1 -1
- package/lib/Socket/blocking.d.ts.map +1 -1
- package/lib/Socket/chat-actions.d.ts.map +1 -1
- package/lib/Socket/contacts.d.ts +9 -4
- package/lib/Socket/contacts.d.ts.map +1 -1
- package/lib/Socket/contacts.js +11 -8
- package/lib/Socket/contacts.js.map +1 -1
- package/lib/Socket/events.d.ts +7 -1
- package/lib/Socket/events.d.ts.map +1 -1
- package/lib/Socket/events.js +212 -243
- package/lib/Socket/events.js.map +1 -1
- package/lib/Socket/group-notifications.d.ts +25 -0
- package/lib/Socket/group-notifications.d.ts.map +1 -0
- package/lib/Socket/group-notifications.js +162 -0
- package/lib/Socket/group-notifications.js.map +1 -0
- package/lib/Socket/groups.d.ts +12 -1
- package/lib/Socket/groups.d.ts.map +1 -1
- package/lib/Socket/groups.js +44 -1
- package/lib/Socket/groups.js.map +1 -1
- package/lib/Socket/index.d.ts +47 -13
- package/lib/Socket/index.d.ts.map +1 -1
- package/lib/Socket/index.js +158 -24
- package/lib/Socket/index.js.map +1 -1
- package/lib/Socket/messages.d.ts +5 -2
- package/lib/Socket/messages.d.ts.map +1 -1
- package/lib/Socket/messages.js +42 -21
- package/lib/Socket/messages.js.map +1 -1
- package/lib/Socket/newsletter.d.ts.map +1 -1
- package/lib/Socket/presence.d.ts.map +1 -1
- package/lib/Socket/profile.d.ts +7 -1
- package/lib/Socket/profile.d.ts.map +1 -1
- package/lib/Socket/profile.js +20 -5
- package/lib/Socket/profile.js.map +1 -1
- package/lib/Socket/transport.d.ts.map +1 -1
- package/lib/Socket/transport.js +14 -13
- package/lib/Socket/transport.js.map +1 -1
- package/lib/Socket/types.d.ts.map +1 -1
- package/lib/Types/Auth.d.ts +1 -1
- package/lib/Types/Auth.d.ts.map +1 -1
- package/lib/Types/Bussines.d.ts +1 -1
- package/lib/Types/Bussines.d.ts.map +1 -1
- package/lib/Types/Chat.d.ts +1 -1
- package/lib/Types/Chat.d.ts.map +1 -1
- package/lib/Types/Events.d.ts +12 -3
- package/lib/Types/Events.d.ts.map +1 -1
- package/lib/Types/Events.js +1 -1
- package/lib/Types/Events.js.map +1 -1
- package/lib/Types/GroupMetadata.d.ts.map +1 -1
- package/lib/Types/Message.d.ts +16 -1
- package/lib/Types/Message.d.ts.map +1 -1
- package/lib/Types/Message.js +1 -1
- package/lib/Types/Message.js.map +1 -1
- package/lib/Types/Socket.d.ts +42 -1
- package/lib/Types/Socket.d.ts.map +1 -1
- package/lib/Types/State.d.ts +1 -1
- package/lib/Types/State.d.ts.map +1 -1
- package/lib/Types/index.d.ts +1 -1
- package/lib/Types/index.d.ts.map +1 -1
- package/lib/Types/index.js +17 -12
- package/lib/Types/index.js.map +1 -1
- package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.d.ts +23 -0
- package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.d.ts.map +1 -0
- package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.js +157 -0
- package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.js.map +1 -0
- package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.d.ts +31 -0
- package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.d.ts.map +1 -0
- package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.js +253 -0
- package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.js.map +1 -0
- package/lib/Utils/__tests__/wrap-legacy-store-session.test.d.ts +32 -0
- package/lib/Utils/__tests__/wrap-legacy-store-session.test.d.ts.map +1 -0
- package/lib/Utils/__tests__/wrap-legacy-store-session.test.js +488 -0
- package/lib/Utils/__tests__/wrap-legacy-store-session.test.js.map +1 -0
- package/lib/Utils/boom.d.ts +33 -0
- package/lib/Utils/boom.d.ts.map +1 -0
- package/lib/Utils/boom.js +63 -0
- package/lib/Utils/boom.js.map +1 -0
- package/lib/Utils/browser-utils.d.ts.map +1 -1
- package/lib/Utils/event-buffer.d.ts.map +1 -1
- package/lib/Utils/generics.d.ts +37 -1
- package/lib/Utils/generics.d.ts.map +1 -1
- package/lib/Utils/generics.js +60 -2
- package/lib/Utils/generics.js.map +1 -1
- package/lib/Utils/index.d.ts +1 -0
- package/lib/Utils/index.d.ts.map +1 -1
- package/lib/Utils/index.js +10 -9
- package/lib/Utils/index.js.map +1 -1
- package/lib/Utils/lid-mapping-store.d.ts +81 -0
- package/lib/Utils/lid-mapping-store.d.ts.map +1 -0
- package/lib/Utils/lid-mapping-store.js +126 -0
- package/lib/Utils/lid-mapping-store.js.map +1 -0
- package/lib/Utils/logger.d.ts.map +1 -1
- package/lib/Utils/logger.js +25 -1
- package/lib/Utils/logger.js.map +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 +30 -1
- package/lib/Utils/messages.d.ts.map +1 -1
- package/lib/Utils/messages.js +115 -41
- package/lib/Utils/messages.js.map +1 -1
- package/lib/Utils/native-crypto-provider.d.ts +18 -0
- package/lib/Utils/native-crypto-provider.d.ts.map +1 -0
- package/lib/Utils/native-crypto-provider.js +67 -0
- package/lib/Utils/native-crypto-provider.js.map +1 -0
- package/lib/Utils/use-bridge-store.d.ts.map +1 -1
- package/lib/Utils/use-memory-store.d.ts.map +1 -1
- package/lib/Utils/use-memory-store.js +1 -1
- package/lib/Utils/use-memory-store.js.map +1 -1
- package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -1
- package/lib/Utils/use-multi-file-auth-state.js +1 -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 +621 -13
- package/lib/Utils/wrap-legacy-store.js.map +1 -1
- package/lib/WABinary/index.d.ts.map +1 -1
- package/lib/WABinary/index.js +1 -1
- package/lib/WABinary/index.js.map +1 -1
- package/lib/__tests__/expect.d.ts +30 -0
- package/lib/__tests__/expect.d.ts.map +1 -0
- package/lib/__tests__/expect.js +60 -0
- package/lib/__tests__/expect.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +9 -6
- package/lib/index.js.map +1 -1
- package/package.json +30 -25
- package/WAProto/index.d.ts +0 -13875
- package/WAProto/index.js +0 -175
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type guards and coercion helpers shared by all bridge adapters.
|
|
3
|
+
*
|
|
4
|
+
* Adapters treat the bridge payload as `unknown` and validate field-by-field
|
|
5
|
+
* here so a bridge schema drift (renamed field, lost serde rename_all,
|
|
6
|
+
* timestamp serializer change) surfaces as `null` from one adapter instead
|
|
7
|
+
* of a silent type lie that propagates downstream.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Plain-object guard. `typeof null === "object"` so we exclude it
|
|
11
|
+
* explicitly; arrays return `true` here so callers must check
|
|
12
|
+
* `Array.isArray` first if they need to distinguish.
|
|
13
|
+
*/
|
|
14
|
+
export const isObject = (x) => typeof x === 'object' && x !== null && !Array.isArray(x);
|
|
15
|
+
/** Treat any non-string as missing rather than coercing (no `String(x)`). */
|
|
16
|
+
export const asString = (x) => (typeof x === 'string' ? x : undefined);
|
|
17
|
+
/** Treat any non-number (including booleans, NaN) as missing. */
|
|
18
|
+
export const asNumber = (x) => typeof x === 'number' && Number.isFinite(x) ? x : undefined;
|
|
19
|
+
/** Strict bool — does not coerce truthy values like `1` or `'true'`. */
|
|
20
|
+
export const asBool = (x) => (typeof x === 'boolean' ? x : undefined);
|
|
21
|
+
/** Same as `asBool` but defaults to `false` for missing/invalid input. */
|
|
22
|
+
export const asBoolOr = (x, fallback) => asBool(x) ?? fallback;
|
|
23
|
+
/** Type guard for the bridge's `Jid` shape. Required fields only. */
|
|
24
|
+
export const isBridgeJid = (x) => isObject(x) && typeof x.user === 'string' && typeof x.server === 'string';
|
|
25
|
+
/** `null`-tolerant `BridgeJid` extractor — bridge payloads sometimes carry `null`. */
|
|
26
|
+
export const asBridgeJid = (x) => (isBridgeJid(x) ? x : undefined);
|
|
27
|
+
/** Stringify a bridge JID into the canonical `user@server` form. Drops device/agent. */
|
|
28
|
+
export const bridgeJidToString = (j) => `${j.user}@${j.server}`;
|
|
29
|
+
/** Combined: validate & stringify in one step. Returns `undefined` on invalid input. */
|
|
30
|
+
export const asJidString = (x) => {
|
|
31
|
+
const j = asBridgeJid(x);
|
|
32
|
+
return j ? bridgeJidToString(j) : undefined;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Coerce a timestamp value into unix seconds. Accepts both numbers and ISO
|
|
36
|
+
* strings — the bridge serializes `DateTime<Utc>` as ISO unless explicitly
|
|
37
|
+
* typed with `ts_seconds`, so being lenient here insulates us from drift.
|
|
38
|
+
*/
|
|
39
|
+
export const toUnixSeconds = (raw) => {
|
|
40
|
+
if (typeof raw === 'number' && Number.isFinite(raw))
|
|
41
|
+
return raw;
|
|
42
|
+
if (typeof raw === 'string') {
|
|
43
|
+
const ms = Date.parse(raw);
|
|
44
|
+
if (Number.isFinite(ms))
|
|
45
|
+
return Math.floor(ms / 1000);
|
|
46
|
+
}
|
|
47
|
+
return 0;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Lowercase a discriminator string defensively — handles both the current
|
|
51
|
+
* lowercase wire-tag form and any legacy PascalCase form an older bridge
|
|
52
|
+
* might still emit.
|
|
53
|
+
*/
|
|
54
|
+
export const normalizeDiscriminator = (x) => {
|
|
55
|
+
const s = asString(x);
|
|
56
|
+
return s ? s.toLowerCase() : undefined;
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=primitives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/Bridge/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAgC,EAAE,CACpE,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAEzD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAsB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AAEnG,iEAAiE;AACjE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAsB,EAAE,CAC1D,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAE5D,wEAAwE;AACxE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAU,EAAuB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AAEnG,0EAA0E;AAC1E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAE,QAAiB,EAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAA;AAgBzF,qEAAqE;AACrE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAU,EAAkB,EAAE,CACzD,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAA;AAE1E,sFAAsF;AACtF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAU,EAAyB,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AAElG,wFAAwF;AACxF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAY,EAAU,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,CAAA;AAElF,wFAAwF;AACxF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAU,EAAsB,EAAE;IAC7D,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;IACxB,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC5C,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAY,EAAU,EAAE;IACrD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IAC/D,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,CAAC,CAAA;AACT,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAU,EAAsB,EAAE;IACxE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACrB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACvC,CAAC,CAAA"}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical event types — what baileyrs OWNS as its contract with the bridge.
|
|
3
|
+
*
|
|
4
|
+
* Adapters in this folder convert raw bridge payloads into these shapes; all
|
|
5
|
+
* downstream code consumes these instead of touching `WhatsAppEvent.data`
|
|
6
|
+
* directly. This is the anti-corruption layer that keeps drift in the bridge
|
|
7
|
+
* (renamed fields, leaked enum casing, ISO-vs-unix timestamps, etc.) from
|
|
8
|
+
* leaking into our domain code.
|
|
9
|
+
*
|
|
10
|
+
* Naming conventions:
|
|
11
|
+
* - Discriminator (`type`) is camelCase — matches Baileys event names.
|
|
12
|
+
* - All JIDs are device-stripped strings (`user@server`).
|
|
13
|
+
* - All timestamps are unix seconds.
|
|
14
|
+
* - Optional fields use `?` (omitted) rather than `null`.
|
|
15
|
+
*/
|
|
16
|
+
import type { BinaryNode, WAProto } from '../Types/index.js';
|
|
17
|
+
export interface CanonicalConnected {
|
|
18
|
+
type: 'connected';
|
|
19
|
+
}
|
|
20
|
+
export interface CanonicalDisconnected {
|
|
21
|
+
type: 'disconnected';
|
|
22
|
+
}
|
|
23
|
+
/** `qr` and `pairing_code` collapse here — both surface a code to display. */
|
|
24
|
+
export interface CanonicalQR {
|
|
25
|
+
type: 'qr';
|
|
26
|
+
code: string;
|
|
27
|
+
}
|
|
28
|
+
export interface CanonicalPairSuccess {
|
|
29
|
+
type: 'pairSuccess';
|
|
30
|
+
id: string;
|
|
31
|
+
lid?: string;
|
|
32
|
+
platform?: string;
|
|
33
|
+
businessName?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface CanonicalPairError {
|
|
36
|
+
type: 'pairError';
|
|
37
|
+
error: string;
|
|
38
|
+
}
|
|
39
|
+
export interface CanonicalLoggedOut {
|
|
40
|
+
type: 'loggedOut';
|
|
41
|
+
}
|
|
42
|
+
export interface CanonicalConnectFailure {
|
|
43
|
+
type: 'connectFailure';
|
|
44
|
+
message?: string;
|
|
45
|
+
}
|
|
46
|
+
export interface CanonicalStreamError {
|
|
47
|
+
type: 'streamError';
|
|
48
|
+
code: string;
|
|
49
|
+
}
|
|
50
|
+
export interface CanonicalStreamReplaced {
|
|
51
|
+
type: 'streamReplaced';
|
|
52
|
+
}
|
|
53
|
+
export interface CanonicalClientOutdated {
|
|
54
|
+
type: 'clientOutdated';
|
|
55
|
+
}
|
|
56
|
+
export interface CanonicalTemporaryBan {
|
|
57
|
+
type: 'temporaryBan';
|
|
58
|
+
}
|
|
59
|
+
export interface CanonicalQrScannedWithoutMultidevice {
|
|
60
|
+
type: 'qrScannedWithoutMultidevice';
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* A fully-resolved message ready to wrap into `WAProto.WebMessageInfo`.
|
|
64
|
+
* `messageProto` carries the raw decrypted protobuf object; everything else
|
|
65
|
+
* is metadata the bridge already extracted from the stanza.
|
|
66
|
+
*/
|
|
67
|
+
export interface CanonicalMessage {
|
|
68
|
+
type: 'message';
|
|
69
|
+
chatJid: string;
|
|
70
|
+
senderJid?: string;
|
|
71
|
+
isGroup: boolean;
|
|
72
|
+
isFromMe: boolean;
|
|
73
|
+
id: string;
|
|
74
|
+
timestamp: number;
|
|
75
|
+
pushName?: string;
|
|
76
|
+
/** LID counterpart of the sender for LID-addressed groups. */
|
|
77
|
+
participantAlt?: string;
|
|
78
|
+
/** LID counterpart of the chat (1:1 only) when the recipient is LID. */
|
|
79
|
+
remoteJidAlt?: string;
|
|
80
|
+
messageProto: WAProto.IMessage;
|
|
81
|
+
}
|
|
82
|
+
export interface CanonicalReceipt {
|
|
83
|
+
type: 'receipt';
|
|
84
|
+
chatJid: string;
|
|
85
|
+
senderJid?: string;
|
|
86
|
+
isGroup: boolean;
|
|
87
|
+
isFromMe: boolean;
|
|
88
|
+
messageIds: string[];
|
|
89
|
+
timestamp: number;
|
|
90
|
+
}
|
|
91
|
+
export interface CanonicalPushNameUpdate {
|
|
92
|
+
type: 'pushNameUpdate';
|
|
93
|
+
jid: string;
|
|
94
|
+
newPushName?: string;
|
|
95
|
+
}
|
|
96
|
+
export interface CanonicalContactUpdate {
|
|
97
|
+
type: 'contactUpdate';
|
|
98
|
+
jid: string;
|
|
99
|
+
}
|
|
100
|
+
export interface CanonicalPictureUpdate {
|
|
101
|
+
type: 'pictureUpdate';
|
|
102
|
+
jid: string;
|
|
103
|
+
}
|
|
104
|
+
export interface CanonicalPresence {
|
|
105
|
+
type: 'presence';
|
|
106
|
+
from: string;
|
|
107
|
+
unavailable: boolean;
|
|
108
|
+
lastSeen?: number;
|
|
109
|
+
}
|
|
110
|
+
export interface CanonicalChatPresence {
|
|
111
|
+
type: 'chatPresence';
|
|
112
|
+
chatJid: string;
|
|
113
|
+
senderJid: string;
|
|
114
|
+
state: string;
|
|
115
|
+
}
|
|
116
|
+
/** Participant info as carried inside an event-time group action. */
|
|
117
|
+
export interface CanonicalGroupParticipant {
|
|
118
|
+
jid: string;
|
|
119
|
+
phoneNumber?: string;
|
|
120
|
+
}
|
|
121
|
+
export type CanonicalGroupAction = {
|
|
122
|
+
type: 'add';
|
|
123
|
+
participants: CanonicalGroupParticipant[];
|
|
124
|
+
reason?: string;
|
|
125
|
+
} | {
|
|
126
|
+
type: 'remove';
|
|
127
|
+
participants: CanonicalGroupParticipant[];
|
|
128
|
+
reason?: string;
|
|
129
|
+
} | {
|
|
130
|
+
type: 'promote';
|
|
131
|
+
participants: CanonicalGroupParticipant[];
|
|
132
|
+
} | {
|
|
133
|
+
type: 'demote';
|
|
134
|
+
participants: CanonicalGroupParticipant[];
|
|
135
|
+
} | {
|
|
136
|
+
type: 'modify';
|
|
137
|
+
participants: CanonicalGroupParticipant[];
|
|
138
|
+
} | {
|
|
139
|
+
type: 'subject';
|
|
140
|
+
subject: string;
|
|
141
|
+
subjectOwner?: string;
|
|
142
|
+
subjectTime?: number;
|
|
143
|
+
} | {
|
|
144
|
+
type: 'description';
|
|
145
|
+
id: string;
|
|
146
|
+
description?: string;
|
|
147
|
+
} | {
|
|
148
|
+
type: 'locked';
|
|
149
|
+
} | {
|
|
150
|
+
type: 'unlocked';
|
|
151
|
+
} | {
|
|
152
|
+
type: 'announce';
|
|
153
|
+
} | {
|
|
154
|
+
type: 'notAnnounce';
|
|
155
|
+
} | {
|
|
156
|
+
type: 'ephemeral';
|
|
157
|
+
expiration: number;
|
|
158
|
+
trigger?: number;
|
|
159
|
+
} | {
|
|
160
|
+
type: 'membershipApprovalMode';
|
|
161
|
+
enabled: boolean;
|
|
162
|
+
} | {
|
|
163
|
+
type: 'memberAddMode';
|
|
164
|
+
mode: string;
|
|
165
|
+
} | {
|
|
166
|
+
type: 'noFrequentlyForwarded';
|
|
167
|
+
} | {
|
|
168
|
+
type: 'frequentlyForwardedOk';
|
|
169
|
+
} | {
|
|
170
|
+
type: 'invite';
|
|
171
|
+
code: string;
|
|
172
|
+
} | {
|
|
173
|
+
type: 'revokeInvite';
|
|
174
|
+
} | {
|
|
175
|
+
type: 'create';
|
|
176
|
+
} | {
|
|
177
|
+
type: 'delete';
|
|
178
|
+
reason?: string;
|
|
179
|
+
} | {
|
|
180
|
+
type: 'link';
|
|
181
|
+
linkType: string;
|
|
182
|
+
} | {
|
|
183
|
+
type: 'unlink';
|
|
184
|
+
unlinkType: string;
|
|
185
|
+
unlinkReason?: string;
|
|
186
|
+
}
|
|
187
|
+
/** Catch-all for action types the adapter doesn't recognize yet. */
|
|
188
|
+
| {
|
|
189
|
+
type: 'unknown';
|
|
190
|
+
rawType: string;
|
|
191
|
+
};
|
|
192
|
+
export interface CanonicalGroupUpdate {
|
|
193
|
+
type: 'groupUpdate';
|
|
194
|
+
groupJid: string;
|
|
195
|
+
author?: string;
|
|
196
|
+
authorPn?: string;
|
|
197
|
+
timestamp: number;
|
|
198
|
+
isLidAddressingMode: boolean;
|
|
199
|
+
action: CanonicalGroupAction;
|
|
200
|
+
}
|
|
201
|
+
export interface CanonicalArchiveUpdate {
|
|
202
|
+
type: 'archiveUpdate';
|
|
203
|
+
jid: string;
|
|
204
|
+
}
|
|
205
|
+
export interface CanonicalPinUpdate {
|
|
206
|
+
type: 'pinUpdate';
|
|
207
|
+
jid: string;
|
|
208
|
+
timestamp?: number;
|
|
209
|
+
}
|
|
210
|
+
export interface CanonicalMuteUpdate {
|
|
211
|
+
type: 'muteUpdate';
|
|
212
|
+
jid: string;
|
|
213
|
+
timestamp?: number;
|
|
214
|
+
}
|
|
215
|
+
export interface CanonicalStarUpdate {
|
|
216
|
+
type: 'starUpdate';
|
|
217
|
+
chatJid: string;
|
|
218
|
+
messageId: string;
|
|
219
|
+
fromMe: boolean;
|
|
220
|
+
participantJid?: string;
|
|
221
|
+
starred: boolean;
|
|
222
|
+
}
|
|
223
|
+
export interface CanonicalMarkChatAsReadUpdate {
|
|
224
|
+
type: 'markChatAsReadUpdate';
|
|
225
|
+
jid: string;
|
|
226
|
+
}
|
|
227
|
+
export type CanonicalCallActionType = 'offer' | 'preAccept' | 'accept' | 'reject' | 'terminate';
|
|
228
|
+
export interface CanonicalCallAction {
|
|
229
|
+
type: CanonicalCallActionType;
|
|
230
|
+
callId: string;
|
|
231
|
+
/** Only populated when `type === 'offer'`. */
|
|
232
|
+
callerPn?: string;
|
|
233
|
+
/** Only populated when `type === 'offer'`. */
|
|
234
|
+
isVideo?: boolean;
|
|
235
|
+
}
|
|
236
|
+
export interface CanonicalIncomingCall {
|
|
237
|
+
type: 'incomingCall';
|
|
238
|
+
from: string;
|
|
239
|
+
timestamp: number;
|
|
240
|
+
offline: boolean;
|
|
241
|
+
action: CanonicalCallAction;
|
|
242
|
+
}
|
|
243
|
+
export interface CanonicalUndecryptableMessage {
|
|
244
|
+
type: 'undecryptableMessage';
|
|
245
|
+
raw: unknown;
|
|
246
|
+
}
|
|
247
|
+
export interface CanonicalRawNode {
|
|
248
|
+
type: 'rawNode';
|
|
249
|
+
node: BinaryNode;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Generic `<notification>` carrier (the catch-all `Event::Notification`).
|
|
253
|
+
* Mostly used for raw-tag dispatch (CB:* hooks) — the typed events above
|
|
254
|
+
* already cover the well-known stanza variants.
|
|
255
|
+
*/
|
|
256
|
+
export interface CanonicalNotification {
|
|
257
|
+
type: 'notification';
|
|
258
|
+
tag: string;
|
|
259
|
+
attrs: Record<string, string>;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Bridge events we acknowledge but don't translate to a Baileys event.
|
|
263
|
+
* Keeping them in the canonical union makes the events.ts switch
|
|
264
|
+
* exhaustive — adding a new `noop` variant requires a deliberate edit.
|
|
265
|
+
*/
|
|
266
|
+
export interface CanonicalNoop {
|
|
267
|
+
type: 'noop';
|
|
268
|
+
bridgeType: string;
|
|
269
|
+
/** Optional context for logging only. */
|
|
270
|
+
detail?: string;
|
|
271
|
+
}
|
|
272
|
+
export type CanonicalEvent = CanonicalConnected | CanonicalDisconnected | CanonicalQR | CanonicalPairSuccess | CanonicalPairError | CanonicalLoggedOut | CanonicalConnectFailure | CanonicalStreamError | CanonicalStreamReplaced | CanonicalClientOutdated | CanonicalTemporaryBan | CanonicalQrScannedWithoutMultidevice | CanonicalMessage | CanonicalReceipt | CanonicalPushNameUpdate | CanonicalContactUpdate | CanonicalPictureUpdate | CanonicalPresence | CanonicalChatPresence | CanonicalGroupUpdate | CanonicalArchiveUpdate | CanonicalPinUpdate | CanonicalMuteUpdate | CanonicalStarUpdate | CanonicalMarkChatAsReadUpdate | CanonicalIncomingCall | CanonicalUndecryptableMessage | CanonicalRawNode | CanonicalNotification | CanonicalNoop;
|
|
273
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Bridge/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical event types — what baileyrs OWNS as its contract with the bridge.
|
|
3
|
+
*
|
|
4
|
+
* Adapters in this folder convert raw bridge payloads into these shapes; all
|
|
5
|
+
* downstream code consumes these instead of touching `WhatsAppEvent.data`
|
|
6
|
+
* directly. This is the anti-corruption layer that keeps drift in the bridge
|
|
7
|
+
* (renamed fields, leaked enum casing, ISO-vs-unix timestamps, etc.) from
|
|
8
|
+
* leaking into our domain code.
|
|
9
|
+
*
|
|
10
|
+
* Naming conventions:
|
|
11
|
+
* - Discriminator (`type`) is camelCase — matches Baileys event names.
|
|
12
|
+
* - All JIDs are device-stripped strings (`user@server`).
|
|
13
|
+
* - All timestamps are unix seconds.
|
|
14
|
+
* - Optional fields use `?` (omitted) rather than `null`.
|
|
15
|
+
*/
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/Bridge/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Defaults/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,YAAY,EAAa,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Defaults/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,YAAY,EAAa,MAAM,mBAAmB,CAAA;AAMrF,eAAO,MAAM,iBAAiB,qCAAqC,CAAA;AACnE,eAAO,MAAM,iBAAiB,qCAAqC,CAAA;AAEnE,eAAO,MAAM,oBAAoB,QAAmB,CAAA;AAEpD,eAAO,MAAM,SAAS,QAAsF,CAAA;AAE5G,MAAM,MAAM,SAAS,GAClB,OAAO,GACP,OAAO,GACP,OAAO,GACP,UAAU,GACV,SAAS,GACT,gBAAgB,GAChB,uBAAuB,GACvB,cAAc,GACd,aAAa,CAAA;AAEhB,eAAO,MAAM,UAAU,EAAE,SAAS,EAUjC,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,YAYvC,CAAA"}
|
package/lib/Defaults/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Browsers } from
|
|
2
|
-
import logger from
|
|
1
|
+
import { Browsers } from "../Utils/browser-utils.js";
|
|
2
|
+
import logger from "../Utils/logger.js";
|
|
3
3
|
const version = [2, 3000, 1035194821];
|
|
4
4
|
export const CALL_VIDEO_PREFIX = 'https://call.whatsapp.com/video/';
|
|
5
5
|
export const CALL_AUDIO_PREFIX = 'https://call.whatsapp.com/voice/';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Defaults/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Defaults/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,MAAM,MAAM,oBAAoB,CAAA;AAEvC,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;AAErC,MAAM,CAAC,MAAM,iBAAiB,GAAG,kCAAkC,CAAA;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,kCAAkC,CAAA;AAEnE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AAEpD,MAAM,CAAC,MAAM,SAAS,GAAG,mFAAmF,CAAA;AAa5G,MAAM,CAAC,MAAM,UAAU,GAAgB;IACtC,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,SAAS;IACT,gBAAgB;IAChB,uBAAuB;IACvB,cAAc;IACd,aAAa;CACb,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAiB;IACtD,OAAO,EAAE,OAAoB;IAC7B,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;IACjC,cAAc,EAAE,gCAAgC;IAChD,gBAAgB,EAAE,KAAM;IACxB,mBAAmB,EAAE,KAAM;IAC3B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC1C,aAAa,EAAE,IAAI;IACnB,qBAAqB,EAAE,KAAM;IAC7B,IAAI,EAAE,SAA2C;IACjD,eAAe,EAAE,GAAG,EAAE,CAAC,KAAK;IAC5B,OAAO,EAAE,EAAE;CACX,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocking.d.ts","sourceRoot":"","sources":["../../src/Socket/blocking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"blocking.d.ts","sourceRoot":"","sources":["../../src/Socket/blocking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,eAAO,MAAM,mBAAmB,GAAI,KAAK,aAAa;6BACtB,MAAM,UAAU,OAAO,GAAG,SAAS;;CAOjE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-actions.d.ts","sourceRoot":"","sources":["../../src/Socket/chat-actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"chat-actions.d.ts","sourceRoot":"","sources":["../../src/Socket/chat-actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,eAAO,MAAM,qBAAqB,GAAI,KAAK,aAAa;mBAClC,MAAM,OAAO,OAAO;oBAInB,MAAM,cAAc,MAAM,GAAG,IAAI;uBAI9B,MAAM,WAAW,OAAO;uBAIxB,MAAM,aAAa,MAAM,QAAQ,OAAO;IAIjE;;;;;;OAMG;sBACqB,gBAAgB,OAAO,MAAM;IAgCrD;;;;;;OAMG;oCACmC,SAAS,WAAW,EAAE,mBAAmB,OAAO;IAItF;;;;;OAKG;0CACyC,MAAM,EAAE;CAMnD,CAAA"}
|
package/lib/Socket/contacts.d.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import type { SocketContext } from './types.js';
|
|
2
|
+
export type OnWhatsAppResult = {
|
|
3
|
+
exists: boolean;
|
|
4
|
+
jid: string;
|
|
5
|
+
lid?: string;
|
|
6
|
+
/** PN counterpart, present when the server returned a LID as primary JID. */
|
|
7
|
+
pnJid?: string;
|
|
8
|
+
isBusiness?: boolean;
|
|
9
|
+
};
|
|
2
10
|
export declare const makeContactMethods: (ctx: SocketContext) => {
|
|
3
|
-
onWhatsApp: (...jids: string[]) => Promise<
|
|
4
|
-
exists: boolean;
|
|
5
|
-
jid: string;
|
|
6
|
-
}[]>;
|
|
11
|
+
onWhatsApp: (...jids: string[]) => Promise<OnWhatsAppResult[]>;
|
|
7
12
|
profilePictureUrl: (jid: string, type?: "preview" | "image") => Promise<string | undefined>;
|
|
8
13
|
fetchUserInfo: (...jids: string[]) => Promise<Record<string, import("whatsapp-rust-bridge").UserInfoResult>>;
|
|
9
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/Socket/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/Socket/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,KAAK,aAAa;0BACxB,MAAM,EAAE,KAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;6BAanC,MAAM,SAAQ,SAAS,GAAG,OAAO;6BAKjC,MAAM,EAAE;CAGtC,CAAA"}
|
package/lib/Socket/contacts.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
export const makeContactMethods = (ctx) => ({
|
|
2
2
|
onWhatsApp: async (...jids) => {
|
|
3
3
|
const client = await ctx.getClient();
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
// Single batched usync — the bridge splits PN/LID inputs internally and
|
|
5
|
+
// returns lid/pnJid/isBusiness in the same payload, so no secondary IQ.
|
|
6
|
+
const results = await client.isOnWhatsApp(jids);
|
|
7
|
+
return results.map(r => {
|
|
8
|
+
const out = { exists: r.isRegistered, jid: r.jid, isBusiness: r.isBusiness };
|
|
9
|
+
if (r.lid)
|
|
10
|
+
out.lid = r.lid;
|
|
11
|
+
if (r.pnJid)
|
|
12
|
+
out.pnJid = r.pnJid;
|
|
13
|
+
return out;
|
|
14
|
+
});
|
|
12
15
|
},
|
|
13
16
|
profilePictureUrl: async (jid, type = 'preview') => {
|
|
14
17
|
const result = await (await ctx.getClient()).profilePictureUrl(jid, type);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/Socket/contacts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/Socket/contacts.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAkB,EAAE,EAAE,CAAC,CAAC;IAC1D,UAAU,EAAE,KAAK,EAAE,GAAG,IAAc,EAA+B,EAAE;QACpE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,EAAE,CAAA;QACpC,wEAAwE;QACxE,wEAAwE;QACxE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAC/C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACtB,MAAM,GAAG,GAAqB,EAAE,MAAM,EAAE,CAAC,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAA;YAC9F,IAAI,CAAC,CAAC,GAAG;gBAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAA;YAC1B,IAAI,CAAC,CAAC,KAAK;gBAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;YAChC,OAAO,GAAG,CAAA;QACX,CAAC,CAAC,CAAA;IACH,CAAC;IAED,iBAAiB,EAAE,KAAK,EAAE,GAAW,EAAE,OAA4B,SAAS,EAAE,EAAE;QAC/E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACzE,OAAO,MAAM,EAAE,GAAG,CAAA;IACnB,CAAC;IAED,aAAa,EAAE,KAAK,EAAE,GAAG,IAAc,EAAE,EAAE;QAC1C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IACzD,CAAC;CACD,CAAC,CAAA"}
|
package/lib/Socket/events.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { WhatsAppEvent } from 'whatsapp-rust-bridge';
|
|
2
2
|
import type { SocketContext } from './types.js';
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* Create the event handler that translates canonical events into Baileys
|
|
5
|
+
* events on `ctx.ev`. The handler does NO bridge-shape inspection — that's
|
|
6
|
+
* the adapter's job. Any field-access here references the canonical types
|
|
7
|
+
* exclusively, which means a `tsc` failure if a downstream rename ever
|
|
8
|
+
* leaks into the canonical contract.
|
|
9
|
+
*/
|
|
4
10
|
export declare const makeEventHandler: (ctx: SocketContext, callbacks?: {
|
|
5
11
|
onPairSuccess?: (data: {
|
|
6
12
|
platform?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/Socket/events.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/Socket/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAgBzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAgD/C;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC5B,KAAK,aAAa,EAClB,YAAY;IACX,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CAC5E,MA0OO,OAAO,aAAa,SAK5B,CAAA"}
|