@clickonsearch/whatsapp-agent 0.1.1 → 0.1.2
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 +2 -1
- package/dist/cli.js +1 -1
- package/dist/listener.js +15 -4
- package/dist/listener.js.map +1 -1
- package/dist/providers.js +13 -2
- package/dist/providers.js.map +1 -1
- package/dist/server-cli.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -85,7 +85,8 @@ as a backend, not just the bundled page.
|
|
|
85
85
|
| `ANTHROPIC_MODEL` | no | `claude-sonnet-5` |
|
|
86
86
|
| `DEEPSEEK_API_KEY` | if using DeepSeek | |
|
|
87
87
|
| `DEEPSEEK_MODEL` | no | `deepseek-chat` |
|
|
88
|
-
| `WHATSAPP_MCP_URL` | no | `http://
|
|
88
|
+
| `WHATSAPP_MCP_URL` | no | `http://127.0.0.1:4100` |
|
|
89
|
+
| `WHATSAPP_MCP_TOKEN` | only if the server needs one | |
|
|
89
90
|
| `PORT` | no, browser chat only | `3100` |
|
|
90
91
|
|
|
91
92
|
## Good to know
|
package/dist/cli.js
CHANGED
|
@@ -21,7 +21,7 @@ async function main() {
|
|
|
21
21
|
process.exitCode = 1;
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
|
-
const mcpServerUrl = process.env.WHATSAPP_MCP_URL ?? "http://
|
|
24
|
+
const mcpServerUrl = process.env.WHATSAPP_MCP_URL ?? "http://127.0.0.1:4100";
|
|
25
25
|
console.error(`whatsapp-agent starting (initial provider: ${provider}, whatsapp-mcp-server: ${mcpServerUrl})`);
|
|
26
26
|
await startListener({
|
|
27
27
|
mcpServerUrl,
|
package/dist/listener.js
CHANGED
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
import { setTimeout as sleep } from "node:timers/promises";
|
|
2
2
|
import { McpManager } from "@clickonsearch/openai-remote-mcp-bridge";
|
|
3
|
-
import { runAssistantAgent, whatsappServerConfig } from "./providers.js";
|
|
3
|
+
import { runAssistantAgent, whatsappAuthHeaders, whatsappServerConfig } from "./providers.js";
|
|
4
|
+
class UnauthorizedError extends Error {
|
|
5
|
+
constructor() {
|
|
6
|
+
super("whatsapp-mcp-server rejected our credentials (HTTP 401). Set WHATSAPP_MCP_TOKEN to the same value the server uses.");
|
|
7
|
+
}
|
|
8
|
+
}
|
|
4
9
|
/** Polls the whatsapp-mcp-server's /health until it reports a connected session, returning the self JID. */
|
|
5
10
|
async function waitForSelfId(mcpServerUrl, onLog) {
|
|
6
11
|
const healthUrl = new URL("/health", mcpServerUrl).toString();
|
|
7
12
|
for (;;) {
|
|
8
13
|
try {
|
|
9
|
-
const res = await fetch(healthUrl);
|
|
14
|
+
const res = await fetch(healthUrl, { headers: whatsappAuthHeaders() });
|
|
15
|
+
if (res.status === 401)
|
|
16
|
+
throw new UnauthorizedError();
|
|
10
17
|
const body = (await res.json());
|
|
11
18
|
if (body.connected && body.self)
|
|
12
19
|
return body.self;
|
|
13
20
|
}
|
|
14
|
-
catch {
|
|
21
|
+
catch (error) {
|
|
22
|
+
if (error instanceof UnauthorizedError)
|
|
23
|
+
throw error;
|
|
15
24
|
// whatsapp-mcp-server isn't up yet
|
|
16
25
|
}
|
|
17
26
|
onLog?.("Waiting for whatsapp-mcp-server to report a connected WhatsApp session...");
|
|
@@ -45,7 +54,9 @@ export async function startListener(options) {
|
|
|
45
54
|
onLog?.(`Connected. Listening for instructions in your "Message yourself" chat (${selfId}). Provider: ${provider}.`);
|
|
46
55
|
await replyToSelf(mcpServerUrl, selfId, `Assistant is online (provider: ${provider}).`);
|
|
47
56
|
const eventsUrl = new URL("/events", mcpServerUrl).toString();
|
|
48
|
-
const res = await fetch(eventsUrl);
|
|
57
|
+
const res = await fetch(eventsUrl, { headers: whatsappAuthHeaders() });
|
|
58
|
+
if (res.status === 401)
|
|
59
|
+
throw new UnauthorizedError();
|
|
49
60
|
if (!res.ok || !res.body) {
|
|
50
61
|
throw new Error(`Failed to connect to whatsapp-mcp-server's events stream: HTTP ${res.status}`);
|
|
51
62
|
}
|
package/dist/listener.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../src/listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAiB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../src/listener.ts"],"names":[],"mappings":"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"}
|
package/dist/providers.js
CHANGED
|
@@ -9,12 +9,23 @@ export function isProvider(value) {
|
|
|
9
9
|
}
|
|
10
10
|
export const WHATSAPP_SERVER_NAME = "whatsapp";
|
|
11
11
|
/**
|
|
12
|
-
* `baseUrl` is whatsapp-mcp-server's origin (e.g. "http://
|
|
12
|
+
* `baseUrl` is whatsapp-mcp-server's origin (e.g. "http://127.0.0.1:4100"),
|
|
13
13
|
* the same value used for its /health and /events endpoints elsewhere in
|
|
14
14
|
* this package — its actual MCP endpoint is at /mcp.
|
|
15
15
|
*/
|
|
16
16
|
export function whatsappServerConfig(baseUrl) {
|
|
17
|
-
|
|
17
|
+
const headers = whatsappAuthHeaders();
|
|
18
|
+
return {
|
|
19
|
+
name: WHATSAPP_SERVER_NAME,
|
|
20
|
+
url: new URL("/mcp", baseUrl).toString(),
|
|
21
|
+
transport: "http",
|
|
22
|
+
...(Object.keys(headers).length > 0 ? { headers } : {}),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/** Same WHATSAPP_MCP_TOKEN whatsapp-mcp-server checks; empty when that server doesn't require one. */
|
|
26
|
+
export function whatsappAuthHeaders() {
|
|
27
|
+
const token = process.env.WHATSAPP_MCP_TOKEN;
|
|
28
|
+
return token ? { Authorization: `Bearer ${token}` } : {};
|
|
18
29
|
}
|
|
19
30
|
export const DEFAULT_SYSTEM_PROMPT = [
|
|
20
31
|
"You are a personal WhatsApp assistant. The user just messaged themselves",
|
package/dist/providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAE/E,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,SAA+B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAE/C;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,OAAO,EAAE,IAAI,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
|
package/dist/server-cli.js
CHANGED
|
@@ -21,7 +21,7 @@ function main() {
|
|
|
21
21
|
process.exitCode = 1;
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
|
-
const mcpServerUrl = process.env.WHATSAPP_MCP_URL ?? "http://
|
|
24
|
+
const mcpServerUrl = process.env.WHATSAPP_MCP_URL ?? "http://127.0.0.1:4100";
|
|
25
25
|
const port = Number(process.env.PORT ?? 3100);
|
|
26
26
|
const app = createServer({ mcpServerUrl, defaultProvider });
|
|
27
27
|
app.listen(port, () => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clickonsearch/whatsapp-agent",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Personal WhatsApp assistant, usable two ways: message yourself on WhatsApp to give it instructions, or drive it from a browser chat UI over the AG-UI protocol. Routed through OpenAI, Claude, or DeepSeek depending on preference.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|