@kangwifi-pro/waliwa 1.0.0

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 (144) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +600 -0
  3. package/dist/advanced/features.d.ts +211 -0
  4. package/dist/advanced/features.d.ts.map +1 -0
  5. package/dist/advanced/features.js +671 -0
  6. package/dist/advanced/features.js.map +1 -0
  7. package/dist/auth/auth-state.d.ts +89 -0
  8. package/dist/auth/auth-state.d.ts.map +1 -0
  9. package/dist/auth/auth-state.js +330 -0
  10. package/dist/auth/auth-state.js.map +1 -0
  11. package/dist/auth/pairing-code.d.ts +78 -0
  12. package/dist/auth/pairing-code.d.ts.map +1 -0
  13. package/dist/auth/pairing-code.js +191 -0
  14. package/dist/auth/pairing-code.js.map +1 -0
  15. package/dist/auth/qr-code.d.ts +60 -0
  16. package/dist/auth/qr-code.d.ts.map +1 -0
  17. package/dist/auth/qr-code.js +151 -0
  18. package/dist/auth/qr-code.js.map +1 -0
  19. package/dist/calls/handler.d.ts +61 -0
  20. package/dist/calls/handler.d.ts.map +1 -0
  21. package/dist/calls/handler.js +117 -0
  22. package/dist/calls/handler.js.map +1 -0
  23. package/dist/core/binary.d.ts +74 -0
  24. package/dist/core/binary.d.ts.map +1 -0
  25. package/dist/core/binary.js +448 -0
  26. package/dist/core/binary.js.map +1 -0
  27. package/dist/core/crypto.d.ts +60 -0
  28. package/dist/core/crypto.d.ts.map +1 -0
  29. package/dist/core/crypto.js +170 -0
  30. package/dist/core/crypto.js.map +1 -0
  31. package/dist/core/noise.d.ts +106 -0
  32. package/dist/core/noise.d.ts.map +1 -0
  33. package/dist/core/noise.js +307 -0
  34. package/dist/core/noise.js.map +1 -0
  35. package/dist/events/emitter.d.ts +44 -0
  36. package/dist/events/emitter.d.ts.map +1 -0
  37. package/dist/events/emitter.js +79 -0
  38. package/dist/events/emitter.js.map +1 -0
  39. package/dist/features/index.d.ts +342 -0
  40. package/dist/features/index.d.ts.map +1 -0
  41. package/dist/features/index.js +755 -0
  42. package/dist/features/index.js.map +1 -0
  43. package/dist/fixes/index.d.ts +333 -0
  44. package/dist/fixes/index.d.ts.map +1 -0
  45. package/dist/fixes/index.js +762 -0
  46. package/dist/fixes/index.js.map +1 -0
  47. package/dist/groups/management.d.ts +86 -0
  48. package/dist/groups/management.d.ts.map +1 -0
  49. package/dist/groups/management.js +443 -0
  50. package/dist/groups/management.js.map +1 -0
  51. package/dist/index.d.ts +65 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +236 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/messages/media.d.ts +93 -0
  56. package/dist/messages/media.d.ts.map +1 -0
  57. package/dist/messages/media.js +252 -0
  58. package/dist/messages/media.js.map +1 -0
  59. package/dist/messages/message-encoder.d.ts +70 -0
  60. package/dist/messages/message-encoder.d.ts.map +1 -0
  61. package/dist/messages/message-encoder.js +453 -0
  62. package/dist/messages/message-encoder.js.map +1 -0
  63. package/dist/messages/send.d.ts +101 -0
  64. package/dist/messages/send.d.ts.map +1 -0
  65. package/dist/messages/send.js +409 -0
  66. package/dist/messages/send.js.map +1 -0
  67. package/dist/recovery/index.d.ts +125 -0
  68. package/dist/recovery/index.d.ts.map +1 -0
  69. package/dist/recovery/index.js +584 -0
  70. package/dist/recovery/index.js.map +1 -0
  71. package/dist/skdm/index.d.ts +220 -0
  72. package/dist/skdm/index.d.ts.map +1 -0
  73. package/dist/skdm/index.js +600 -0
  74. package/dist/skdm/index.js.map +1 -0
  75. package/dist/socket/hybrid.d.ts +118 -0
  76. package/dist/socket/hybrid.d.ts.map +1 -0
  77. package/dist/socket/hybrid.js +352 -0
  78. package/dist/socket/hybrid.js.map +1 -0
  79. package/dist/socket/wa-socket.d.ts +300 -0
  80. package/dist/socket/wa-socket.d.ts.map +1 -0
  81. package/dist/socket/wa-socket.js +1094 -0
  82. package/dist/socket/wa-socket.js.map +1 -0
  83. package/dist/socket/ws-socket.d.ts +96 -0
  84. package/dist/socket/ws-socket.d.ts.map +1 -0
  85. package/dist/socket/ws-socket.js +302 -0
  86. package/dist/socket/ws-socket.js.map +1 -0
  87. package/dist/types/index.d.ts +444 -0
  88. package/dist/types/index.d.ts.map +1 -0
  89. package/dist/types/index.js +7 -0
  90. package/dist/types/index.js.map +1 -0
  91. package/dist/utils/jid.d.ts +46 -0
  92. package/dist/utils/jid.d.ts.map +1 -0
  93. package/dist/utils/jid.js +152 -0
  94. package/dist/utils/jid.js.map +1 -0
  95. package/dist/utils/logger.d.ts +45 -0
  96. package/dist/utils/logger.d.ts.map +1 -0
  97. package/dist/utils/logger.js +79 -0
  98. package/dist/utils/logger.js.map +1 -0
  99. package/dist/utils/retry.d.ts +43 -0
  100. package/dist/utils/retry.d.ts.map +1 -0
  101. package/dist/utils/retry.js +175 -0
  102. package/dist/utils/retry.js.map +1 -0
  103. package/docs/API.md +745 -0
  104. package/docs/ARCHITECTURE.md +307 -0
  105. package/docs/BAILEYS_FIXES.md +360 -0
  106. package/docs/FEATURES.md +532 -0
  107. package/docs/PROTOCOL.md +489 -0
  108. package/docs/RECOVERY.md +409 -0
  109. package/docs/SKDM.md +233 -0
  110. package/examples/ai-bot/index.ts +479 -0
  111. package/examples/ai-bot/package.json +17 -0
  112. package/examples/echo-bot/index.ts +171 -0
  113. package/examples/echo-bot/package.json +18 -0
  114. package/examples/group-bot/index.ts +557 -0
  115. package/examples/group-bot/package.json +17 -0
  116. package/examples/rest-gateway/index.ts +499 -0
  117. package/examples/rest-gateway/package.json +19 -0
  118. package/package.json +75 -0
  119. package/src/advanced/features.ts +817 -0
  120. package/src/auth/auth-state.ts +342 -0
  121. package/src/auth/pairing-code.ts +246 -0
  122. package/src/auth/qr-code.ts +191 -0
  123. package/src/calls/handler.ts +153 -0
  124. package/src/core/binary.ts +464 -0
  125. package/src/core/crypto.ts +189 -0
  126. package/src/core/noise.ts +406 -0
  127. package/src/events/emitter.ts +88 -0
  128. package/src/features/index.ts +921 -0
  129. package/src/fixes/index.ts +882 -0
  130. package/src/groups/management.ts +497 -0
  131. package/src/index.ts +274 -0
  132. package/src/messages/media.ts +372 -0
  133. package/src/messages/message-encoder.ts +520 -0
  134. package/src/messages/send.ts +521 -0
  135. package/src/recovery/index.ts +704 -0
  136. package/src/skdm/index.ts +693 -0
  137. package/src/socket/hybrid.ts +414 -0
  138. package/src/socket/wa-socket.ts +1347 -0
  139. package/src/socket/ws-socket.ts +355 -0
  140. package/src/types/index.ts +457 -0
  141. package/src/utils/jid.ts +156 -0
  142. package/src/utils/logger.ts +84 -0
  143. package/src/utils/retry.ts +205 -0
  144. package/tsconfig.json +30 -0
