@lizzythelizard/whatsapp-mcp 0.5.2 → 0.6.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/dist/tools/chatTools.js +12 -10
- package/dist/tools/chatTools.js.map +1 -1
- package/dist/tools/common.d.ts +1 -1
- package/dist/tools/common.d.ts.map +1 -1
- package/dist/tools/common.js +1 -0
- package/dist/tools/common.js.map +1 -1
- package/dist/tools/contactTools.js +8 -6
- package/dist/tools/contactTools.js.map +1 -1
- package/dist/tools/messageTools.js +14 -12
- package/dist/tools/messageTools.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/chatTools.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
2
|
import { JidSchema, withErrorHandling } from './common.js';
|
|
3
3
|
export function registerChatTools(server, store, sync) {
|
|
4
|
-
server.registerTool('get_all_chats', { description: 'Retrieve all WhatsApp chats with their metadata', outputSchema: AllChatsSchema }, () => withErrorHandling(sync, () => store.getChats()));
|
|
4
|
+
server.registerTool('get_all_chats', { description: 'Retrieve all WhatsApp chats with their metadata', outputSchema: AllChatsSchema }, () => withErrorHandling(sync, () => ({ chats: store.getChats() })));
|
|
5
5
|
server.registerTool('set_chat_archived', { description: 'Set a WhatsApp chat as archived or unarchived', inputSchema: ArchiveChatSchema }, args => withErrorHandling(sync, () => sync.setArchived(args.jid, args.archived).then(() => `Chat ${args.jid}: archived status set to ${String(args.archived)}`)));
|
|
6
6
|
server.registerTool('set_chat_read', { description: 'Set a WhatsApp chat as read or unread', inputSchema: ReadChatSchema }, args => withErrorHandling(sync, () => sync.setRead(args.jid, args.read).then(() => `Chat ${args.jid}: read status set to ${String(args.read)}`)));
|
|
7
7
|
}
|
|
@@ -15,13 +15,15 @@ const ReadChatSchema = z.object({
|
|
|
15
15
|
read: z.boolean()
|
|
16
16
|
.describe('Whether the chat should be marked as read (true) or unread (false).'),
|
|
17
17
|
});
|
|
18
|
-
const AllChatsSchema = z.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
const AllChatsSchema = z.object({
|
|
19
|
+
chats: z.array(z.object({
|
|
20
|
+
jid: JidSchema.describe('The unique identifier (JID) of the chat'),
|
|
21
|
+
unreadCount: z.number().describe('Number of unread messages in this chat'),
|
|
22
|
+
readOnly: z.boolean().describe('Whether the chat is read-only'),
|
|
23
|
+
name: z.string().describe('Display name of the chat'),
|
|
24
|
+
archived: z.boolean().describe('Whether the chat is archived'),
|
|
25
|
+
lastMessageTimestamp: z.number().describe('Unix timestamp of the last message'),
|
|
26
|
+
isGroup: z.boolean().describe('Whether this is a group chat'),
|
|
27
|
+
})),
|
|
28
|
+
}).describe('List of all WhatsApp chats');
|
|
27
29
|
//# sourceMappingURL=chatTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatTools.js","sourceRoot":"","sources":["../../src/tools/chatTools.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,KAAoB,EAAE,IAAqB;IAC9F,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,iDAAiD,EAAE,YAAY,EAAE,cAAc,EAAE,EACnI,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"chatTools.js","sourceRoot":"","sources":["../../src/tools/chatTools.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,KAAoB,EAAE,IAAqB;IAC9F,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,iDAAiD,EAAE,YAAY,EAAE,cAAc,EAAE,EACnI,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CACnE,CAAA;IAED,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE,WAAW,EAAE,+CAA+C,EAAE,WAAW,EAAE,iBAAiB,EAAE,EACvI,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,CAAC,GAAG,4BAA4B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CACjK,CAAA;IAED,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE,WAAW,EAAE,cAAc,EAAE,EACxH,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,CAAC,GAAG,wBAAwB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CACjJ,CAAA;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAClE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;SAClB,QAAQ,CAAC,mEAAmE,CAAC;CACjF,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAClE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;SACd,QAAQ,CAAC,qEAAqE,CAAC;CACnF,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACtB,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QAClE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QAC1E,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACrD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC9D,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC/E,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;KAC9D,CAAC,CAAC;CACJ,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAA"}
|
package/dist/tools/common.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
2
|
import { WhatsAppHandler } from '../sync.js';
|
|
3
3
|
import z from 'zod';
|
|
4
|
-
export declare const JidSchema: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
|
|
4
|
+
export declare const JidSchema: z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString]>;
|
|
5
5
|
export declare function withErrorHandling<R = string | Record<string, unknown>>(sync: WhatsAppHandler, action: () => R | Promise<R>): Promise<CallToolResult>;
|
|
6
6
|
export declare const toCallError: (errorMessage: string) => CallToolResult;
|
|
7
7
|
export declare const toTextResult: (text: string) => CallToolResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/tools/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/tools/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,eAAO,MAAM,SAAS,8DAIpB,CAAA;AAEF,wBAAsB,iBAAiB,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAkB1J;AAED,eAAO,MAAM,WAAW,GAAI,cAAc,MAAM,KAAG,cAAkG,CAAA;AACrJ,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,cAAyE,CAAA;AACrH,eAAO,MAAM,kBAAkB,GAAI,mBAAmB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,cAAsE,CAAA"}
|
package/dist/tools/common.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
2
|
export const JidSchema = z.union([
|
|
3
3
|
z.string().min(1, 'JID is required').endsWith('@s.whatsapp.net', 'JID not a valid WhatsApp JID)'),
|
|
4
|
+
z.string().min(1, 'JID is required').endsWith('@lid', 'JID not a valid WhatsApp JID)'),
|
|
4
5
|
z.string().min(1, 'JID is required').endsWith('@g.us', 'JID not a valid WhatsApp JID)'),
|
|
5
6
|
]);
|
|
6
7
|
export async function withErrorHandling(sync, action) {
|
package/dist/tools/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/tools/common.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;IAC/B,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,iBAAiB,EAAE,+BAA+B,CAAC;IACjG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC;CACxF,CAAC,CAAA;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAuC,IAAqB,EAAE,MAA4B;IAC/H,IAAI,CAAC;QACH,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAChD,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QACzB,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACzF,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAA;QAClJ,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzF,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAA;QAC7B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QACD,OAAO,kBAAkB,CAAC,MAAiC,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAAoB,EAAkB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,YAAY,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AACrJ,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAkB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;AACrH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,iBAA0C,EAAkB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/tools/common.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;IAC/B,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,iBAAiB,EAAE,+BAA+B,CAAC;IACjG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAC;IACtF,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC;CACxF,CAAC,CAAA;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAuC,IAAqB,EAAE,MAA4B;IAC/H,IAAI,CAAC;QACH,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAChD,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QACzB,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACzF,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAA;QAClJ,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzF,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAA;QAC7B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QACD,OAAO,kBAAkB,CAAC,MAAiC,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAAoB,EAAkB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,YAAY,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AACrJ,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAkB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;AACrH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,iBAA0C,EAAkB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
2
|
import { JidSchema, withErrorHandling } from './common.js';
|
|
3
3
|
export function registerContactResources(server, store, sync) {
|
|
4
|
-
server.registerTool('get_all_contacts', { description: 'Retrieve all WhatsApp contacts', outputSchema: AllContactsSchema }, async () => withErrorHandling(sync, () => store.getContacts()));
|
|
4
|
+
server.registerTool('get_all_contacts', { description: 'Retrieve all WhatsApp contacts', outputSchema: AllContactsSchema }, async () => withErrorHandling(sync, () => ({ contacts: store.getContacts() })));
|
|
5
5
|
}
|
|
6
|
-
const AllContactsSchema = z.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
const AllContactsSchema = z.object({
|
|
7
|
+
contacts: z.array(z.object({
|
|
8
|
+
jid: JidSchema.describe('The unique identifier (JID) of the contact'),
|
|
9
|
+
name: z.string().describe('Display name of the contact'),
|
|
10
|
+
phone: z.string().describe('Phone number in international format'),
|
|
11
|
+
})),
|
|
12
|
+
}).describe('List of all WhatsApp contacts');
|
|
11
13
|
//# sourceMappingURL=contactTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactTools.js","sourceRoot":"","sources":["../../src/tools/contactTools.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,UAAU,wBAAwB,CAAC,MAAiB,EAAE,KAAoB,EAAE,IAAqB;IACrG,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE,YAAY,EAAE,iBAAiB,EAAE,EACxH,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAC/
|
|
1
|
+
{"version":3,"file":"contactTools.js","sourceRoot":"","sources":["../../src/tools/contactTools.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,UAAU,wBAAwB,CAAC,MAAiB,EAAE,KAAoB,EAAE,IAAqB;IACrG,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE,YAAY,EAAE,iBAAiB,EAAE,EACxH,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAC/E,CAAA;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACzB,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;KACnE,CAAC,CAAC;CACJ,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAA"}
|
|
@@ -2,8 +2,8 @@ import z from 'zod';
|
|
|
2
2
|
import { JidSchema, withErrorHandling } from './common.js';
|
|
3
3
|
export function registerMessageTools(server, store, sync) {
|
|
4
4
|
server.registerTool('send_message', { description: 'Send a WhatsApp-Message to a given JID', inputSchema: SendMessageSchema }, async (args) => withErrorHandling(sync, () => sync.sendMessage(args.jid, args.message).then(() => `Message sent to ${args.jid}: "${args.message}"`)));
|
|
5
|
-
server.registerTool('get_all_messages', { description: 'Retrieve all WhatsApp messages across all chats. This can return a large amount of data.', outputSchema: AllMessagesSchema }, async () => withErrorHandling(sync, () => store.getMessages()));
|
|
6
|
-
server.registerTool('get_all_messages_for_chat', { description: 'Retrieve all WhatsApp messages for a specific chat.', inputSchema: GetChatMessagesSchema, outputSchema: AllMessagesSchema }, async (args) => withErrorHandling(sync, () => store.getMessagesForChat(args.jid)));
|
|
5
|
+
server.registerTool('get_all_messages', { description: 'Retrieve all WhatsApp messages across all chats. This can return a large amount of data.', outputSchema: AllMessagesSchema }, async () => withErrorHandling(sync, () => ({ messages: store.getMessages() })));
|
|
6
|
+
server.registerTool('get_all_messages_for_chat', { description: 'Retrieve all WhatsApp messages for a specific chat.', inputSchema: GetChatMessagesSchema, outputSchema: AllMessagesSchema }, async (args) => withErrorHandling(sync, () => ({ messages: store.getMessagesForChat(args.jid) })));
|
|
7
7
|
}
|
|
8
8
|
const SendMessageSchema = z.object({
|
|
9
9
|
jid: JidSchema.describe('The JID of the recipient. For example 41791234567@s.whatsapp.net for an individual or 1234567890-1234567890@g.us for a group'),
|
|
@@ -14,14 +14,16 @@ const SendMessageSchema = z.object({
|
|
|
14
14
|
const GetChatMessagesSchema = z.object({
|
|
15
15
|
jid: JidSchema.describe('The JID of the chat. For example 41791234567@s.whatsapp.net for an individual or 1234567890-1234567890@g.us for a group'),
|
|
16
16
|
});
|
|
17
|
-
const AllMessagesSchema = z.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
17
|
+
const AllMessagesSchema = z.object({
|
|
18
|
+
messages: z.array(z.object({
|
|
19
|
+
id: z.string().describe('Unique identifier of the message'),
|
|
20
|
+
from: z.object({
|
|
21
|
+
jid: JidSchema.describe('The JID of the sender'),
|
|
22
|
+
name: z.string().describe('Display name of the sender'),
|
|
23
|
+
phone: z.string().optional().describe('Phone number of the sender in international format'),
|
|
24
|
+
}).describe('Sender information (undefined if the message was sent by you)').optional(),
|
|
25
|
+
message: z.string().describe('Text content of the message'),
|
|
26
|
+
messageTimestamp: z.number().describe('Unix timestamp of when the message was sent'),
|
|
27
|
+
})),
|
|
28
|
+
}).describe('List of all WhatsApp messages across all chats');
|
|
27
29
|
//# sourceMappingURL=messageTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageTools.js","sourceRoot":"","sources":["../../src/tools/messageTools.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,KAAoB,EAAE,IAAqB;IACjG,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,wCAAwC,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAC3H,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,mBAAmB,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CACnJ,CAAA;IAED,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,0FAA0F,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAClL,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAC/
|
|
1
|
+
{"version":3,"file":"messageTools.js","sourceRoot":"","sources":["../../src/tools/messageTools.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,KAAoB,EAAE,IAAqB;IACjG,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,wCAAwC,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAC3H,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,mBAAmB,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CACnJ,CAAA;IAED,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,0FAA0F,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAClL,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAC/E,CAAA;IAED,MAAM,CAAC,YAAY,CAAC,2BAA2B,EAAE,EAAE,WAAW,EAAE,qDAAqD,EAAE,WAAW,EAAE,qBAAqB,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAC1L,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAChG,CAAA;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,8HAA8H,CAAC;IACvJ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SAChB,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;SAClC,QAAQ,CAAC,iFAAiF,CAAC;CAC/F,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,yHAAyH,CAAC;CACnJ,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACzB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC3D,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACb,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YACvD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;SAC5F,CAAC,CAAC,QAAQ,CAAC,+DAA+D,CAAC,CAAC,QAAQ,EAAE;QACvF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAC3D,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;KACrF,CAAC,CAAC;CACJ,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC,CAAA"}
|