goto-assistant 0.5.2 → 0.5.3
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 +1 -1
- package/dist/whatsapp.js +28 -9
- package/dist/whatsapp.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -132,7 +132,7 @@ Schedule tasks to run periodically using natural language.
|
|
|
132
132
|
|
|
133
133
|
**Chat & manage tasks on WhatsApp**
|
|
134
134
|
|
|
135
|
-
<video src="https://github.com/user-attachments/assets/
|
|
135
|
+
<video src="https://github.com/user-attachments/assets/33a6bf28-2a57-426a-8002-b022178aa0d8" width="100%"></video>
|
|
136
136
|
|
|
137
137
|
Chat with the AI assistant and manage tasks from WhatsApp — the same assistant, on the go.
|
|
138
138
|
|
package/dist/whatsapp.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import makeWASocket, { useMultiFileAuthState, DisconnectReason, makeCacheableSignalKeyStore, downloadMediaMessage, } from "@whiskeysockets/baileys";
|
|
2
|
+
import makeWASocket, { useMultiFileAuthState, DisconnectReason, makeCacheableSignalKeyStore, fetchLatestWaWebVersion, downloadMediaMessage, } from "@whiskeysockets/baileys";
|
|
3
3
|
import QRCode from "qrcode";
|
|
4
4
|
import { DATA_DIR, loadConfig, loadMcpServers } from "./config.js";
|
|
5
5
|
import { routeMessage } from "./agents/router.js";
|
|
@@ -11,6 +11,10 @@ let sock = null;
|
|
|
11
11
|
let connectionStatus = "disconnected";
|
|
12
12
|
let currentQr = null;
|
|
13
13
|
let shouldReconnect = true;
|
|
14
|
+
let reconnectAttempts = 0;
|
|
15
|
+
const MAX_RECONNECT_ATTEMPTS = 10;
|
|
16
|
+
const BASE_RECONNECT_DELAY = 3000; // 3 seconds
|
|
17
|
+
const MAX_RECONNECT_DELAY = 60000; // 60 seconds
|
|
14
18
|
// Per-chatId queue: serialize message processing so concurrent messages don't collide
|
|
15
19
|
const chatQueues = new Map();
|
|
16
20
|
// Track message IDs sent by the agent to avoid processing our own replies
|
|
@@ -192,12 +196,15 @@ export async function startWhatsApp() {
|
|
|
192
196
|
connectionStatus = "connecting";
|
|
193
197
|
currentQr = null;
|
|
194
198
|
const { state, saveCreds } = await useMultiFileAuthState(AUTH_DIR);
|
|
199
|
+
// Fetch the latest WA web version to avoid 405 protocol mismatch errors
|
|
200
|
+
const { version } = await fetchLatestWaWebVersion();
|
|
195
201
|
sock = makeWASocket({
|
|
196
202
|
auth: {
|
|
197
203
|
creds: state.creds,
|
|
198
204
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Baileys expects a pino logger; pass undefined to suppress logs
|
|
199
205
|
keys: makeCacheableSignalKeyStore(state.keys, undefined),
|
|
200
206
|
},
|
|
207
|
+
version,
|
|
201
208
|
printQRInTerminal: false,
|
|
202
209
|
});
|
|
203
210
|
// Connection updates
|
|
@@ -212,21 +219,32 @@ export async function startWhatsApp() {
|
|
|
212
219
|
const loggedOut = statusCode === DisconnectReason.loggedOut;
|
|
213
220
|
currentQr = null;
|
|
214
221
|
sock = null;
|
|
215
|
-
if (
|
|
216
|
-
connectionStatus = "
|
|
217
|
-
|
|
218
|
-
|
|
222
|
+
if (loggedOut) {
|
|
223
|
+
connectionStatus = "disconnected";
|
|
224
|
+
reconnectAttempts = 0;
|
|
225
|
+
console.log("WhatsApp logged out. Scan QR code again to reconnect.");
|
|
219
226
|
}
|
|
220
|
-
else {
|
|
227
|
+
else if (!shouldReconnect) {
|
|
221
228
|
connectionStatus = "disconnected";
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
229
|
+
reconnectAttempts = 0;
|
|
230
|
+
}
|
|
231
|
+
else if (reconnectAttempts >= MAX_RECONNECT_ATTEMPTS) {
|
|
232
|
+
connectionStatus = "disconnected";
|
|
233
|
+
console.log(`WhatsApp reconnection failed after ${MAX_RECONNECT_ATTEMPTS} attempts (last status: ${statusCode ?? "unknown"}). Giving up.`);
|
|
234
|
+
reconnectAttempts = 0;
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
reconnectAttempts++;
|
|
238
|
+
const delay = Math.min(BASE_RECONNECT_DELAY * 2 ** (reconnectAttempts - 1), MAX_RECONNECT_DELAY);
|
|
239
|
+
connectionStatus = "connecting";
|
|
240
|
+
console.log(`WhatsApp connection closed (status: ${statusCode ?? "unknown"}), reconnecting in ${(delay / 1000).toFixed(0)}s... (attempt ${reconnectAttempts}/${MAX_RECONNECT_ATTEMPTS})`);
|
|
241
|
+
setTimeout(() => startWhatsApp(), delay);
|
|
225
242
|
}
|
|
226
243
|
}
|
|
227
244
|
else if (connection === "open") {
|
|
228
245
|
connectionStatus = "connected";
|
|
229
246
|
currentQr = null;
|
|
247
|
+
reconnectAttempts = 0;
|
|
230
248
|
console.log("WhatsApp connected successfully.");
|
|
231
249
|
}
|
|
232
250
|
});
|
|
@@ -243,6 +261,7 @@ export async function startWhatsApp() {
|
|
|
243
261
|
}
|
|
244
262
|
export async function stopWhatsApp() {
|
|
245
263
|
shouldReconnect = false;
|
|
264
|
+
reconnectAttempts = 0;
|
|
246
265
|
currentQr = null;
|
|
247
266
|
connectionStatus = "disconnected";
|
|
248
267
|
if (sock) {
|
package/dist/whatsapp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whatsapp.js","sourceRoot":"","sources":["../src/whatsapp.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,YAAY,EAAE,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,2BAA2B,EAC3B,oBAAoB,GAIrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,eAAe,EACf,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AAItD,IAAI,IAAI,GAAoB,IAAI,CAAC;AACjC,IAAI,gBAAgB,GAAqB,cAAc,CAAC;AACxD,IAAI,SAAS,GAAkB,IAAI,CAAC;AACpC,IAAI,eAAe,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"whatsapp.js","sourceRoot":"","sources":["../src/whatsapp.ts"],"names":[],"mappings":"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"}
|