zaileys 4.7.1 → 4.8.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 (143) hide show
  1. package/README.md +5 -0
  2. package/dist/auth/adapters/convex.d.ts +9 -0
  3. package/dist/auth/adapters/file.d.ts +16 -0
  4. package/dist/auth/adapters/index.d.ts +6 -0
  5. package/dist/auth/adapters/memory.d.ts +9 -0
  6. package/dist/auth/adapters/postgres.d.ts +20 -0
  7. package/dist/auth/adapters/redis.d.ts +27 -0
  8. package/dist/auth/adapters/sqlite.d.ts +19 -0
  9. package/dist/auth/cache.d.ts +11 -0
  10. package/dist/auth/index.d.ts +3 -0
  11. package/dist/auth/types.d.ts +21 -0
  12. package/dist/automation/auto-delete.d.ts +30 -0
  13. package/dist/automation/broadcast.d.ts +10 -0
  14. package/dist/automation/errors.d.ts +8 -0
  15. package/dist/automation/index.d.ts +11 -0
  16. package/dist/automation/operation-guard.d.ts +20 -0
  17. package/dist/automation/presence.d.ts +28 -0
  18. package/dist/automation/queue.d.ts +18 -0
  19. package/dist/automation/rate-limiter.d.ts +18 -0
  20. package/dist/automation/schedule.d.ts +45 -0
  21. package/dist/automation/types.d.ts +31 -0
  22. package/dist/builder/album.d.ts +4 -0
  23. package/dist/builder/builder.d.ts +59 -0
  24. package/dist/builder/content/airich.d.ts +80 -0
  25. package/dist/builder/content/audio.d.ts +9 -0
  26. package/dist/builder/content/buttons.d.ts +30 -0
  27. package/dist/builder/content/carousel.d.ts +19 -0
  28. package/dist/builder/content/contact.d.ts +13 -0
  29. package/dist/builder/content/document.d.ts +9 -0
  30. package/dist/builder/content/event.d.ts +3 -0
  31. package/dist/builder/content/group-invite.d.ts +3 -0
  32. package/dist/builder/content/image.d.ts +8 -0
  33. package/dist/builder/content/list.d.ts +14 -0
  34. package/dist/builder/content/location.d.ts +11 -0
  35. package/dist/builder/content/markdown.d.ts +2 -0
  36. package/dist/builder/content/poll.d.ts +10 -0
  37. package/dist/builder/content/product.d.ts +3 -0
  38. package/dist/builder/content/sticker.d.ts +7 -0
  39. package/dist/builder/content/template.d.ts +3 -0
  40. package/dist/builder/content/text.d.ts +4 -0
  41. package/dist/builder/content/video.d.ts +10 -0
  42. package/dist/builder/edit-builder.d.ts +15 -0
  43. package/dist/builder/errors.d.ts +8 -0
  44. package/dist/builder/index.d.ts +6 -0
  45. package/dist/builder/media-loader.d.ts +11 -0
  46. package/dist/builder/mutations.d.ts +14 -0
  47. package/dist/builder/state.d.ts +15 -0
  48. package/dist/builder/types.d.ts +164 -0
  49. package/dist/builder/username-resolve.d.ts +8 -0
  50. package/dist/client/client.d.ts +160 -0
  51. package/dist/client/event-emitter.d.ts +19 -0
  52. package/dist/client/index.d.ts +3 -0
  53. package/dist/client/types.d.ts +119 -0
  54. package/dist/cloud/errors.d.ts +14 -0
  55. package/dist/cloud/graph-client.d.ts +15 -0
  56. package/dist/cloud/index.d.ts +6 -0
  57. package/dist/cloud/media.d.ts +15 -0
  58. package/dist/cloud/module.d.ts +147 -0
  59. package/dist/cloud/translate/inbound.d.ts +119 -0
  60. package/dist/cloud/translate/interactive.d.ts +2 -0
  61. package/dist/cloud/translate/outbound.d.ts +21 -0
  62. package/dist/cloud/transport.d.ts +51 -0
  63. package/dist/cloud/types.d.ts +17 -0
  64. package/dist/cloud/webhook.d.ts +11 -0
  65. package/dist/command/dispatcher.d.ts +23 -0
  66. package/dist/command/errors.d.ts +8 -0
  67. package/dist/command/index.d.ts +7 -0
  68. package/dist/command/middleware.d.ts +2 -0
  69. package/dist/command/parser.d.ts +2 -0
  70. package/dist/command/registry.d.ts +13 -0
  71. package/dist/command/types.d.ts +30 -0
  72. package/dist/connection/auth-adapter.d.ts +4 -0
  73. package/dist/connection/auth-guard.d.ts +37 -0
  74. package/dist/connection/disconnect-reason.d.ts +6 -0
  75. package/dist/connection/index.d.ts +7 -0
  76. package/dist/connection/pairing-flow.d.ts +16 -0
  77. package/dist/connection/qr-terminal.d.ts +2 -0
  78. package/dist/connection/reconnect.d.ts +15 -0
  79. package/dist/connection/state-machine.d.ts +9 -0
  80. package/dist/connection/status-log.d.ts +25 -0
  81. package/dist/domain/business.d.ts +19 -0
  82. package/dist/domain/chat.d.ts +27 -0
  83. package/dist/domain/community.d.ts +28 -0
  84. package/dist/domain/contact.d.ts +21 -0
  85. package/dist/domain/errors.d.ts +8 -0
  86. package/dist/domain/group.d.ts +35 -0
  87. package/dist/domain/index.d.ts +11 -0
  88. package/dist/domain/newsletter.d.ts +35 -0
  89. package/dist/domain/privacy.d.ts +15 -0
  90. package/dist/domain/profile.d.ts +14 -0
  91. package/dist/domain/socket-like.d.ts +117 -0
  92. package/dist/domain/types.d.ts +24 -0
  93. package/dist/events/context.d.ts +238 -0
  94. package/dist/events/decoders/_media-download.d.ts +8 -0
  95. package/dist/events/decoders/_shared.d.ts +26 -0
  96. package/dist/events/decoders/calls.d.ts +11 -0
  97. package/dist/events/decoders/groups.d.ts +36 -0
  98. package/dist/events/decoders/interactive.d.ts +9 -0
  99. package/dist/events/decoders/lifecycle.d.ts +69 -0
  100. package/dist/events/decoders/messages.d.ts +30 -0
  101. package/dist/events/decoders/mutations.d.ts +24 -0
  102. package/dist/events/guards.d.ts +9 -0
  103. package/dist/events/index.d.ts +4 -0
  104. package/dist/events/pipeline.d.ts +37 -0
  105. package/dist/events/types.d.ts +187 -0
  106. package/dist/index.cjs +20 -15
  107. package/dist/index.d.ts +15 -2264
  108. package/dist/index.mjs +20 -15
  109. package/dist/media/ffmpeg/audio.d.ts +12 -0
  110. package/dist/media/ffmpeg/core.d.ts +67 -0
  111. package/dist/media/ffmpeg/document.d.ts +10 -0
  112. package/dist/media/ffmpeg/image.d.ts +7 -0
  113. package/dist/media/ffmpeg/index.d.ts +7 -0
  114. package/dist/media/ffmpeg/sticker.d.ts +14 -0
  115. package/dist/media/ffmpeg/transform.d.ts +2 -0
  116. package/dist/media/ffmpeg/video.d.ts +6 -0
  117. package/dist/media/index.d.ts +2 -0
  118. package/dist/media/media.d.ts +39 -0
  119. package/dist/plugin/index.d.ts +5 -0
  120. package/dist/plugin/loader.d.ts +30 -0
  121. package/dist/plugin/registry.d.ts +24 -0
  122. package/dist/plugin/types.d.ts +25 -0
  123. package/dist/store/adapters/convex.d.ts +33 -0
  124. package/dist/store/adapters/index.d.ts +5 -0
  125. package/dist/store/adapters/memory.d.ts +31 -0
  126. package/dist/store/adapters/postgres.d.ts +40 -0
  127. package/dist/store/adapters/redis.d.ts +49 -0
  128. package/dist/store/adapters/sqlite.d.ts +36 -0
  129. package/dist/store/index.d.ts +2 -0
  130. package/dist/store/types.d.ts +48 -0
  131. package/dist/transport/index.d.ts +1 -0
  132. package/dist/transport/types.d.ts +18 -0
  133. package/dist/types/convex.d.ts +35 -0
  134. package/dist/types/index.d.ts +4 -0
  135. package/dist/types/lid-mapping.d.ts +5 -0
  136. package/dist/types/optional-clients.d.ts +69 -0
  137. package/dist/types/store-error.d.ts +8 -0
  138. package/dist/utils/array.d.ts +1 -0
  139. package/dist/utils/index.d.ts +5 -0
  140. package/dist/utils/jid.d.ts +6 -0
  141. package/dist/utils/logger.d.ts +10 -0
  142. package/package.json +7 -7
  143. package/dist/index.d.cts +0 -2264