@@ -0,0 +1,444 @@
1
+ /**
2
+ * Waliwa - Core Type Definitions
3
+ * Type definitions untuk semua entity WhatsApp (Message, Chat, Group, Call, dll)
4
+ */
5
+ import type { Readable } from 'stream';
6
+ export type JIDServer = 'c.us' | 'g.us' | 's.whatsapp.net' | 'broadcast' | 'call';
7
+ export interface JID {
8
+ user: string;
9
+ server: JIDServer;
10
+ device?: number;
11
+ /** Fully-qualified JID string, e.g. "6281234567890@s.whatsapp.net" */
12
+ toString(): string;
13
+ }
14
+ export type JIDLike = string | JID;
15
+ export type MessageType = 'text' | 'image' | 'video' | 'audio' | 'document' | 'sticker' | 'location' | 'contact' | 'contacts' | 'buttons' | 'list' | 'template' | 'order' | 'product' | 'poll' | 'reaction' | 'revoked' | 'system' | 'unknown';
16
+ export interface MessageContent {
17
+ text?: string;
18
+ caption?: string;
19
+ image?: {
20
+ stream: Readable;
21
+ mimetype: string;
22
+ fileLength?: number;
23
+ };
24
+ video?: {
25
+ stream: Readable;
26
+ mimetype: string;
27
+ seconds?: number;
28
+ gifPlayback?: boolean;
29
+ };
30
+ audio?: {
31
+ stream: Readable;
32
+ mimetype: string;
33
+ seconds?: number;
34
+ ptt?: boolean;
35
+ };
36
+ document?: {
37
+ stream: Readable;
38
+ mimetype: string;
39
+ fileName?: string;
40
+ pageCount?: number;
41
+ };
42
+ sticker?: {
43
+ stream: Readable;
44
+ mimetype: string;
45
+ isAnimated?: boolean;
46
+ };
47
+ location?: {
48
+ degreesLatitude: number;
49
+ degreesLongitude: number;
50
+ name?: string;
51
+ address?: string;
52
+ };
53
+ contact?: {
54
+ displayName: string;
55
+ vcard: string;
56
+ };
57
+ contacts?: {
58
+ displayName: string;
59
+ contacts: Array<{
60
+ displayName: string;
61
+ vcard: string;
62
+ }>;
63
+ };
64
+ poll?: {
65
+ name: string;
66
+ values: string[];
67
+ selectableCounts?: number[];
68
+ toMessage?: MessageContent;
69
+ };
70
+ buttonReply?: {
71
+ selectedDisplayText: string;
72
+ selectedButtonId: string;
73
+ };
74
+ listReply?: {
75
+ title: string;
76
+ description: string;
77
+ singleSelectReply: {
78
+ selectedRowId: string;
79
+ };
80
+ };
81
+ quoted?: WAMessage;
82
+ mentions?: JIDLike[];
83
+ edit?: string;
84
+ ephemeralExpiration?: number;
85
+ viewOnce?: boolean;
86
+ contextInfo?: ContextInfo;
87
+ }
88
+ export interface ContextInfo {
89
+ stanzaId?: string;
90
+ participant?: JIDLike;
91
+ quotedMessage?: Partial<MessageContent>;
92
+ mentionedJid?: string[];
93
+ externalAdReply?: ExternalAdReply;
94
+ forwardingScore?: number;
95
+ isForwarded?: boolean;
96
+ }
97
+ export interface ExternalAdReply {
98
+ title: string;
99
+ body?: string;
100
+ mediaType?: number;
101
+ renderLargerThumbnail?: boolean;
102
+ thumbnail?: Buffer;
103
+ thumbnailUrl?: string;
104
+ sourceUrl?: string;
105
+ sourceId?: string;
106
+ }
107
+ export interface WAMessage {
108
+ key: WAMessageKey;
109
+ message?: MessageContent & {
110
+ [k: string]: any;
111
+ };
112
+ messageTimestamp: number;
113
+ pushName?: string;
114
+ participant?: JIDLike;
115
+ status: MessageStatus;
116
+ ephemeralOutOfSync?: boolean;
117
+ /** Reply info */
118
+ quoted?: WAMessage;
119
+ }
120
+ export interface WAMessageKey {
121
+ remoteJid: JIDLike;
122
+ fromMe: boolean;
123
+ id: string;
124
+ participant?: JIDLike;
125
+ }
126
+ export type MessageStatus = 'pending' | 'sent' | 'delivered' | 'read' | 'played' | 'error';
127
+ export interface WAChat {
128
+ id: JIDLike;
129
+ name?: string;
130
+ unreadCount: number;
131
+ lastMessage?: WAMessage;
132
+ pinned: boolean;
133
+ archived: boolean;
134
+ isGroup: boolean;
135
+ isMuted: boolean;
136
+ muteEndTime?: number;
137
+ conversationTimestamp: number;
138
+ ephemeralSetting?: number;
139
+ }
140
+ export interface WAGroupMetadata {
141
+ id: JIDLike;
142
+ subject: string;
143
+ subjectOwner?: JIDLike;
144
+ subjectTime?: number;
145
+ desc?: string;
146
+ descOwner?: JIDLike;
147
+ descTime?: number;
148
+ creation?: number;
149
+ owner?: JIDLike;
150
+ participants: WAGroupParticipant[];
151
+ restrict?: boolean;
152
+ announce?: boolean;
153
+ isCommunity?: boolean;
154
+ isParentGroup?: boolean;
155
+ linkedParent?: JIDLike;
156
+ ephemeralSetting?: number;
157
+ }
158
+ export interface WAGroupParticipant {
159
+ id: JIDLike;
160
+ isAdmin: boolean;
161
+ isSuperAdmin: boolean;
162
+ /** "admin" | "member" | "superadmin" */
163
+ role?: string;
164
+ }
165
+ export interface GroupCreateOptions {
166
+ subject: string;
167
+ participants: JIDLike[];
168
+ desc?: string;
169
+ /** Idle time (seconds) before group is auto-disbanded */
170
+ ephemeralSetting?: number;
171
+ }
172
+ export interface GroupUpdateSubjectOptions {
173
+ subject: string;
174
+ }
175
+ export interface GroupUpdateDescriptionOptions {
176
+ desc: string;
177
+ }
178
+ export interface WACallEvent {
179
+ id: string;
180
+ from: JIDLike;
181
+ to: JIDLike;
182
+ isVideo: boolean;
183
+ isGroup: boolean;
184
+ status: CallStatus;
185
+ timestamp: number;
186
+ /** Optional WebRTC SDP offer if available */
187
+ offer?: string;
188
+ }
189
+ export type CallStatus = 'ringing' | 'accepted' | 'rejected' | 'missed' | 'timeout';
190
+ export type PresenceType = 'available' | 'unavailable' | 'composing' | 'recording' | 'paused';
191
+ export interface PresenceUpdate {
192
+ jid: JIDLike;
193
+ presence: PresenceType;
194
+ lastKnownPresence?: PresenceType;
195
+ t?: number;
196
+ }
197
+ export interface AuthState {
198
+ creds: AuthenticationCreds;
199
+ keys: SignalKeyStore;
200
+ }
201
+ export interface AuthenticationCreds {
202
+ /** Our registered phone number with country code, e.g. "6281234567890" */
203
+ me?: JIDLike;
204
+ /** Whether pairing was completed */
205
+ registered: boolean;
206
+ /** Noise protocol static key pair */
207
+ noiseKey?: KeyPair;
208
+ /** Pairing static key (server side identity) */
209
+ pairingKey?: KeyPair;
210
+ /** Identity key pair */
211
+ identityId?: KeyPair;
212
+ /** Signed pre-key */
213
+ signedIdentityKey?: KeyPair;
214
+ signedPreKey?: SignedKeyPair;
215
+ /** Registration ID */
216
+ registrationId?: number;
217
+ /** Advance details for multi-device */
218
+ advSecretKey?: string;
219
+ /** Next pre-key ID counter */
220
+ nextPreKeyId: number;
221
+ firstUnuploadedPreKeyId: number;
222
+ /** Has the account been "uploaded" */
223
+ accountSettings?: {
224
+ unarchiveChats: boolean;
225
+ };
226
+ /** Server tokens */
227
+ serverToken?: string;
228
+ clientToken?: string;
229
+ /** Last seen phone */
230
+ lastAccountSyncTimestamp?: number;
231
+ /** Mark-as-read setting */
232
+ markOnlineLastSeen?: boolean;
233
+ }
234
+ export interface KeyPair {
235
+ private: Uint8Array;
236
+ public: Uint8Array;
237
+ }
238
+ export interface SignedKeyPair {
239
+ keyId: number;
240
+ keyPair: KeyPair;
241
+ signature: Uint8Array;
242
+ }
243
+ export interface SignalKeyStore {
244
+ preKeys: Record<number, KeyPair>;
245
+ sessions: Record<string, any>;
246
+ identityKeys: Record<string, KeyPair>;
247
+ senderKeys: Record<string, any>;
248
+ appStateKeys: Record<string, Uint8Array>;
249
+ appStateSyncKeys: Record<string, Uint8Array>;
250
+ }
251
+ export interface QRGenerationData {
252
+ /** QR data ref */
253
+ ref: string;
254
+ /** Public key for pairing */
255
+ publicKey: Uint8Array;
256
+ /** Pairing static key */
257
+ pairingStaticKey: Uint8Array;
258
+ /** Encoded QR string */
259
+ qrString: string;
260
+ /** QR timeout in seconds */
261
+ timeout: number;
262
+ }
263
+ export interface PairingCodeResult {
264
+ /** 8-character pairing code e.g. "AB12-CD34" */
265
+ code: string;
266
+ /** Phone number with country code */
267
+ phoneNumber: string;
268
+ /** Expiry timestamp */
269
+ expiresAt: number;
270
+ }
271
+ export interface MediaUploadResult {
272
+ url: string;
273
+ directPath: string;
274
+ mediaKey: Uint8Array;
275
+ encFileHash: Uint8Array;
276
+ fileEncSHA256: Uint8Array;
277
+ fileSHA256: Uint8Array;
278
+ fileLength: number;
279
+ mimetype: string;
280
+ }
281
+ export interface MediaDownloadResult {
282
+ buffer: Buffer;
283
+ mimetype: string;
284
+ fileLength: number;
285
+ /** Original filename if document */
286
+ fileName?: string;
287
+ }
288
+ export interface WAEventMap {
289
+ 'connection.update': ConnectionUpdate;
290
+ 'creds.update': AuthenticationCreds;
291
+ 'qr.update': QRGenerationData;
292
+ 'pairing-code.update': PairingCodeResult;
293
+ 'message.upsert': {
294
+ messages: WAMessage[];
295
+ type: MessageUpsertType;
296
+ };
297
+ 'message.update': {
298
+ messages: WAMessage[];
299
+ keys: WAMessageKey[];
300
+ };
301
+ 'message.delete': {
302
+ keys: WAMessageKey[];
303
+ messageRevokes?: WAMessage[];
304
+ };
305
+ 'message.reaction': {
306
+ key: WAMessageKey;
307
+ reaction: string;
308
+ sender?: JIDLike;
309
+ };
310
+ 'presence.update': PresenceUpdate;
311
+ 'chats.upsert': WAChat[];
312
+ 'chats.update': Partial<WAChat>[];
313
+ 'chats.delete': string[];
314
+ 'groups.upsert': WAGroupMetadata[];
315
+ 'groups.update': Partial<WAGroupMetadata>[];
316
+ 'group-participants.update': GroupParticipantUpdate;
317
+ 'calls': WACallEvent;
318
+ 'contacts.upsert': ContactRecord[];
319
+ 'contacts.update': Partial<ContactRecord>[];
320
+ 'blocklist.update': string[];
321
+ 'messaging-history.set': {
322
+ chats: WAChat[];
323
+ contacts: ContactRecord[];
324
+ messages: WAMessage[];
325
+ isLatest: boolean;
326
+ };
327
+ }
328
+ export type MessageUpsertType = 'append' | 'notify';
329
+ export interface ContactRecord {
330
+ id: JIDLike;
331
+ name?: string;
332
+ notify?: string;
333
+ verifiedName?: string;
334
+ imgUrl?: string;
335
+ status?: string;
336
+ lid?: string;
337
+ }
338
+ export interface GroupParticipantUpdate {
339
+ id: JIDLike;
340
+ participants: JIDLike[];
341
+ action: 'add' | 'remove' | 'promote' | 'demote';
342
+ author?: JIDLike;
343
+ timestamp: number;
344
+ }
345
+ export interface ConnectionUpdate {
346
+ connection: 'close' | 'open' | 'connecting';
347
+ lastDisconnect?: {
348
+ error: Error | undefined;
349
+ output: any;
350
+ };
351
+ qr?: string;
352
+ isNewLogin?: boolean;
353
+ receivedPendingNotifications?: boolean;
354
+ isOnline?: boolean;
355
+ }
356
+ export interface WaliwaConfig {
357
+ /** Authentication state provider (file-based by default) */
358
+ authState?: AuthState;
359
+ /** Custom logger */
360
+ logger?: WALogger;
361
+ /** Print QR to terminal */
362
+ printQRInTerminal?: boolean;
363
+ /** Mobile API mode: use pairing code instead of QR */
364
+ mobile?: boolean;
365
+ /** Phone number for pairing code mode */
366
+ phoneNumber?: string;
367
+ /** Browser identification [name, short name, version] */
368
+ browser?: [string, string, string];
369
+ /** WebSocket reconnect config */
370
+ reconnectInterval?: number;
371
+ maxReconnectAttempts?: number;
372
+ /** Request full sync on connect */
373
+ syncFullHistory?: boolean;
374
+ /** Maximum message retry count */
375
+ maxMsgRetryCount?: number;
376
+ /** Custom WebSocket URL */
377
+ wsURL?: string;
378
+ /** Timeout untuk connect (ms) */
379
+ connectTimeoutMs?: number;
380
+ /** Keep alive interval (ms) */
381
+ keepAliveIntervalMs?: number;
382
+ /** RAM optimization level: 1 = balanced, 2 = aggressive, 3 = ultra */
383
+ ramOptimizationLevel?: 1 | 2 | 3;
384
+ /** Auto mark read received messages */
385
+ markOnlineOnConnect?: boolean;
386
+ /** Custom HTTP agent for media upload/download */
387
+ fetchAgent?: any;
388
+ /** Multi-Branch SKDM Recovery configuration */
389
+ recovery?: RecoveryConfig;
390
+ }
391
+ /**
392
+ * Multi-Branch SKDM Recovery configuration
393
+ *
394
+ * Saat disconnect terjadi, sistem mencoba multiple recovery strategies in order
395
+ * berdasarkan disconnect reason. Each branch punya retry limit sendiri.
396
+ */
397
+ export interface RecoveryConfig {
398
+ /** Enable recovery system (default: true) */
399
+ enabled?: boolean;
400
+ /** Max attempts per branch (default: 3) */
401
+ maxAttemptsPerBranch?: number;
402
+ /** Total max attempts across all branches (default: 20) */
403
+ maxTotalAttempts?: number;
404
+ /** Initial delay untuk backoff (default: 1000ms) */
405
+ initialDelayMs?: number;
406
+ /** Max delay untuk backoff (default: 60000ms) */
407
+ maxDelayMs?: number;
408
+ /** Delay khusus untuk rate limited (default: 300000ms = 5min) */
409
+ rateLimitedDelayMs?: number;
410
+ }
411
+ export interface WALogger {
412
+ level: 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace';
413
+ child(meta?: Record<string, any>): WALogger;
414
+ fatal(msg: string, ...args: any[]): void;
415
+ error(msg: string, ...args: any[]): void;
416
+ warn(msg: string, ...args: any[]): void;
417
+ info(msg: string, ...args: any[]): void;
418
+ debug(msg: string, ...args: any[]): void;
419
+ trace(msg: string, ...args: any[]): void;
420
+ }
421
+ export interface SendMessageResult {
422
+ /** Message ID generated */
423
+ key: WAMessageKey;
424
+ /** Message status */
425
+ status: MessageStatus;
426
+ /** Optional message timestamp */
427
+ messageTimestamp?: number;
428
+ /** Optional participants (for groups) */
429
+ participants?: JIDLike[];
430
+ }
431
+ export interface PollMessageContent {
432
+ name: string;
433
+ values: string[];
434
+ selectableCounts?: number[];
435
+ toMessage?: MessageContent;
436
+ }
437
+ export interface PollUpdate {
438
+ pollCreationMessageKey: WAMessageKey;
439
+ voteCasterJid: JIDLike;
440
+ selectedOptions: string[];
441
+ /** Timestamp of vote */
442
+ timestamp: number;
443
+ }
444
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Waliwa - Core Type Definitions
4
+ * Type definitions untuk semua entity WhatsApp (Message, Chat, Group, Call, dll)
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Waliwa - JID (Jabber ID) utilities
3
+ * WhatsApp pakai JID mirip XMPP: "user@s.whatsapp.net", "group-id@g.us", etc.
4
+ */
5
+ import type { JID, JIDLike, JIDServer } from '../types/index.js';
6
+ /**
7
+ * Parse string jadi JID object
8
+ * Format: "user@server" atau "user:device@server"
9
+ */
10
+ export declare function parseJid(input: JIDLike): JID;
11
+ /**
12
+ * Normalize JID ke string
13
+ */
14
+ export declare function jidToString(jid: JIDLike): string;
15
+ /**
16
+ * Get user ID saja (tanpa @server)
17
+ */
18
+ export declare function jidUser(jid: JIDLike): string;
19
+ /**
20
+ * Get server dari JID
21
+ */
22
+ export declare function jidServer(jid: JIDLike): JIDServer;
23
+ export declare function isGroupJid(jid: JIDLike): boolean;
24
+ export declare function isUserJid(jid: JIDLike): boolean;
25
+ export declare function isBroadcastJid(jid: JIDLike): boolean;
26
+ export declare function isCallJid(jid: JIDLike): boolean;
27
+ export declare function isStatusJid(jid: JIDLike): boolean;
28
+ export declare function isNewsletter(jid: JIDLike): boolean;
29
+ export declare function isLidJid(jid: JIDLike): boolean;
30
+ export declare function userJid(phoneNumber: string | number): string;
31
+ export declare function groupJid(groupId: string): string;
32
+ export declare function broadcastJid(broadcastId: string): string;
33
+ export declare function isValidJid(jid: JIDLike): boolean;
34
+ /**
35
+ * Compare 2 JID (case-insensitive, ignore device suffix)
36
+ */
37
+ export declare function jidEqual(a: JIDLike, b: JIDLike): boolean;
38
+ /**
39
+ * Get phone number dari user JID
40
+ */
41
+ export declare function jidToPhoneNumber(jid: JIDLike): string;
42
+ /**
43
+ * Convert phone number ke JID
44
+ */
45
+ export declare function phoneNumberToJid(phone: string): string;
46
+ //# sourceMappingURL=jid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jid.d.ts","sourceRoot":"","sources":["../../src/utils/jid.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAUjE;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CA6B5C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAMhD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAEjD;AAID,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEhD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAG/C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEpD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAE/C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEjD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAGlD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAE9C;AAID,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAG5D;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD;AAID,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAOhD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAIxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD"}
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ /**
3
+ * Waliwa - JID (Jabber ID) utilities
4
+ * WhatsApp pakai JID mirip XMPP: "user@s.whatsapp.net", "group-id@g.us", etc.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.parseJid = parseJid;
8
+ exports.jidToString = jidToString;
9
+ exports.jidUser = jidUser;
10
+ exports.jidServer = jidServer;
11
+ exports.isGroupJid = isGroupJid;
12
+ exports.isUserJid = isUserJid;
13
+ exports.isBroadcastJid = isBroadcastJid;
14
+ exports.isCallJid = isCallJid;
15
+ exports.isStatusJid = isStatusJid;
16
+ exports.isNewsletter = isNewsletter;
17
+ exports.isLidJid = isLidJid;
18
+ exports.userJid = userJid;
19
+ exports.groupJid = groupJid;
20
+ exports.broadcastJid = broadcastJid;
21
+ exports.isValidJid = isValidJid;
22
+ exports.jidEqual = jidEqual;
23
+ exports.jidToPhoneNumber = jidToPhoneNumber;
24
+ exports.phoneNumberToJid = phoneNumberToJid;
25
+ const DEFAULT_SERVER = 's.whatsapp.net';
26
+ const GROUP_SERVER = 'g.us';
27
+ const USER_SERVER = 'c.us';
28
+ const BROADCAST_SERVER = 'broadcast';
29
+ const CALL_SERVER = 'call';
30
+ // ============== Parsing ==============
31
+ /**
32
+ * Parse string jadi JID object
33
+ * Format: "user@server" atau "user:device@server"
34
+ */
35
+ function parseJid(input) {
36
+ if (typeof input === 'object' && input !== null && 'user' in input) {
37
+ return input;
38
+ }
39
+ const str = String(input);
40
+ const [userPart, serverPart] = str.split('@');
41
+ if (!serverPart) {
42
+ // Default ke s.whatsapp.net jika tidak ada server
43
+ return {
44
+ user: str,
45
+ server: DEFAULT_SERVER,
46
+ toString: () => `${str}@${DEFAULT_SERVER}`
47
+ };
48
+ }
49
+ // Check for device suffix: "user:device@server"
50
+ const [user, deviceStr] = userPart.split(':');
51
+ const device = deviceStr ? parseInt(deviceStr, 10) : undefined;
52
+ const server = serverPart;
53
+ const fullJid = device
54
+ ? `${user}:${device}@${server}`
55
+ : `${user}@${server}`;
56
+ return {
57
+ user,
58
+ server,
59
+ device,
60
+ toString: () => fullJid
61
+ };
62
+ }
63
+ /**
64
+ * Normalize JID ke string
65
+ */
66
+ function jidToString(jid) {
67
+ if (typeof jid === 'string')
68
+ return jid;
69
+ if (typeof jid === 'object' && jid !== null && 'toString' in jid) {
70
+ return jid.toString();
71
+ }
72
+ return String(jid);
73
+ }
74
+ /**
75
+ * Get user ID saja (tanpa @server)
76
+ */
77
+ function jidUser(jid) {
78
+ return parseJid(jid).user;
79
+ }
80
+ /**
81
+ * Get server dari JID
82
+ */
83
+ function jidServer(jid) {
84
+ return parseJid(jid).server;
85
+ }
86
+ // ============== Type Checks ==============
87
+ function isGroupJid(jid) {
88
+ return jidServer(jid) === GROUP_SERVER;
89
+ }
90
+ function isUserJid(jid) {
91
+ const server = jidServer(jid);
92
+ return server === USER_SERVER || server === DEFAULT_SERVER;
93
+ }
94
+ function isBroadcastJid(jid) {
95
+ return jidServer(jid) === BROADCAST_SERVER;
96
+ }
97
+ function isCallJid(jid) {
98
+ return jidServer(jid) === CALL_SERVER;
99
+ }
100
+ function isStatusJid(jid) {
101
+ return jidUser(jid) === 'status';
102
+ }
103
+ function isNewsletter(jid) {
104
+ const server = jidServer(jid);
105
+ return server === 's.whatsapp.net' && jidUser(jid).startsWith('120363');
106
+ }
107
+ function isLidJid(jid) {
108
+ return jidUser(jid).startsWith('xyz:') || jidUser(jid).match(/^\d+$/) === null;
109
+ }
110
+ // ============== Builders ==============
111
+ function userJid(phoneNumber) {
112
+ const str = String(phoneNumber).replace(/[^0-9]/g, '');
113
+ return `${str}@${DEFAULT_SERVER}`;
114
+ }
115
+ function groupJid(groupId) {
116
+ const str = String(groupId).replace(/[^0-9-]/g, '');
117
+ return `${str}@${GROUP_SERVER}`;
118
+ }
119
+ function broadcastJid(broadcastId) {
120
+ return `${broadcastId}@${BROADCAST_SERVER}`;
121
+ }
122
+ // ============== Validation ==============
123
+ function isValidJid(jid) {
124
+ try {
125
+ const parsed = parseJid(jid);
126
+ return parsed.user.length > 0 && parsed.server.length > 0;
127
+ }
128
+ catch {
129
+ return false;
130
+ }
131
+ }
132
+ /**
133
+ * Compare 2 JID (case-insensitive, ignore device suffix)
134
+ */
135
+ function jidEqual(a, b) {
136
+ const ja = parseJid(a);
137
+ const jb = parseJid(b);
138
+ return ja.user === jb.user && ja.server === jb.server;
139
+ }
140
+ /**
141
+ * Get phone number dari user JID
142
+ */
143
+ function jidToPhoneNumber(jid) {
144
+ return jidUser(jid);
145
+ }
146
+ /**
147
+ * Convert phone number ke JID
148
+ */
149
+ function phoneNumberToJid(phone) {
150
+ return userJid(phone);
151
+ }
152
+ //# sourceMappingURL=jid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jid.js","sourceRoot":"","sources":["../../src/utils/jid.ts"],"names":[],"mappings":"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"}