@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.
Files changed (159) hide show
  1. package/README.md +119 -5
  2. package/lib/Bridge/__tests__/adapt.test.d.ts +2 -0
  3. package/lib/Bridge/__tests__/adapt.test.d.ts.map +1 -0
  4. package/lib/Bridge/__tests__/adapt.test.js +355 -0
  5. package/lib/Bridge/__tests__/adapt.test.js.map +1 -0
  6. package/lib/Bridge/__tests__/dts-drift.test.d.ts +13 -0
  7. package/lib/Bridge/__tests__/dts-drift.test.d.ts.map +1 -0
  8. package/lib/Bridge/__tests__/dts-drift.test.js +92 -0
  9. package/lib/Bridge/__tests__/dts-drift.test.js.map +1 -0
  10. package/lib/Bridge/__tests__/fixtures.d.ts +192 -0
  11. package/lib/Bridge/__tests__/fixtures.d.ts.map +1 -0
  12. package/lib/Bridge/__tests__/fixtures.js +99 -0
  13. package/lib/Bridge/__tests__/fixtures.js.map +1 -0
  14. package/lib/Bridge/adapt.d.ts +28 -0
  15. package/lib/Bridge/adapt.d.ts.map +1 -0
  16. package/lib/Bridge/adapt.js +504 -0
  17. package/lib/Bridge/adapt.js.map +1 -0
  18. package/lib/Bridge/index.d.ts +12 -0
  19. package/lib/Bridge/index.d.ts.map +1 -0
  20. package/lib/Bridge/index.js +12 -0
  21. package/lib/Bridge/index.js.map +1 -0
  22. package/lib/Bridge/primitives.d.ts +56 -0
  23. package/lib/Bridge/primitives.d.ts.map +1 -0
  24. package/lib/Bridge/primitives.js +58 -0
  25. package/lib/Bridge/primitives.js.map +1 -0
  26. package/lib/Bridge/types.d.ts +273 -0
  27. package/lib/Bridge/types.d.ts.map +1 -0
  28. package/lib/Bridge/types.js +17 -0
  29. package/lib/Bridge/types.js.map +1 -0
  30. package/lib/Defaults/index.d.ts.map +1 -1
  31. package/lib/Defaults/index.js +2 -2
  32. package/lib/Defaults/index.js.map +1 -1
  33. package/lib/Socket/blocking.d.ts.map +1 -1
  34. package/lib/Socket/chat-actions.d.ts.map +1 -1
  35. package/lib/Socket/contacts.d.ts +9 -4
  36. package/lib/Socket/contacts.d.ts.map +1 -1
  37. package/lib/Socket/contacts.js +11 -8
  38. package/lib/Socket/contacts.js.map +1 -1
  39. package/lib/Socket/events.d.ts +7 -1
  40. package/lib/Socket/events.d.ts.map +1 -1
  41. package/lib/Socket/events.js +212 -243
  42. package/lib/Socket/events.js.map +1 -1
  43. package/lib/Socket/group-notifications.d.ts +25 -0
  44. package/lib/Socket/group-notifications.d.ts.map +1 -0
  45. package/lib/Socket/group-notifications.js +162 -0
  46. package/lib/Socket/group-notifications.js.map +1 -0
  47. package/lib/Socket/groups.d.ts +12 -1
  48. package/lib/Socket/groups.d.ts.map +1 -1
  49. package/lib/Socket/groups.js +44 -1
  50. package/lib/Socket/groups.js.map +1 -1
  51. package/lib/Socket/index.d.ts +47 -13
  52. package/lib/Socket/index.d.ts.map +1 -1
  53. package/lib/Socket/index.js +158 -24
  54. package/lib/Socket/index.js.map +1 -1
  55. package/lib/Socket/messages.d.ts +5 -2
  56. package/lib/Socket/messages.d.ts.map +1 -1
  57. package/lib/Socket/messages.js +42 -21
  58. package/lib/Socket/messages.js.map +1 -1
  59. package/lib/Socket/newsletter.d.ts.map +1 -1
  60. package/lib/Socket/presence.d.ts.map +1 -1
  61. package/lib/Socket/profile.d.ts +7 -1
  62. package/lib/Socket/profile.d.ts.map +1 -1
  63. package/lib/Socket/profile.js +20 -5
  64. package/lib/Socket/profile.js.map +1 -1
  65. package/lib/Socket/transport.d.ts.map +1 -1
  66. package/lib/Socket/transport.js +14 -13
  67. package/lib/Socket/transport.js.map +1 -1
  68. package/lib/Socket/types.d.ts.map +1 -1
  69. package/lib/Types/Auth.d.ts +1 -1
  70. package/lib/Types/Auth.d.ts.map +1 -1
  71. package/lib/Types/Bussines.d.ts +1 -1
  72. package/lib/Types/Bussines.d.ts.map +1 -1
  73. package/lib/Types/Chat.d.ts +1 -1
  74. package/lib/Types/Chat.d.ts.map +1 -1
  75. package/lib/Types/Events.d.ts +12 -3
  76. package/lib/Types/Events.d.ts.map +1 -1
  77. package/lib/Types/Events.js +1 -1
  78. package/lib/Types/Events.js.map +1 -1
  79. package/lib/Types/GroupMetadata.d.ts.map +1 -1
  80. package/lib/Types/Message.d.ts +16 -1
  81. package/lib/Types/Message.d.ts.map +1 -1
  82. package/lib/Types/Message.js +1 -1
  83. package/lib/Types/Message.js.map +1 -1
  84. package/lib/Types/Socket.d.ts +42 -1
  85. package/lib/Types/Socket.d.ts.map +1 -1
  86. package/lib/Types/State.d.ts +1 -1
  87. package/lib/Types/State.d.ts.map +1 -1
  88. package/lib/Types/index.d.ts +1 -1
  89. package/lib/Types/index.d.ts.map +1 -1
  90. package/lib/Types/index.js +17 -12
  91. package/lib/Types/index.js.map +1 -1
  92. package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.d.ts +23 -0
  93. package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.d.ts.map +1 -0
  94. package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.js +157 -0
  95. package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.js.map +1 -0
  96. package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.d.ts +31 -0
  97. package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.d.ts.map +1 -0
  98. package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.js +253 -0
  99. package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.js.map +1 -0
  100. package/lib/Utils/__tests__/wrap-legacy-store-session.test.d.ts +32 -0
  101. package/lib/Utils/__tests__/wrap-legacy-store-session.test.d.ts.map +1 -0
  102. package/lib/Utils/__tests__/wrap-legacy-store-session.test.js +488 -0
  103. package/lib/Utils/__tests__/wrap-legacy-store-session.test.js.map +1 -0
  104. package/lib/Utils/boom.d.ts +33 -0
  105. package/lib/Utils/boom.d.ts.map +1 -0
  106. package/lib/Utils/boom.js +63 -0
  107. package/lib/Utils/boom.js.map +1 -0
  108. package/lib/Utils/browser-utils.d.ts.map +1 -1
  109. package/lib/Utils/event-buffer.d.ts.map +1 -1
  110. package/lib/Utils/generics.d.ts +37 -1
  111. package/lib/Utils/generics.d.ts.map +1 -1
  112. package/lib/Utils/generics.js +60 -2
  113. package/lib/Utils/generics.js.map +1 -1
  114. package/lib/Utils/index.d.ts +1 -0
  115. package/lib/Utils/index.d.ts.map +1 -1
  116. package/lib/Utils/index.js +10 -9
  117. package/lib/Utils/index.js.map +1 -1
  118. package/lib/Utils/lid-mapping-store.d.ts +81 -0
  119. package/lib/Utils/lid-mapping-store.d.ts.map +1 -0
  120. package/lib/Utils/lid-mapping-store.js +126 -0
  121. package/lib/Utils/lid-mapping-store.js.map +1 -0
  122. package/lib/Utils/logger.d.ts.map +1 -1
  123. package/lib/Utils/logger.js +25 -1
  124. package/lib/Utils/logger.js.map +1 -1
  125. package/lib/Utils/messages-media.d.ts.map +1 -1
  126. package/lib/Utils/messages-media.js +1 -1
  127. package/lib/Utils/messages-media.js.map +1 -1
  128. package/lib/Utils/messages.d.ts +30 -1
  129. package/lib/Utils/messages.d.ts.map +1 -1
  130. package/lib/Utils/messages.js +115 -41
  131. package/lib/Utils/messages.js.map +1 -1
  132. package/lib/Utils/native-crypto-provider.d.ts +18 -0
  133. package/lib/Utils/native-crypto-provider.d.ts.map +1 -0
  134. package/lib/Utils/native-crypto-provider.js +67 -0
  135. package/lib/Utils/native-crypto-provider.js.map +1 -0
  136. package/lib/Utils/use-bridge-store.d.ts.map +1 -1
  137. package/lib/Utils/use-memory-store.d.ts.map +1 -1
  138. package/lib/Utils/use-memory-store.js +1 -1
  139. package/lib/Utils/use-memory-store.js.map +1 -1
  140. package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -1
  141. package/lib/Utils/use-multi-file-auth-state.js +1 -1
  142. package/lib/Utils/use-multi-file-auth-state.js.map +1 -1
  143. package/lib/Utils/wrap-legacy-store.d.ts.map +1 -1
  144. package/lib/Utils/wrap-legacy-store.js +621 -13
  145. package/lib/Utils/wrap-legacy-store.js.map +1 -1
  146. package/lib/WABinary/index.d.ts.map +1 -1
  147. package/lib/WABinary/index.js +1 -1
  148. package/lib/WABinary/index.js.map +1 -1
  149. package/lib/__tests__/expect.d.ts +30 -0
  150. package/lib/__tests__/expect.d.ts.map +1 -0
  151. package/lib/__tests__/expect.js +60 -0
  152. package/lib/__tests__/expect.js.map +1 -0
  153. package/lib/index.d.ts +1 -1
  154. package/lib/index.d.ts.map +1 -1
  155. package/lib/index.js +9 -6
  156. package/lib/index.js.map +1 -1
  157. package/package.json +30 -25
  158. package/WAProto/index.d.ts +0 -13875
  159. package/WAProto/index.js +0 -175
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dts-drift.test.js","sourceRoot":"","sources":["../../../src/Bridge/__tests__/dts-drift.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,192 @@
1
+ /**
2
+ * Real bridge payloads kept verbatim. The PascalCase ones reproduce a
3
+ * legacy-bridge serializer bug (variant names leaked instead of wire tags);
4
+ * the `*WireFixture` ones reproduce what the bridge emits today (the literal
5
+ * XML tag). Both must adapt to the same canonical event.
6
+ */
7
+ export declare const groupDemotePascalFixture: {
8
+ readonly type: "group_update";
9
+ readonly data: {
10
+ readonly group_jid: {
11
+ readonly user: "120363040237990503";
12
+ readonly server: "g.us";
13
+ readonly agent: 0;
14
+ readonly device: 0;
15
+ readonly integrator: 0;
16
+ };
17
+ readonly participant: {
18
+ readonly user: "236395184570386";
19
+ readonly server: "lid";
20
+ readonly agent: 1;
21
+ readonly device: 0;
22
+ readonly integrator: 0;
23
+ };
24
+ readonly participant_pn: {
25
+ readonly user: "559984726662";
26
+ readonly server: "s.whatsapp.net";
27
+ readonly agent: 0;
28
+ readonly device: 0;
29
+ readonly integrator: 0;
30
+ };
31
+ readonly timestamp: "2026-04-18T05:45:46Z";
32
+ readonly is_lid_addressing_mode: true;
33
+ readonly action: {
34
+ readonly type: "Demote";
35
+ readonly participants: readonly [{
36
+ readonly jid: {
37
+ readonly user: "65546133500078";
38
+ readonly server: "lid";
39
+ readonly agent: 1;
40
+ readonly device: 0;
41
+ readonly integrator: 0;
42
+ };
43
+ readonly phone_number: {
44
+ readonly user: "559984246891";
45
+ readonly server: "s.whatsapp.net";
46
+ readonly agent: 0;
47
+ readonly device: 0;
48
+ readonly integrator: 0;
49
+ };
50
+ }];
51
+ };
52
+ };
53
+ };
54
+ export declare const groupPromotePascalFixture: {
55
+ readonly type: "group_update";
56
+ readonly data: {
57
+ readonly group_jid: {
58
+ readonly user: "120363040237990503";
59
+ readonly server: "g.us";
60
+ readonly agent: 0;
61
+ readonly device: 0;
62
+ readonly integrator: 0;
63
+ };
64
+ readonly participant: {
65
+ readonly user: "236395184570386";
66
+ readonly server: "lid";
67
+ readonly agent: 1;
68
+ readonly device: 0;
69
+ readonly integrator: 0;
70
+ };
71
+ readonly participant_pn: {
72
+ readonly user: "559984726662";
73
+ readonly server: "s.whatsapp.net";
74
+ readonly agent: 0;
75
+ readonly device: 0;
76
+ readonly integrator: 0;
77
+ };
78
+ readonly timestamp: "2026-04-18T05:45:49Z";
79
+ readonly is_lid_addressing_mode: true;
80
+ readonly action: {
81
+ readonly type: "Promote";
82
+ readonly participants: readonly [{
83
+ readonly jid: {
84
+ readonly user: "65546133500078";
85
+ readonly server: "lid";
86
+ readonly agent: 1;
87
+ readonly device: 0;
88
+ readonly integrator: 0;
89
+ };
90
+ readonly phone_number: {
91
+ readonly user: "559984246891";
92
+ readonly server: "s.whatsapp.net";
93
+ readonly agent: 0;
94
+ readonly device: 0;
95
+ readonly integrator: 0;
96
+ };
97
+ }];
98
+ };
99
+ };
100
+ };
101
+ export declare const groupDemoteWireFixture: {
102
+ readonly type: "group_update";
103
+ readonly data: {
104
+ readonly group_jid: {
105
+ readonly user: "120363040237990503";
106
+ readonly server: "g.us";
107
+ };
108
+ readonly participant: {
109
+ readonly user: "236395184570386";
110
+ readonly server: "lid";
111
+ };
112
+ readonly participant_pn: {
113
+ readonly user: "559984726662";
114
+ readonly server: "s.whatsapp.net";
115
+ };
116
+ readonly timestamp: 1776490677;
117
+ readonly is_lid_addressing_mode: true;
118
+ readonly action: {
119
+ readonly type: "demote";
120
+ readonly participants: readonly [{
121
+ readonly jid: {
122
+ readonly user: "65546133500078";
123
+ readonly server: "lid";
124
+ };
125
+ readonly phone_number: {
126
+ readonly user: "559984246891";
127
+ readonly server: "s.whatsapp.net";
128
+ };
129
+ }];
130
+ };
131
+ };
132
+ };
133
+ /**
134
+ * `Announce`/`NotAnnounce`/`RevokeInvite` are regression targets: the rust
135
+ * variant names diverge from the wire tags (`announcement`/`not_announcement`/
136
+ * `revoke`).
137
+ */
138
+ export declare const groupAnnouncementWireFixture: {
139
+ readonly type: "group_update";
140
+ readonly data: {
141
+ readonly group_jid: {
142
+ readonly user: "120363040237990503";
143
+ readonly server: "g.us";
144
+ };
145
+ readonly participant: {
146
+ readonly user: "236395184570386";
147
+ readonly server: "lid";
148
+ };
149
+ readonly timestamp: 1776490700;
150
+ readonly is_lid_addressing_mode: true;
151
+ readonly action: {
152
+ readonly type: "announcement";
153
+ };
154
+ };
155
+ };
156
+ export declare const groupNotAnnouncementWireFixture: {
157
+ readonly type: "group_update";
158
+ readonly data: {
159
+ readonly group_jid: {
160
+ readonly user: "120363040237990503";
161
+ readonly server: "g.us";
162
+ };
163
+ readonly participant: {
164
+ readonly user: "236395184570386";
165
+ readonly server: "lid";
166
+ };
167
+ readonly timestamp: 1776490701;
168
+ readonly is_lid_addressing_mode: true;
169
+ readonly action: {
170
+ readonly type: "not_announcement";
171
+ };
172
+ };
173
+ };
174
+ export declare const groupRevokeWireFixture: {
175
+ readonly type: "group_update";
176
+ readonly data: {
177
+ readonly group_jid: {
178
+ readonly user: "120363040237990503";
179
+ readonly server: "g.us";
180
+ };
181
+ readonly participant: {
182
+ readonly user: "236395184570386";
183
+ readonly server: "lid";
184
+ };
185
+ readonly timestamp: 1776490702;
186
+ readonly is_lid_addressing_mode: true;
187
+ readonly action: {
188
+ readonly type: "revoke";
189
+ };
190
+ };
191
+ };
192
+ //# sourceMappingURL=fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../src/Bridge/__tests__/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB3B,CAAA;AAEV,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB5B,CAAA;AAEV,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBzB,CAAA;AAEV;;;;GAIG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;CAS/B,CAAA;AAEV,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;CASlC,CAAA;AAEV,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;CASzB,CAAA"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Real bridge payloads kept verbatim. The PascalCase ones reproduce a
3
+ * legacy-bridge serializer bug (variant names leaked instead of wire tags);
4
+ * the `*WireFixture` ones reproduce what the bridge emits today (the literal
5
+ * XML tag). Both must adapt to the same canonical event.
6
+ */
7
+ export const groupDemotePascalFixture = {
8
+ type: 'group_update',
9
+ data: {
10
+ group_jid: { user: '120363040237990503', server: 'g.us', agent: 0, device: 0, integrator: 0 },
11
+ participant: { user: '236395184570386', server: 'lid', agent: 1, device: 0, integrator: 0 },
12
+ participant_pn: { user: '559984726662', server: 's.whatsapp.net', agent: 0, device: 0, integrator: 0 },
13
+ timestamp: '2026-04-18T05:45:46Z',
14
+ is_lid_addressing_mode: true,
15
+ action: {
16
+ type: 'Demote',
17
+ participants: [
18
+ {
19
+ jid: { user: '65546133500078', server: 'lid', agent: 1, device: 0, integrator: 0 },
20
+ phone_number: { user: '559984246891', server: 's.whatsapp.net', agent: 0, device: 0, integrator: 0 }
21
+ }
22
+ ]
23
+ }
24
+ }
25
+ };
26
+ export const groupPromotePascalFixture = {
27
+ type: 'group_update',
28
+ data: {
29
+ group_jid: { user: '120363040237990503', server: 'g.us', agent: 0, device: 0, integrator: 0 },
30
+ participant: { user: '236395184570386', server: 'lid', agent: 1, device: 0, integrator: 0 },
31
+ participant_pn: { user: '559984726662', server: 's.whatsapp.net', agent: 0, device: 0, integrator: 0 },
32
+ timestamp: '2026-04-18T05:45:49Z',
33
+ is_lid_addressing_mode: true,
34
+ action: {
35
+ type: 'Promote',
36
+ participants: [
37
+ {
38
+ jid: { user: '65546133500078', server: 'lid', agent: 1, device: 0, integrator: 0 },
39
+ phone_number: { user: '559984246891', server: 's.whatsapp.net', agent: 0, device: 0, integrator: 0 }
40
+ }
41
+ ]
42
+ }
43
+ }
44
+ };
45
+ export const groupDemoteWireFixture = {
46
+ type: 'group_update',
47
+ data: {
48
+ group_jid: { user: '120363040237990503', server: 'g.us' },
49
+ participant: { user: '236395184570386', server: 'lid' },
50
+ participant_pn: { user: '559984726662', server: 's.whatsapp.net' },
51
+ timestamp: 1776490677,
52
+ is_lid_addressing_mode: true,
53
+ action: {
54
+ type: 'demote',
55
+ participants: [
56
+ {
57
+ jid: { user: '65546133500078', server: 'lid' },
58
+ phone_number: { user: '559984246891', server: 's.whatsapp.net' }
59
+ }
60
+ ]
61
+ }
62
+ }
63
+ };
64
+ /**
65
+ * `Announce`/`NotAnnounce`/`RevokeInvite` are regression targets: the rust
66
+ * variant names diverge from the wire tags (`announcement`/`not_announcement`/
67
+ * `revoke`).
68
+ */
69
+ export const groupAnnouncementWireFixture = {
70
+ type: 'group_update',
71
+ data: {
72
+ group_jid: { user: '120363040237990503', server: 'g.us' },
73
+ participant: { user: '236395184570386', server: 'lid' },
74
+ timestamp: 1776490700,
75
+ is_lid_addressing_mode: true,
76
+ action: { type: 'announcement' }
77
+ }
78
+ };
79
+ export const groupNotAnnouncementWireFixture = {
80
+ type: 'group_update',
81
+ data: {
82
+ group_jid: { user: '120363040237990503', server: 'g.us' },
83
+ participant: { user: '236395184570386', server: 'lid' },
84
+ timestamp: 1776490701,
85
+ is_lid_addressing_mode: true,
86
+ action: { type: 'not_announcement' }
87
+ }
88
+ };
89
+ export const groupRevokeWireFixture = {
90
+ type: 'group_update',
91
+ data: {
92
+ group_jid: { user: '120363040237990503', server: 'g.us' },
93
+ participant: { user: '236395184570386', server: 'lid' },
94
+ timestamp: 1776490702,
95
+ is_lid_addressing_mode: true,
96
+ action: { type: 'revoke' }
97
+ }
98
+ };
99
+ //# sourceMappingURL=fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../../src/Bridge/__tests__/fixtures.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Anti-corruption layer between the bridge runtime and baileyrs domain code.
3
+ *
4
+ * Every inbound bridge event flows through `adaptBridgeEvent`, which returns
5
+ * a strictly-typed `CanonicalEvent` (or `null` when the payload is malformed
6
+ * past recovery). Downstream code (notably `Socket/events.ts`) consumes the
7
+ * canonical union exclusively — no `event.data as Whatever` casts, no
8
+ * defensive optional chains, no implicit knowledge of how serde happens to
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.
15
+ */
16
+ import type { WhatsAppEvent } from 'whatsapp-rust-bridge';
17
+ import type { ILogger } from '../Utils/logger.js';
18
+ import type { CanonicalEvent } from './types.js';
19
+ /**
20
+ * Every bridge event type the adapter explicitly handles. Source of truth
21
+ * for drift detection — `dts-drift.test.ts` cross-checks this against the
22
+ * actual `WhatsAppEvent` union shipped by the bridge's `.d.ts`. Any new
23
+ * `case` in `adaptBridgeEvent` below must also appear here.
24
+ */
25
+ export declare const KNOWN_BRIDGE_EVENT_TYPES: Set<string>;
26
+ /** Result is `null` on unrecoverable shape mismatch — caller should drop the event. */
27
+ export declare const adaptBridgeEvent: (event: WhatsAppEvent, logger?: ILogger) => CanonicalEvent | null;
28
+ //# sourceMappingURL=adapt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapt.d.ts","sourceRoot":"","sources":["../../src/Bridge/adapt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAGX,cAAc,EAGd,MAAM,YAAY,CAAA;AAanB;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,aAyDnC,CAAA;AAEF,uFAAuF;AACvF,eAAO,MAAM,gBAAgB,GAAI,OAAO,aAAa,EAAE,SAAS,OAAO,KAAG,cAAc,GAAG,IAsL1F,CAAA"}