@@ -0,0 +1,69 @@
1
+ /** Structural stand-ins for optional peers (pg, redis) so their types never leak into dist typings. */
2
+ export interface PgQueryResultLike<R = Record<string, unknown>> {
3
+ rows: R[];
4
+ rowCount?: number | null;
5
+ }
6
+ export interface PgPoolClientLike {
7
+ query<R extends Record<string, unknown> = Record<string, unknown>>(sql: string, params?: readonly unknown[]): Promise<PgQueryResultLike<R>>;
8
+ release(): void;
9
+ }
10
+ export interface PgPoolLike {
11
+ query<R extends Record<string, unknown> = Record<string, unknown>>(sql: string, params?: readonly unknown[]): Promise<PgQueryResultLike<R>>;
12
+ connect(): Promise<PgPoolClientLike>;
13
+ end(): Promise<void>;
14
+ }
15
+ export interface PgPoolCtorLike {
16
+ new (config: {
17
+ connectionString?: string | undefined;
18
+ max?: number | undefined;
19
+ }): PgPoolLike;
20
+ }
21
+ export interface RedisMultiLike {
22
+ set(key: string, value: string): RedisMultiLike;
23
+ del(key: string): RedisMultiLike;
24
+ sAdd(key: string, members: string): RedisMultiLike;
25
+ sRem(key: string, members: string): RedisMultiLike;
26
+ hSet(key: string, field: string, value: string): RedisMultiLike;
27
+ hDel(key: string, fields: string | string[]): RedisMultiLike;
28
+ zAdd(key: string, entry: {
29
+ score: number;
30
+ value: string;
31
+ }): RedisMultiLike;
32
+ zRem(key: string, members: string | string[]): RedisMultiLike;
33
+ exec(): Promise<unknown>;
34
+ }
35
+ export interface RedisClientLike {
36
+ readonly isOpen: boolean;
37
+ connect(): Promise<unknown>;
38
+ quit(): Promise<unknown>;
39
+ get(key: string): Promise<string | null>;
40
+ set(key: string, value: string, options?: {
41
+ EX?: number;
42
+ }): Promise<unknown>;
43
+ del(keys: string | string[]): Promise<number>;
44
+ mGet(keys: string[]): Promise<Array<string | null>>;
45
+ hGet(key: string, field: string): Promise<string | null | undefined>;
46
+ hSet(key: string, field: string, value: string): Promise<number>;
47
+ hDel(key: string, fields: string | string[]): Promise<number>;
48
+ hmGet(key: string, fields: string[]): Promise<Array<string | null>>;
49
+ hGetAll(key: string): Promise<Record<string, string>>;
50
+ sAdd(key: string, members: string): Promise<number>;
51
+ sRem(key: string, members: string): Promise<number>;
52
+ sMembers(key: string): Promise<string[]>;
53
+ sIsMember(key: string, member: string): Promise<boolean | number>;
54
+ zRange(key: string, min: number, max: number): Promise<string[]>;
55
+ zRangeByScore(key: string, min: string | number, max: string | number, options?: {
56
+ LIMIT?: {
57
+ offset: number;
58
+ count: number;
59
+ };
60
+ }): Promise<string[]>;
61
+ scan(cursor: number, options?: {
62
+ MATCH?: string;
63
+ COUNT?: number;
64
+ }): Promise<{
65
+ cursor: number | string;
66
+ keys: string[];
67
+ }>;
68
+ multi(): RedisMultiLike;
69
+ }
@@ -0,0 +1,8 @@
1
+ export type StoreErrorCode = 'STORE_NOT_AVAILABLE' | 'STORE_CONNECTION_FAILED' | 'STORE_WRITE_FAILED' | 'STORE_READ_FAILED' | 'STORE_CORRUPTED' | 'STORE_CLOSED';
2
+ export declare class ZaileysStoreError extends Error {
3
+ readonly code: StoreErrorCode;
4
+ readonly cause?: unknown;
5
+ constructor(code: StoreErrorCode, message: string, options?: {
6
+ cause?: unknown;
7
+ });
8
+ }
@@ -0,0 +1 @@
1
+ export declare const chunk: <T>(input: readonly T[], size: number) => T[][];
@@ -0,0 +1,5 @@
1
+ export { chunk } from './array.js';
2
+ export * from './logger.js';
3
+ export * from './jid.js';
4
+ export { computeUniqueId, computeStaticId, extractLinks, senderDeviceOf, epochSecondsToMs, } from '../events/context.js';
5
+ export { loadMedia, detectMimeFromBuffer, type LoadedMedia, type LoadMediaOptions, } from '../builder/media-loader.js';
@@ -0,0 +1,6 @@
1
+ export { extractJid as normalizeJid, isLidJid, isPnJid } from '../events/decoders/_shared.js';
2
+ export { jidDecode, jidEncode, jidNormalizedUser, areJidsSameUser, isJidGroup, isJidBroadcast, isJidNewsletter, isLidUser, isPnUser, getDevice, } from 'baileys';
3
+ /** Digits-only phone number from a JID (e.g. `628xx@s.whatsapp.net` → `628xx`). Empty for groups/lids. */
4
+ export declare const jidToPhone: (jid: string) => string;
5
+ /** Build a user JID from a phone number or digits (e.g. `+62 812` → `62812@s.whatsapp.net`). */
6
+ export declare const phoneToJid: (phone: string) => string;
@@ -0,0 +1,10 @@
1
+ import { type Logger as PinoLogger } from 'pino';
2
+ import type { Logger } from '../client/types.js';
3
+ export type LoggerLevel = 'silent' | 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace';
4
+ export interface CreateLoggerOptions {
5
+ sessionId?: string;
6
+ level?: LoggerLevel;
7
+ }
8
+ export type ZaileysLogger = PinoLogger;
9
+ export declare function createLogger(options?: CreateLoggerOptions): ZaileysLogger;
10
+ export declare function adoptLogger(maybe: Logger | Partial<Logger> | undefined, fallback?: Logger): Logger;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "zaileys",
3
3
  "description": "Zaileys - Simplified WhatsApp Node.js TypeScript/JavaScript API",
