@lizzythelizard/whatsapp-mcp 0.4.0 → 0.5.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.
- package/README.md +157 -33
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +78 -0
- package/dist/cli.js.map +1 -0
- package/dist/dataDir.d.ts +4 -0
- package/dist/dataDir.d.ts.map +1 -0
- package/dist/dataDir.js +20 -0
- package/dist/dataDir.js.map +1 -0
- package/dist/extTypes.d.ts +41 -0
- package/dist/extTypes.d.ts.map +1 -0
- package/dist/extTypes.js +222 -0
- package/dist/extTypes.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +10 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +15 -0
- package/dist/logger.js.map +1 -0
- package/dist/{main.d.ts → mcp.d.ts} +1 -1
- package/dist/mcp.d.ts.map +1 -0
- package/dist/{main.js → mcp.js} +8 -24
- package/dist/mcp.js.map +1 -0
- package/dist/store.d.ts +17 -21
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +44 -32
- package/dist/store.js.map +1 -1
- package/dist/sync.d.ts +9 -4
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +51 -17
- package/dist/sync.js.map +1 -1
- package/dist/tools/authTools.d.ts.map +1 -1
- package/dist/tools/authTools.js +31 -23
- package/dist/tools/authTools.js.map +1 -1
- package/dist/tools/chatTools.d.ts.map +1 -1
- package/dist/tools/chatTools.js +15 -6
- package/dist/tools/chatTools.js.map +1 -1
- package/dist/tools/common.d.ts +3 -3
- package/dist/tools/common.d.ts.map +1 -1
- package/dist/tools/common.js +16 -8
- package/dist/tools/common.js.map +1 -1
- package/dist/tools/contactTools.d.ts.map +1 -1
- package/dist/tools/contactTools.js +8 -2
- package/dist/tools/contactTools.js.map +1 -1
- package/dist/tools/messageTools.d.ts.map +1 -1
- package/dist/tools/messageTools.js +18 -5
- package/dist/tools/messageTools.js.map +1 -1
- package/package.json +10 -16
- package/dist/main.d.ts.map +0 -1
- package/dist/main.js.map +0 -1
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface ILogger {
|
|
2
|
+
error: (message: string, error?: Error) => void;
|
|
3
|
+
warn: (message: string) => void;
|
|
4
|
+
info: (message: string) => void;
|
|
5
|
+
debug: (message: string) => void;
|
|
6
|
+
trace: (message: string) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const noLog: ILogger;
|
|
9
|
+
export declare const consoleLog: ILogger;
|
|
10
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;IAC/C,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC;AAED,eAAO,MAAM,KAAK,EAAE,OAMnB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,OAMxB,CAAA"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const noLog = {
|
|
2
|
+
error: () => { },
|
|
3
|
+
warn: () => { },
|
|
4
|
+
info: () => { },
|
|
5
|
+
debug: () => { },
|
|
6
|
+
trace: () => { },
|
|
7
|
+
};
|
|
8
|
+
export const consoleLog = {
|
|
9
|
+
error: (message, error) => { console.error(message, error); },
|
|
10
|
+
warn: (message) => { console.warn(message); },
|
|
11
|
+
info: (message) => { console.info(message); },
|
|
12
|
+
debug: (message) => { console.debug(message); },
|
|
13
|
+
trace: () => { },
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,KAAK,GAAY;IAC5B,KAAK,EAAE,GAAG,EAAE,GAAe,CAAC;IAC5B,IAAI,EAAE,GAAG,EAAE,GAAe,CAAC;IAC3B,IAAI,EAAE,GAAG,EAAE,GAAe,CAAC;IAC3B,KAAK,EAAE,GAAG,EAAE,GAAe,CAAC;IAC5B,KAAK,EAAE,GAAG,EAAE,GAAe,CAAC;CAC7B,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAY;IACjC,KAAK,EAAE,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA,CAAC,CAAC;IAC5E,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;IACpD,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;IACpD,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;IACtD,KAAK,EAAE,GAAG,EAAE,GAAe,CAAC;CAC7B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":";AAeA,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAUzE,wBAAsB,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAepF"}
|
package/dist/{main.js → mcp.js}
RENAMED
|
@@ -5,7 +5,6 @@ import pkg from '../package.json' with { type: 'json' };
|
|
|
5
5
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
6
|
import { createStore } from './store.js';
|
|
7
7
|
import { createHandler } from './sync.js';
|
|
8
|
-
import { promises as fsp } from 'fs';
|
|
9
8
|
import { createServer } from 'node:http';
|
|
10
9
|
import { randomUUID } from 'node:crypto';
|
|
11
10
|
import { parseArgs } from 'node:util';
|
|
@@ -15,15 +14,17 @@ import { registerMessageTools } from './tools/messageTools.js';
|
|
|
15
14
|
import { registerAuthTools } from './tools/authTools.js';
|
|
16
15
|
import { fileURLToPath } from 'node:url';
|
|
17
16
|
import { resolve } from 'node:path';
|
|
18
|
-
|
|
17
|
+
import { readDataFromFile, writeDataToFile } from './dataDir.js';
|
|
18
|
+
import { noLog } from './logger.js';
|
|
19
19
|
const cliOptions = {
|
|
20
20
|
host: { type: 'string', short: 'h', multiple: false },
|
|
21
21
|
port: { type: 'string', short: 'p', multiple: false },
|
|
22
22
|
};
|
|
23
23
|
export async function startServer(transport) {
|
|
24
24
|
const inputData = await readDataFromFile();
|
|
25
|
-
const store = createStore(writeDataToFile,
|
|
26
|
-
const sync = createHandler(store);
|
|
25
|
+
const store = createStore(inputData, { writeData: async (data) => { await writeDataToFile(data); }, logger: noLog });
|
|
26
|
+
const sync = createHandler(store, { logger: noLog });
|
|
27
|
+
await sync.start();
|
|
27
28
|
const server = new McpServer({ name: pkg.name, version: pkg.version });
|
|
28
29
|
registerContactResources(server, store, sync);
|
|
29
30
|
registerChatTools(server, store, sync);
|
|
@@ -35,24 +36,7 @@ export async function startServer(transport) {
|
|
|
35
36
|
await server.close();
|
|
36
37
|
};
|
|
37
38
|
}
|
|
38
|
-
async function
|
|
39
|
-
const canAccess = await fsp.access(dataDir).then(() => true).catch(() => false);
|
|
40
|
-
if (!canAccess)
|
|
41
|
-
return undefined;
|
|
42
|
-
const chats = await fsp.readFile(`${dataDir}/chats.json`, 'utf-8');
|
|
43
|
-
const messages = await fsp.readFile(`${dataDir}/messages.json`, 'utf-8');
|
|
44
|
-
const contacts = await fsp.readFile(`${dataDir}/contacts.json`, 'utf-8');
|
|
45
|
-
const auth = await fsp.readFile(`${dataDir}/auth.json`, 'utf-8');
|
|
46
|
-
return { chats, messages, contacts, auth };
|
|
47
|
-
}
|
|
48
|
-
async function writeDataToFile(data) {
|
|
49
|
-
await fsp.mkdir(dataDir, { recursive: true });
|
|
50
|
-
await fsp.writeFile(`${dataDir}/chats.json`, data.chats, 'utf-8');
|
|
51
|
-
await fsp.writeFile(`${dataDir}/messages.json`, data.messages, 'utf-8');
|
|
52
|
-
await fsp.writeFile(`${dataDir}/contacts.json`, data.contacts, 'utf-8');
|
|
53
|
-
await fsp.writeFile(`${dataDir}/auth.json`, data.auth, 'utf-8');
|
|
54
|
-
}
|
|
55
|
-
async function main() {
|
|
39
|
+
async function mcp() {
|
|
56
40
|
const { values } = parseArgs({
|
|
57
41
|
options: cliOptions,
|
|
58
42
|
args: process.argv.slice(2),
|
|
@@ -83,9 +67,9 @@ async function main() {
|
|
|
83
67
|
}
|
|
84
68
|
const isMain = resolve(fileURLToPath(import.meta.url)) === resolve(process.argv[1]);
|
|
85
69
|
if (isMain) {
|
|
86
|
-
|
|
70
|
+
mcp().catch((error) => {
|
|
87
71
|
console.error('Server error:', error);
|
|
88
72
|
process.exit(1);
|
|
89
73
|
});
|
|
90
74
|
}
|
|
91
|
-
//# sourceMappingURL=
|
|
75
|
+
//# sourceMappingURL=mcp.js.map
|
package/dist/mcp.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/store.d.ts
CHANGED
|
@@ -1,28 +1,20 @@
|
|
|
1
|
-
import { AuthenticationState, BaileysEventMap
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
export interface ContactWithId extends Contact {
|
|
6
|
-
id: string;
|
|
7
|
-
}
|
|
8
|
-
export interface MessageWithId extends WAMessage {
|
|
9
|
-
key: WAMessageKey & {
|
|
10
|
-
id: string;
|
|
11
|
-
};
|
|
12
|
-
}
|
|
1
|
+
import { AuthenticationState, BaileysEventMap } from '@whiskeysockets/baileys';
|
|
2
|
+
import { Chat, WAChatWithId, Contact, Message } from './extTypes.js';
|
|
3
|
+
import { ILogger } from './logger.js';
|
|
13
4
|
export interface Emitter {
|
|
14
5
|
process: (processor: (e: Partial<BaileysEventMap>) => void) => void;
|
|
15
6
|
}
|
|
16
7
|
export interface WhatsAppStore {
|
|
17
8
|
bind: (ev: Emitter) => void;
|
|
18
|
-
getChats: () =>
|
|
19
|
-
getChat: (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
9
|
+
getChats: () => Chat[];
|
|
10
|
+
getChat: (jid: string) => Chat | undefined;
|
|
11
|
+
getRawChat: (jid: string) => WAChatWithId | undefined;
|
|
12
|
+
getContacts: () => Contact[];
|
|
13
|
+
getContact: (jid: string) => Contact | undefined;
|
|
14
|
+
getMessages: () => Message[];
|
|
15
|
+
getMessage: (id: string) => Message | undefined;
|
|
16
|
+
getMessagesForChat: (jid: string) => Message[];
|
|
17
|
+
reset: (resetAuth: boolean) => void;
|
|
26
18
|
getAuth: () => AuthenticationState;
|
|
27
19
|
}
|
|
28
20
|
export interface DataStore {
|
|
@@ -31,5 +23,9 @@ export interface DataStore {
|
|
|
31
23
|
messages: string;
|
|
32
24
|
auth: string;
|
|
33
25
|
}
|
|
34
|
-
export
|
|
26
|
+
export interface CreateStoreOptions {
|
|
27
|
+
writeData?: (data: DataStore) => Promise<void>;
|
|
28
|
+
logger?: ILogger;
|
|
29
|
+
}
|
|
30
|
+
export declare function createStore(initialData: DataStore | undefined, options?: CreateStoreOptions): WhatsAppStore;
|
|
35
31
|
//# sourceMappingURL=store.d.ts.map
|
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAA6E,MAAM,yBAAyB,CAAA;AAEzJ,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAA6D,OAAO,EAAgB,MAAM,eAAe,CAAA;AAC7I,OAAO,EAAc,OAAO,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,KAAK,IAAI,CAAA;CACpE;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAA;IAC3B,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAA;IACtB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,CAAA;IAC1C,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAA;IACrD,WAAW,EAAE,MAAM,OAAO,EAAE,CAAA;IAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,CAAA;IAChD,WAAW,EAAE,MAAM,OAAO,EAAE,CAAA;IAC5B,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,CAAA;IAC/C,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,EAAE,CAAA;IAC9C,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;IACnC,OAAO,EAAE,MAAM,mBAAmB,CAAA;CACnC;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,aAAa,CA4I3G"}
|
package/dist/store.js
CHANGED
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
import { BufferJSON } from '@whiskeysockets/baileys';
|
|
2
2
|
import { createExportableAuth } from './auth.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const parsed = JSON.parse(data);
|
|
7
|
-
return new Map(Object.entries(parsed));
|
|
8
|
-
}
|
|
9
|
-
function toString(map) {
|
|
10
|
-
return JSON.stringify(map, BufferJSON.replacer);
|
|
11
|
-
}
|
|
12
|
-
export function createStore(saveCb, initialData) {
|
|
3
|
+
import { toChatExt, toContactExt, toMessageExt } from './extTypes.js';
|
|
4
|
+
import { consoleLog } from './logger.js';
|
|
5
|
+
export function createStore(initialData, options) {
|
|
13
6
|
const chats = fromString(initialData?.chats);
|
|
14
7
|
const contacts = fromString(initialData?.contacts);
|
|
15
8
|
const messages = fromString(initialData?.messages);
|
|
16
9
|
let auth = createExportableAuth(initialData?.auth);
|
|
17
10
|
let saveTimeout = undefined;
|
|
11
|
+
const logger = options?.logger ?? consoleLog;
|
|
18
12
|
function mergeChats(newChats) {
|
|
19
13
|
for (const c of newChats) {
|
|
20
14
|
if (!c.id)
|
|
@@ -62,24 +56,36 @@ export function createStore(saveCb, initialData) {
|
|
|
62
56
|
}
|
|
63
57
|
}
|
|
64
58
|
function save() {
|
|
65
|
-
|
|
59
|
+
const writeData = options?.writeData;
|
|
60
|
+
if (!writeData) {
|
|
61
|
+
logger.debug('No writeData callback provided, skipping save.');
|
|
66
62
|
return;
|
|
63
|
+
}
|
|
64
|
+
logger.debug('Saving WhatsApp store data...');
|
|
67
65
|
const data = {
|
|
68
66
|
chats: toString(chats),
|
|
69
67
|
contacts: toString(contacts),
|
|
70
68
|
messages: toString(messages),
|
|
71
69
|
auth: auth.toAuthState(),
|
|
72
70
|
};
|
|
73
|
-
void
|
|
74
|
-
|
|
71
|
+
void writeData(data).catch((error) => {
|
|
72
|
+
logger.error('Error saving WhatsApp store data:', error instanceof Error ? error : new Error(String(error)));
|
|
75
73
|
});
|
|
76
74
|
}
|
|
75
|
+
function reset(resetAuth) {
|
|
76
|
+
logger.debug(`Resetting WhatsApp store data ${resetAuth ? 'including auth' : ''}`);
|
|
77
|
+
chats.clear();
|
|
78
|
+
contacts.clear();
|
|
79
|
+
messages.clear();
|
|
80
|
+
if (resetAuth)
|
|
81
|
+
auth = createExportableAuth(undefined);
|
|
82
|
+
}
|
|
77
83
|
function process(e) {
|
|
78
84
|
// Store data if no new events come in for 1 second
|
|
79
85
|
if (saveTimeout)
|
|
80
86
|
clearTimeout(saveTimeout);
|
|
81
|
-
|
|
82
|
-
|
|
87
|
+
saveTimeout = setTimeout(save, 1000);
|
|
88
|
+
logger.trace(`Processing WhatsApp store event: ${JSON.stringify(e)}`);
|
|
83
89
|
for (const key of Object.keys(e)) {
|
|
84
90
|
try {
|
|
85
91
|
switch (key) {
|
|
@@ -116,29 +122,35 @@ export function createStore(saveCb, initialData) {
|
|
|
116
122
|
}
|
|
117
123
|
}
|
|
118
124
|
catch (error) {
|
|
119
|
-
|
|
125
|
+
logger.error(`Error processing WhatsApp store event for key ${key}:`, error instanceof Error ? error : new Error(String(error)));
|
|
120
126
|
}
|
|
121
127
|
}
|
|
122
128
|
}
|
|
123
|
-
function handleError(error) {
|
|
124
|
-
console.error(`Error processing WhatsApp store event: ${error instanceof Error ? error.message : String(error)}`);
|
|
125
|
-
}
|
|
126
129
|
return {
|
|
127
130
|
bind: (ev) => { ev.process(process); },
|
|
128
|
-
getChats: () => Array.from(chats.values()),
|
|
129
|
-
getChat: id => chats.get(id),
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
contacts.clear();
|
|
138
|
-
messages.clear();
|
|
139
|
-
auth = createExportableAuth(undefined);
|
|
140
|
-
},
|
|
131
|
+
getChats: () => Array.from(chats.values()).map(chat => toChatExt(chat, contacts, logger)).filter(c => !!c),
|
|
132
|
+
getChat: id => toChatExt(chats.get(id), contacts, logger),
|
|
133
|
+
getRawChat: id => chats.get(id),
|
|
134
|
+
getContacts: () => Array.from(contacts.values()).map(contact => toContactExt(contact, logger)).filter(c => !!c),
|
|
135
|
+
getContact: id => toContactExt(contacts.get(id), logger),
|
|
136
|
+
getMessages: () => Array.from(messages.values()).map(m => toMessageExt(m, contacts, logger)).filter(m => !!m),
|
|
137
|
+
getMessagesForChat: id => Array.from(messages.values()).filter(m => m.key.remoteJid === id).map(m => toMessageExt(m, contacts, logger)).filter(m => !!m),
|
|
138
|
+
getMessage: id => toMessageExt(messages.get(id), contacts, logger),
|
|
139
|
+
reset: (resetAuth) => { reset(resetAuth); },
|
|
141
140
|
getAuth: () => auth,
|
|
142
141
|
};
|
|
143
142
|
}
|
|
143
|
+
function fromString(data) {
|
|
144
|
+
if (!data)
|
|
145
|
+
return new Map();
|
|
146
|
+
const parsed = JSON.parse(data);
|
|
147
|
+
return new Map(Object.entries(parsed));
|
|
148
|
+
}
|
|
149
|
+
function toString(map) {
|
|
150
|
+
const record = {};
|
|
151
|
+
for (const [key, value] of map) {
|
|
152
|
+
record[key] = value;
|
|
153
|
+
}
|
|
154
|
+
return JSON.stringify(record, BufferJSON.replacer, 2);
|
|
155
|
+
}
|
|
144
156
|
//# sourceMappingURL=store.js.map
|
package/dist/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,UAAU,
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/dist/sync.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { WhatsAppStore } from './store.js';
|
|
2
|
+
import { ILogger } from './logger.js';
|
|
3
3
|
export type SyncStatus = {
|
|
4
4
|
type: 'connecting';
|
|
5
5
|
} | {
|
|
@@ -13,10 +13,15 @@ export type SyncStatus = {
|
|
|
13
13
|
};
|
|
14
14
|
export interface WhatsAppHandler {
|
|
15
15
|
close: () => void;
|
|
16
|
+
start: () => Promise<void>;
|
|
16
17
|
getStatus: () => SyncStatus;
|
|
17
|
-
sendMessage: (jid: string, text: string) => Promise<
|
|
18
|
+
sendMessage: (jid: string, text: string) => Promise<void>;
|
|
18
19
|
setRead: (jid: string, read: boolean) => Promise<void>;
|
|
19
20
|
setArchived: (jid: string, archived: boolean) => Promise<void>;
|
|
20
21
|
}
|
|
21
|
-
export
|
|
22
|
+
export interface WhatsAppHandlerOptions {
|
|
23
|
+
name?: string;
|
|
24
|
+
logger?: ILogger;
|
|
25
|
+
}
|
|
26
|
+
export declare function createHandler(store: WhatsAppStore, options?: WhatsAppHandlerOptions): WhatsAppHandler;
|
|
22
27
|
//# sourceMappingURL=sync.d.ts.map
|
package/dist/sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAc,OAAO,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAE1I,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,SAAS,EAAE,MAAM,UAAU,CAAA;IAC3B,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,eAAe,CA+IrG"}
|
package/dist/sync.js
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import makeWASocket from '@whiskeysockets/baileys';
|
|
2
|
-
|
|
2
|
+
import { consoleLog } from './logger.js';
|
|
3
|
+
export function createHandler(store, options) {
|
|
4
|
+
const name = options?.name ?? 'Whatsapp MCP';
|
|
5
|
+
const logger = options?.logger ?? consoleLog;
|
|
3
6
|
let state = { type: 'connecting' };
|
|
4
7
|
let sock;
|
|
5
|
-
const browser = [
|
|
8
|
+
const browser = [name, 'Desktop', '1.0.0'];
|
|
6
9
|
function onError(error) {
|
|
7
10
|
const arg = error instanceof Error ? error : new Error(String(error));
|
|
8
|
-
|
|
11
|
+
logger.error(`Closing WhatsApp sync due to error ${arg}`);
|
|
9
12
|
close(arg);
|
|
10
13
|
}
|
|
11
14
|
function close(error) {
|
|
15
|
+
if (!error)
|
|
16
|
+
logger.debug(`Closing WhatsApp sync from caller`);
|
|
12
17
|
if (sock) {
|
|
13
18
|
const sockCpy = sock;
|
|
14
19
|
sock = undefined;
|
|
@@ -18,22 +23,23 @@ export function createHandler(store) {
|
|
|
18
23
|
}
|
|
19
24
|
function onClosed(error) {
|
|
20
25
|
if (!error) {
|
|
21
|
-
|
|
26
|
+
logger.debug(`WhatsApp sync connection closed without error`);
|
|
22
27
|
state = { type: 'closed' };
|
|
23
28
|
return;
|
|
24
29
|
}
|
|
25
30
|
if (isInvalidAuthError(error)) {
|
|
26
|
-
|
|
27
|
-
store.reset();
|
|
28
|
-
start();
|
|
31
|
+
logger.warn(`WhatsApp sync requires re-authentication due to invalid auth state`);
|
|
32
|
+
store.reset(true);
|
|
33
|
+
start().catch((err) => { close(err instanceof Error ? err : new Error(String(err))); });
|
|
29
34
|
return;
|
|
30
35
|
}
|
|
31
36
|
if (isRequiredReconnectError(error)) {
|
|
32
|
-
|
|
33
|
-
store.reset();
|
|
37
|
+
logger.debug(`WhatsApp sync connection closed due to required reconnect after successful login, restarting connection`);
|
|
38
|
+
store.reset(false);
|
|
34
39
|
startAgainAfterLogin();
|
|
35
40
|
return;
|
|
36
41
|
}
|
|
42
|
+
logger.error(`WhatsApp sync connection closed due to error ${error}`);
|
|
37
43
|
state = { type: 'closed', error };
|
|
38
44
|
}
|
|
39
45
|
function start() {
|
|
@@ -42,6 +48,24 @@ export function createHandler(store) {
|
|
|
42
48
|
connectionUpdate(update, onClosed, qr => state = { type: 'needAuth', qr }, () => state = { type: 'ready' });
|
|
43
49
|
});
|
|
44
50
|
store.bind(sock.ev);
|
|
51
|
+
logger.debug(`Started WhatsApp sync}`);
|
|
52
|
+
// wait for timeout or non 'connecting' state
|
|
53
|
+
return new Promise((resolve, reject) => {
|
|
54
|
+
// Ceheck evey 1s if status is still connecting, if not resolve, if timeout reject
|
|
55
|
+
const start = Date.now();
|
|
56
|
+
const timeoutMs = 120000;
|
|
57
|
+
const poll = () => {
|
|
58
|
+
const status = state;
|
|
59
|
+
if (status.type !== 'connecting')
|
|
60
|
+
resolve();
|
|
61
|
+
else if (Date.now() - start < timeoutMs)
|
|
62
|
+
setTimeout(poll, 100);
|
|
63
|
+
else
|
|
64
|
+
reject(new Error(`Timed out waiting for ready, got ${status.type}`));
|
|
65
|
+
setTimeout(poll, 1000);
|
|
66
|
+
};
|
|
67
|
+
poll();
|
|
68
|
+
});
|
|
45
69
|
}
|
|
46
70
|
function startAgainAfterLogin() {
|
|
47
71
|
sock = makeWASocket({ auth: store.getAuth(), browser, logger: baileysLogger, markOnlineOnConnect: false, syncFullHistory: true, emitOwnEvents: true });
|
|
@@ -53,6 +77,7 @@ export function createHandler(store) {
|
|
|
53
77
|
timeout = setTimeout(() => state = { type: 'ready' }, 2000);
|
|
54
78
|
});
|
|
55
79
|
store.bind(sock.ev);
|
|
80
|
+
logger.debug(`Restarted WhatsApp after login}`);
|
|
56
81
|
}
|
|
57
82
|
async function sendMessage(jid, message) {
|
|
58
83
|
if (state.type === 'connecting')
|
|
@@ -63,10 +88,11 @@ export function createHandler(store) {
|
|
|
63
88
|
throw new Error('Authentication needed, please authenticate yourself first');
|
|
64
89
|
if (sock === undefined)
|
|
65
90
|
throw new Error(`No Socket defined but state is ${state.type}. This is invalid, please restart server`);
|
|
91
|
+
logger.debug(`Sending message to ${jid}: ${message}`);
|
|
66
92
|
const result = await sock.sendMessage(jid, { text: message });
|
|
67
93
|
if (!result)
|
|
68
94
|
throw new Error(`Failed to send message to ${jid}`);
|
|
69
|
-
|
|
95
|
+
logger.info(`Sent message to ${jid}: ${message}`);
|
|
70
96
|
}
|
|
71
97
|
async function setArchived(jid, archived) {
|
|
72
98
|
if (state.type === 'connecting')
|
|
@@ -77,17 +103,21 @@ export function createHandler(store) {
|
|
|
77
103
|
throw new Error('Authentication needed, please authenticate yourself first');
|
|
78
104
|
if (sock === undefined)
|
|
79
105
|
throw new Error(`No Socket defined but state is ${state.type}. This is invalid, please restart server`);
|
|
80
|
-
const chat = store.
|
|
106
|
+
const chat = store.getRawChat(jid);
|
|
81
107
|
if (!chat)
|
|
82
108
|
throw new Error(`No chat found for ${jid}`);
|
|
83
109
|
const lastMessage = chat.messages?.[0].message;
|
|
84
110
|
if (!lastMessage) {
|
|
111
|
+
logger.debug(`Archiving chat ${jid} with no last message`);
|
|
85
112
|
await sock.chatModify({ archive: archived, lastMessages: [] }, jid);
|
|
113
|
+
logger.info(`Archived chat ${jid} with no last message`);
|
|
86
114
|
return;
|
|
87
115
|
}
|
|
88
116
|
if (!lastMessage.key)
|
|
89
117
|
throw new Error(`Last message for ${jid} has no key, cannot archive chat`);
|
|
118
|
+
logger.debug(`Archiving chat ${jid}}`);
|
|
90
119
|
await sock.chatModify({ archive: archived, lastMessages: [lastMessage] }, jid);
|
|
120
|
+
logger.info(`Archived chat ${jid}}`);
|
|
91
121
|
}
|
|
92
122
|
async function setRead(jid, read) {
|
|
93
123
|
if (state.type === 'connecting')
|
|
@@ -98,25 +128,29 @@ export function createHandler(store) {
|
|
|
98
128
|
throw new Error('Authentication needed, please authenticate yourself first');
|
|
99
129
|
if (sock === undefined)
|
|
100
130
|
throw new Error(`No Socket defined but state is ${state.type}. This is invalid, please restart server`);
|
|
101
|
-
const chat = store.
|
|
131
|
+
const chat = store.getRawChat(jid);
|
|
102
132
|
if (!chat)
|
|
103
133
|
throw new Error(`No chat found for ${jid}`);
|
|
104
134
|
const lastMessage = chat.messages?.[0].message;
|
|
105
135
|
if (!lastMessage) {
|
|
136
|
+
logger.debug(`Marking chat ${jid} as ${read ? 'read' : 'unread'} with no last message`);
|
|
106
137
|
await sock.chatModify({ markRead: read, lastMessages: [] }, jid);
|
|
138
|
+
logger.info(`Marked chat ${jid} as ${read ? 'read' : 'unread'} with no last message`);
|
|
107
139
|
return;
|
|
108
140
|
}
|
|
109
141
|
if (!lastMessage.key)
|
|
110
142
|
throw new Error(`Last message for ${jid} has no key, cannot mark chat as unread`);
|
|
143
|
+
logger.debug(`Marking chat ${jid} as ${read ? 'read' : 'unread'}`);
|
|
111
144
|
await sock.chatModify({ markRead: read, lastMessages: [lastMessage] }, jid);
|
|
145
|
+
logger.info(`Marked chat ${jid} as ${read ? 'read' : 'unread'}`);
|
|
112
146
|
}
|
|
113
|
-
start();
|
|
114
147
|
return {
|
|
115
148
|
getStatus: () => state,
|
|
116
|
-
sendMessage
|
|
117
|
-
setArchived
|
|
118
|
-
setRead
|
|
119
|
-
close
|
|
149
|
+
sendMessage,
|
|
150
|
+
setArchived,
|
|
151
|
+
setRead,
|
|
152
|
+
close,
|
|
153
|
+
start,
|
|
120
154
|
};
|
|
121
155
|
}
|
|
122
156
|
const baileysLogger = {
|
package/dist/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authTools.d.ts","sourceRoot":"","sources":["../../src/tools/authTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAG5C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"authTools.d.ts","sourceRoot":"","sources":["../../src/tools/authTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAG5C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,QA8C/F"}
|