4
- "version": "4.7.1",
4
+ "version": "4.8.0",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "main": "./dist/index.cjs",
@@ -34,11 +34,10 @@
34
34
  ],
35
35
  "scripts": {
36
36
  "dev": "tsx --watch examples/quickstart-connect.ts",
37
- "build": "tsup",
38
- "prepublishOnly": "tsup",
37
+ "build": "tsup && tsc -p tsconfig.build.json --emitDeclarationOnly --declarationMap false",
38
+ "prepublishOnly": "pnpm run build",
39
39
  "release": "node scripts/release.mjs",
40
- "typecheck": "tsgo --noEmit",
41
- "typecheck:legacy": "tsc --noEmit",
40
+ "typecheck": "tsc --noEmit",
42
41
  "typecheck:audit": "tsx scripts/audit-tsgo-compat.ts",
43
42
  "audit:comments": "tsx scripts/audit-comments.ts",
44
43
  "audit:any": "tsx scripts/audit-no-any.ts",
@@ -59,16 +58,17 @@
59
58
  "@changesets/cli": "^2.30.0",
60
59
  "@commitlint/cli": "^20.5.0",
61
60
  "@commitlint/config-conventional": "^20.5.0",
61
+ "@hono/node-server": "^2.0.8",
62
62
  "@size-limit/file": "^12.1.0",
63
63
  "@types/better-sqlite3": "^7.6.13",
64
64
  "@types/express": "^5.0.6",
65
65
  "@types/node": "^24.10.1",
66
66
  "@types/pg": "^8.20.0",
67
67
  "@types/qrcode-terminal": "^0.12.2",
68
- "@typescript/native-preview": "7.0.0-dev.20260527.2",
69
68
  "@vitest/coverage-v8": "4.1.7",
70
69
  "better-sqlite3": "^11.10.0",
71
70
  "express": "^5.2.1",
71
+ "hono": "^4.12.30",
72
72
  "husky": "^9.1.7",
73
73
  "pg": "8.21.0",
74
74
  "pg-mem": "^3.0.14",
@@ -76,7 +76,7 @@
76
76
  "size-limit": "^12.1.0",
77
77
  "tsup": "^8.5.1",
78
78
  "tsx": "^4.21.0",
79
- "typescript": "^6.0.3",
79
+ "typescript": "~7.0.2",
80
80
  "vitest": "^4.1.7"
81
81
  },
82
82
  "dependencies": {