whazaa 0.6.4 → 0.6.6

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/index.js CHANGED
@@ -18,13 +18,13 @@
18
18
  * In setup mode stdout is the terminal — console.log is safe to use.
19
19
  */
20
20
  import { execSync, spawn } from "node:child_process";
21
- import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync } from "node:fs";
21
+ import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync, unlinkSync } from "node:fs";
22
22
  import { homedir } from "node:os";
23
23
  import { dirname, join } from "node:path";
24
24
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
25
25
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
26
26
  import { z } from "zod";
27
- import { initialize, getStatus, sendMessage, drainMessages, waitForMessages, triggerLogin, waitForConnection, waitForLogout, waitForQR, } from "./whatsapp.js";
27
+ import { initialize, getStatus, sendMessage, drainMessages, waitForMessages, triggerLogin, waitForConnection, waitForLogout, waitForQR, registerShutdownHandlers, } from "./whatsapp.js";
28
28
  import { resolveAuthDir, enableSetupMode, cleanupQR, suppressQRDisplay, unsuppressQRDisplay } from "./auth.js";
29
29
  import { watch } from "./watch.js";
30
30
  // ---------------------------------------------------------------------------
@@ -377,20 +377,28 @@ async function main() {
377
377
  }
378
378
  if (process.argv.includes("watch")) {
379
379
  const watchIdx = process.argv.indexOf("watch");
380
- const sessionId = process.argv[watchIdx + 1];
381
- if (!sessionId) {
382
- console.error("Usage: whazaa watch <iterm-session-id>");
383
- console.error("");
384
- console.error("The session ID is available as $ITERM_SESSION_ID in iTerm2.");
385
- console.error("Example: whazaa watch w1t1p0:9E273A47-BAAF-499E-9AF4-AAC5997FFF5E");
386
- process.exit(1);
387
- }
380
+ const sessionId = process.argv[watchIdx + 1]; // optional — watcher discovers dynamically
388
381
  await watch(sessionId);
389
382
  return;
390
383
  }
391
384
  // Kill stale Whazaa MCP server instances before starting.
392
385
  // Multiple instances compete for the same WhatsApp auth and cause disconnects.
393
386
  killStaleInstances();
387
+ // Register shutdown handlers for the MCP server process only.
388
+ // The watcher registers its own handlers; whatsapp.ts no longer does this
389
+ // at module scope to avoid side effects when imported by the watcher.
390
+ registerShutdownHandlers();
391
+ // Write PID file so the watcher knows the MCP server is running and won't
392
+ // compete for the same WhatsApp auth credentials.
393
+ const MCP_PID_FILE = "/tmp/whazaa-mcp.pid";
394
+ writeFileSync(MCP_PID_FILE, String(process.pid));
395
+ const removePidFile = () => {
396
+ try {
397
+ unlinkSync(MCP_PID_FILE);
398
+ }
399
+ catch { /* ignore */ }
400
+ };
401
+ process.on("exit", removePidFile);
394
402
  // Start WhatsApp connection in the background.
395
403
  // initialize() resolves once connected OR once a QR code has been emitted,
396
404
  // so the MCP server is immediately available for tool calls in both cases.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/watch.d.ts CHANGED
@@ -1,19 +1,32 @@
1
1
  /**
2
2
  * watch.ts — Smart terminal watcher for Claude Code integration
3
3
  *
4
- * Monitors the Whazaa incoming message log and types new messages
5
- * into an iTerm2 session running Claude Code.
4
+ * Monitors incoming WhatsApp self-chat messages via a direct Baileys connection
5
+ * (primary) and falls back to polling the MCP server's log file (secondary).
6
+ *
7
+ * Architecture:
8
+ * - Primary: Watcher connects to WhatsApp via Baileys using the same auth
9
+ * credentials as the MCP server (~/.whazaa/auth/). No extra QR scan needed.
10
+ * - Fallback: Polls /tmp/whazaa-incoming.log (written by the MCP server) to
11
+ * catch messages that may have arrived while the watcher's connection was
12
+ * re-establishing. New lines only — old messages are never replayed.
13
+ * - Deduplication: message IDs seen via the direct connection are tracked so
14
+ * the log-file fallback doesn't deliver them a second time.
6
15
  *
7
16
  * Smart session resolution (in order):
8
- * 1. Try the specified session ID (from /whatsapp on)
9
- * 2. If gone, find any iTerm2 session running claude
10
- * 3. If none, open a new iTerm2 tab, start claude, use that
17
+ * 1. Try the specified session ID, but only if Claude is actually running
18
+ * there (session is NOT at shell prompt)
19
+ * 2. If the session is gone or back at a shell prompt create a new tab,
20
+ * start claude, use that
21
+ * The watcher ALWAYS delivers to iTerm2 — even when the MCP server is
22
+ * running. The MCP server handles the WhatsApp connection; the watcher
23
+ * is the sole delivery mechanism to the Claude terminal.
11
24
  *
12
25
  * Usage: npx whazaa watch <session-id>
13
26
  *
14
27
  * Environment variables:
15
28
  * WHAZAA_LOG Path to incoming message log (default: /tmp/whazaa-incoming.log)
16
- * WHAZAA_POLL_INTERVAL Seconds between checks (default: 2)
29
+ * WHAZAA_POLL_INTERVAL Seconds between log-file checks (default: 2)
17
30
  */
18
- export declare function watch(rawSessionId: string): Promise<void>;
31
+ export declare function watch(rawSessionId?: string): Promise<void>;
19
32
  //# sourceMappingURL=watch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA0LH,wBAAsB,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8H/D"}
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAilBH,wBAAsB,KAAK,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2NhE"}
package/dist/watch.js CHANGED
@@ -1,23 +1,39 @@
1
1
  /**
2
2
  * watch.ts — Smart terminal watcher for Claude Code integration
3
3
  *
4
- * Monitors the Whazaa incoming message log and types new messages
5
- * into an iTerm2 session running Claude Code.
4
+ * Monitors incoming WhatsApp self-chat messages via a direct Baileys connection
5
+ * (primary) and falls back to polling the MCP server's log file (secondary).
6
+ *
7
+ * Architecture:
8
+ * - Primary: Watcher connects to WhatsApp via Baileys using the same auth
9
+ * credentials as the MCP server (~/.whazaa/auth/). No extra QR scan needed.
10
+ * - Fallback: Polls /tmp/whazaa-incoming.log (written by the MCP server) to
11
+ * catch messages that may have arrived while the watcher's connection was
12
+ * re-establishing. New lines only — old messages are never replayed.
13
+ * - Deduplication: message IDs seen via the direct connection are tracked so
14
+ * the log-file fallback doesn't deliver them a second time.
6
15
  *
7
16
  * Smart session resolution (in order):
8
- * 1. Try the specified session ID (from /whatsapp on)
9
- * 2. If gone, find any iTerm2 session running claude
10
- * 3. If none, open a new iTerm2 tab, start claude, use that
17
+ * 1. Try the specified session ID, but only if Claude is actually running
18
+ * there (session is NOT at shell prompt)
19
+ * 2. If the session is gone or back at a shell prompt create a new tab,
20
+ * start claude, use that
21
+ * The watcher ALWAYS delivers to iTerm2 — even when the MCP server is
22
+ * running. The MCP server handles the WhatsApp connection; the watcher
23
+ * is the sole delivery mechanism to the Claude terminal.
11
24
  *
12
25
  * Usage: npx whazaa watch <session-id>
13
26
  *
14
27
  * Environment variables:
15
28
  * WHAZAA_LOG Path to incoming message log (default: /tmp/whazaa-incoming.log)
16
- * WHAZAA_POLL_INTERVAL Seconds between checks (default: 2)
29
+ * WHAZAA_POLL_INTERVAL Seconds between log-file checks (default: 2)
17
30
  */
18
- import { existsSync, readFileSync, writeFileSync } from "node:fs";
31
+ import { existsSync, readFileSync } from "node:fs";
19
32
  import { spawnSync } from "node:child_process";
20
33
  import { homedir } from "node:os";
34
+ import makeWASocket, { DisconnectReason, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, useMultiFileAuthState, } from "@whiskeysockets/baileys";
35
+ import pino from "pino";
36
+ import { resolveAuthDir } from "./auth.js";
21
37
  function resolveConfig(sessionId) {
22
38
  return {
23
39
  sessionId,
@@ -78,7 +94,7 @@ tell application "iTerm2"
78
94
  repeat with aSession in sessions of aTab
79
95
  set sessionId to id of aSession
80
96
  set sessionName to name of aSession
81
- set output to output & sessionId & tab & sessionName & linefeed
97
+ set output to output & sessionId & (ASCII character 9) & sessionName & linefeed
82
98
  end repeat
83
99
  end repeat
84
100
  end repeat
@@ -102,6 +118,47 @@ end tell`;
102
118
  }
103
119
  return null;
104
120
  }
121
+ /**
122
+ * Check whether Claude is actually running in the given iTerm2 session.
123
+ *
124
+ * Uses iTerm2's `is at shell prompt` AppleScript property. When a foreground
125
+ * process (like `claude`) is running, the session is NOT at the shell prompt,
126
+ * so `is at shell prompt` returns false. When Claude has exited and the tab
127
+ * is back at a bare shell, it returns true — meaning we must NOT type into it.
128
+ *
129
+ * Returns true if Claude appears to be running, false if the session is at a
130
+ * shell prompt (stale) or the session ID cannot be found.
131
+ */
132
+ function isClaudeRunningInSession(sessionId) {
133
+ const script = `
134
+ tell application "iTerm2"
135
+ repeat with aWindow in windows
136
+ repeat with aTab in tabs of aWindow
137
+ repeat with aSession in sessions of aTab
138
+ if id of aSession is "${sessionId}" then
139
+ if (is at shell prompt of aSession) then
140
+ return "shell"
141
+ else
142
+ return "running"
143
+ end if
144
+ end if
145
+ end repeat
146
+ end repeat
147
+ end repeat
148
+ return "not_found"
149
+ end tell`;
150
+ const result = runAppleScript(script);
151
+ if (result === "running") {
152
+ return true;
153
+ }
154
+ if (result === "shell") {
155
+ process.stderr.write(`[whazaa-watch] Session ${sessionId} is at shell prompt — Claude has exited.\n`);
156
+ }
157
+ else {
158
+ process.stderr.write(`[whazaa-watch] Session ${sessionId} not found in iTerm2.\n`);
159
+ }
160
+ return false;
161
+ }
105
162
  /**
106
163
  * Check if iTerm2 is running.
107
164
  */
@@ -167,67 +224,386 @@ end tell`;
167
224
  spawnSync("sleep", ["8"]);
168
225
  return sessionId;
169
226
  }
227
+ // --- MCP server detection ----------------------------------------------------
228
+ const MCP_PID_FILE = "/tmp/whazaa-mcp.pid";
229
+ /**
230
+ * Check if the MCP server is currently running by reading its PID file and
231
+ * verifying the process is alive. When the MCP server is active, the watcher
232
+ * must NOT connect to WhatsApp (same auth credentials → connection fight).
233
+ */
234
+ function isMcpServerRunning() {
235
+ if (!existsSync(MCP_PID_FILE))
236
+ return false;
237
+ try {
238
+ const pid = parseInt(readFileSync(MCP_PID_FILE, "utf-8").trim(), 10);
239
+ if (!pid)
240
+ return false;
241
+ // kill(pid, 0) tests whether the process exists without actually sending a signal
242
+ process.kill(pid, 0);
243
+ return true;
244
+ }
245
+ catch {
246
+ return false;
247
+ }
248
+ }
249
+ /**
250
+ * Connect to WhatsApp via Baileys and call onMessage whenever a self-chat
251
+ * message arrives. Uses the same auth credentials as the MCP server.
252
+ *
253
+ * Returns a cleanup function that tears down the connection gracefully.
254
+ */
255
+ async function connectWatcher(onMessage) {
256
+ // Silenced logger — watcher is not an MCP server (stdout is safe), but
257
+ // we still don't want Baileys flooding our console output.
258
+ const logger = pino({ level: "silent" });
259
+ const authDir = resolveAuthDir();
260
+ const status = {
261
+ connected: false,
262
+ phoneNumber: null,
263
+ selfJid: null,
264
+ selfLid: null,
265
+ };
266
+ let sock = null;
267
+ let reconnectTimer = null;
268
+ let reconnectAttempts = 0;
269
+ let permanentlyLoggedOut = false;
270
+ let stopped = false;
271
+ const MAX_RECONNECT_DELAY_MS = 60_000;
272
+ function scheduleReconnect() {
273
+ if (stopped || permanentlyLoggedOut || reconnectTimer)
274
+ return;
275
+ reconnectAttempts++;
276
+ const delay = Math.min(1_000 * Math.pow(2, reconnectAttempts - 1), MAX_RECONNECT_DELAY_MS);
277
+ process.stderr.write(`[whazaa-watch] WhatsApp reconnecting in ${delay / 1_000}s (attempt ${reconnectAttempts})...\n`);
278
+ reconnectTimer = setTimeout(() => {
279
+ reconnectTimer = null;
280
+ if (!stopped) {
281
+ openSocket().catch((err) => {
282
+ process.stderr.write(`[whazaa-watch] Reconnect error: ${err}\n`);
283
+ });
284
+ }
285
+ }, delay);
286
+ }
287
+ async function openSocket() {
288
+ const { state: authState, saveCreds } = await useMultiFileAuthState(authDir);
289
+ const { version } = await fetchLatestBaileysVersion();
290
+ sock = makeWASocket({
291
+ auth: {
292
+ creds: authState.creds,
293
+ keys: makeCacheableSignalKeyStore(authState.keys, logger),
294
+ },
295
+ version,
296
+ browser: ["Whazaa-Watch", "cli", "0.1.0"],
297
+ printQRInTerminal: false,
298
+ syncFullHistory: false,
299
+ markOnlineOnConnect: false,
300
+ logger,
301
+ });
302
+ sock.ev.on("creds.update", saveCreds);
303
+ sock.ev.on("connection.update", ({ connection, lastDisconnect, qr }) => {
304
+ if (qr) {
305
+ // The watcher should never need a QR — the MCP server handles initial
306
+ // pairing. If a QR appears it means credentials are stale.
307
+ process.stderr.write("[whazaa-watch] QR code requested — credentials may be stale. " +
308
+ "Run 'npx whazaa setup' to re-pair.\n");
309
+ }
310
+ if (connection === "open") {
311
+ status.connected = true;
312
+ reconnectAttempts = 0;
313
+ const jid = sock?.user?.id ?? null;
314
+ if (jid) {
315
+ const number = jid.split(":")[0].split("@")[0];
316
+ status.phoneNumber = number;
317
+ status.selfJid = `${number}@s.whatsapp.net`;
318
+ }
319
+ const lid = sock?.user?.lid;
320
+ if (lid) {
321
+ status.selfLid = lid;
322
+ }
323
+ process.stderr.write(`[whazaa-watch] WhatsApp connected. Phone: +${status.phoneNumber ?? "unknown"}\n`);
324
+ }
325
+ if (connection === "close") {
326
+ status.connected = false;
327
+ const statusCode = lastDisconnect?.error?.output
328
+ ?.statusCode;
329
+ if (statusCode === DisconnectReason.loggedOut) {
330
+ permanentlyLoggedOut = true;
331
+ process.stderr.write("[whazaa-watch] Logged out (401). Run 'npx whazaa setup' to re-pair.\n");
332
+ return;
333
+ }
334
+ if (!stopped) {
335
+ process.stderr.write("[whazaa-watch] Connection closed. Will reconnect...\n");
336
+ scheduleReconnect();
337
+ }
338
+ }
339
+ });
340
+ sock.ev.on("messages.upsert", ({ messages }) => {
341
+ // Only process messages after we know our own JID
342
+ if (!status.selfJid && !status.selfLid && !status.phoneNumber)
343
+ return;
344
+ const stripDevice = (jid) => jid.replace(/:\d+@/, "@");
345
+ const selfLid = status.selfLid ? stripDevice(status.selfLid) : null;
346
+ for (const msg of messages) {
347
+ const remoteJid = msg.key?.remoteJid;
348
+ const body = msg.message?.conversation ??
349
+ msg.message?.extendedTextMessage?.text ??
350
+ null;
351
+ if (!body || !remoteJid)
352
+ continue;
353
+ // Filter to self-chat only: match selfJid, selfLid, or phone number prefix
354
+ const remoteJidNorm = stripDevice(remoteJid);
355
+ const isSelfChat = (status.selfJid && remoteJidNorm === stripDevice(status.selfJid)) ||
356
+ (selfLid && remoteJidNorm === selfLid) ||
357
+ (status.phoneNumber && remoteJid.startsWith(status.phoneNumber));
358
+ if (!isSelfChat)
359
+ continue;
360
+ const msgId = msg.key?.id ?? "";
361
+ onMessage(body, msgId);
362
+ }
363
+ });
364
+ }
365
+ // Start the initial connection
366
+ await openSocket().catch((err) => {
367
+ process.stderr.write(`[whazaa-watch] Initial connect error: ${err}\n`);
368
+ scheduleReconnect();
369
+ });
370
+ // Return cleanup function
371
+ return function cleanup() {
372
+ stopped = true;
373
+ if (reconnectTimer) {
374
+ clearTimeout(reconnectTimer);
375
+ reconnectTimer = null;
376
+ }
377
+ if (sock) {
378
+ try {
379
+ sock.end(undefined);
380
+ }
381
+ catch {
382
+ // Ignore
383
+ }
384
+ sock = null;
385
+ }
386
+ };
387
+ }
388
+ // ---------------------------------------------------------------------------
389
+ // Recent-body deduplication window
390
+ // ---------------------------------------------------------------------------
391
+ // When the direct WhatsApp connection delivers a message, trackBody() records
392
+ // it here. The log-file fallback poller checks this set before delivering so
393
+ // that a message arriving via both paths is only typed into iTerm2 once.
394
+ // Entries are evicted after 30 seconds.
395
+ // ---------------------------------------------------------------------------
396
+ const recentBodies = new Set();
397
+ function trackBody(body) {
398
+ recentBodies.add(body);
399
+ setTimeout(() => recentBodies.delete(body), 30_000);
400
+ }
401
+ // --- Command handlers --------------------------------------------------------
402
+ /**
403
+ * Find an iTerm2 session that is running Claude in the given directory.
404
+ *
405
+ * Iterates all sessions, checks if their name contains "claude" (indicating
406
+ * Claude Code is running), and compares the session's working directory (via
407
+ * the `variable named "session.path"` AppleScript property) to the target.
408
+ *
409
+ * Returns the session ID if found, null otherwise.
410
+ */
411
+ function findClaudeInDirectory(targetDir) {
412
+ const script = `
413
+ tell application "iTerm2"
414
+ set output to ""
415
+ repeat with aWindow in windows
416
+ repeat with aTab in tabs of aWindow
417
+ repeat with aSession in sessions of aTab
418
+ set sessionId to id of aSession
419
+ set sessionName to name of aSession
420
+ set sessionPath to (variable named "session.path" of aSession)
421
+ set output to output & sessionId & (ASCII character 9) & sessionName & (ASCII character 9) & sessionPath & linefeed
422
+ end repeat
423
+ end repeat
424
+ end repeat
425
+ return output
426
+ end tell`;
427
+ const result = runAppleScript(script);
428
+ if (!result)
429
+ return null;
430
+ const lines = result.split("\n").filter(Boolean);
431
+ for (const line of lines) {
432
+ const parts = line.split("\t");
433
+ if (parts.length < 3)
434
+ continue;
435
+ const id = parts[0];
436
+ const name = parts[1].toLowerCase();
437
+ const sessionPath = parts[2];
438
+ if (name.includes("claude") && sessionPath === targetDir) {
439
+ process.stderr.write(`[whazaa-watch] Found existing Claude session in ${targetDir}: ${id}\n`);
440
+ return id;
441
+ }
442
+ }
443
+ return null;
444
+ }
445
+ /**
446
+ * Handle a /relocate <path> command received via WhatsApp.
447
+ *
448
+ * First checks if Claude is already running in the target directory.
449
+ * If so, focuses that tab instead of opening a duplicate.
450
+ * Otherwise, opens a new iTerm2 tab, cds to the given path, and starts `claude`.
451
+ */
452
+ function handleRelocate(targetPath) {
453
+ process.stderr.write(`[whazaa-watch] /relocate -> ${targetPath}\n`);
454
+ // Expand ~ manually so the AppleScript shell command resolves it correctly
455
+ const expandedPath = targetPath.startsWith("~/")
456
+ ? homedir() + targetPath.slice(1)
457
+ : targetPath;
458
+ // Check if Claude is already running in this directory
459
+ const existingSession = findClaudeInDirectory(expandedPath);
460
+ if (existingSession) {
461
+ // Focus the existing session instead of opening a new tab
462
+ const focusScript = `
463
+ tell application "iTerm2"
464
+ repeat with aWindow in windows
465
+ repeat with aTab in tabs of aWindow
466
+ repeat with aSession in sessions of aTab
467
+ if id of aSession is "${existingSession}" then
468
+ set current tab of aWindow to aTab
469
+ set frontmost of aWindow to true
470
+ activate
471
+ return "focused"
472
+ end if
473
+ end repeat
474
+ end repeat
475
+ end repeat
476
+ return "not_found"
477
+ end tell`;
478
+ const focusResult = runAppleScript(focusScript);
479
+ if (focusResult === "focused") {
480
+ process.stderr.write(`[whazaa-watch] /relocate: focused existing session ${existingSession} in ${targetPath}\n`);
481
+ }
482
+ else {
483
+ process.stderr.write(`[whazaa-watch] /relocate: session ${existingSession} vanished, opening new tab\n`);
484
+ }
485
+ if (focusResult === "focused")
486
+ return;
487
+ }
488
+ // No existing session — open a new tab
489
+ // Escape double-quotes and backslashes for embedding inside AppleScript string literals
490
+ const escapedPath = expandedPath.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
491
+ const script = `
492
+ tell application "iTerm2"
493
+ if (count of windows) = 0 then
494
+ set newWindow to (create window with default profile)
495
+ tell current session of current tab of newWindow
496
+ write text "cd \\"${escapedPath}\\" && claude"
497
+ end tell
498
+ else
499
+ tell current window
500
+ set newTab to (create tab with default profile)
501
+ tell current session of newTab
502
+ write text "cd \\"${escapedPath}\\" && claude"
503
+ end tell
504
+ end tell
505
+ end if
506
+ end tell`;
507
+ const result = runAppleScript(script);
508
+ if (result === null) {
509
+ process.stderr.write("[whazaa-watch] /relocate: failed to open new iTerm2 tab\n");
510
+ }
511
+ else {
512
+ process.stderr.write(`[whazaa-watch] /relocate: opened new tab in ${targetPath}\n`);
513
+ }
514
+ }
170
515
  // --- Main loop ---------------------------------------------------------------
171
516
  export async function watch(rawSessionId) {
172
- // Strip the iTerm2 prefix (e.g. "w1t1p0:GUID" "GUID")
173
- let activeSessionId = rawSessionId.includes(":")
174
- ? rawSessionId.split(":").pop()
175
- : rawSessionId;
517
+ // Strip the iTerm2 prefix (e.g. "w1t1p0:GUID" -> "GUID") or start with no cached session
518
+ let activeSessionId = rawSessionId
519
+ ? rawSessionId.includes(":") ? rawSessionId.split(":").pop() : rawSessionId
520
+ : "";
176
521
  const config = resolveConfig(activeSessionId);
177
- // Ensure log file exists and is empty
178
- writeFileSync(config.logFile, "");
522
+ const mcpRunning = isMcpServerRunning();
523
+ const mode = mcpRunning ? "Log-file only (MCP server active)" : "Direct WhatsApp + log-file fallback";
179
524
  console.log(`Whazaa Watch`);
180
525
  console.log(` Session: ${activeSessionId}`);
181
526
  console.log(` Log file: ${config.logFile}`);
182
527
  console.log(` Interval: ${config.pollInterval / 1_000}s`);
183
- console.log(` Mode: Smart (auto-find/create claude sessions)`);
184
- console.log(`\nWaiting for messages...\n`);
185
- let seen = 0;
528
+ console.log(` Mode: ${mode}`);
529
+ console.log();
186
530
  let consecutiveFailures = 0;
531
+ // Log-file: read current line count so we don't replay old messages.
532
+ // We don't truncate — the MCP server writes to this file and owns it.
533
+ let seen = 0;
534
+ if (existsSync(config.logFile)) {
535
+ try {
536
+ const content = readFileSync(config.logFile, "utf-8");
537
+ seen = content.split("\n").filter(Boolean).length;
538
+ process.stderr.write(`[whazaa-watch] Log file has ${seen} existing lines — skipping them.\n`);
539
+ }
540
+ catch {
541
+ // If we can't read it, start from 0 (may replay a few messages on startup)
542
+ }
543
+ }
187
544
  // Graceful shutdown
545
+ let cleanupWatcher = null;
188
546
  const cleanup = (signal) => {
189
547
  console.log(`\n[whazaa-watch] ${signal} received. Stopping.`);
548
+ if (cleanupWatcher)
549
+ cleanupWatcher();
190
550
  process.exit(0);
191
551
  };
192
552
  process.on("SIGINT", () => cleanup("SIGINT"));
193
553
  process.on("SIGTERM", () => cleanup("SIGTERM"));
194
554
  /**
195
- * Smart delivery: try to type into a session, with fallback chain.
196
- * 1. Try active session
197
- * 2. Find any claude session
198
- * 3. Create new claude session
555
+ * Top-level message handler.
556
+ *
557
+ * Intercepts special watcher commands (e.g. /relocate) before they reach
558
+ * Claude. Everything else is forwarded to deliverMessage() as usual.
199
559
  */
200
- function deliverMessage(text) {
201
- // Attempt 1: try current active session
202
- if (typeIntoSession(activeSessionId, text)) {
203
- consecutiveFailures = 0;
204
- return true;
560
+ function handleMessage(text) {
561
+ if (text.startsWith("/relocate ")) {
562
+ const targetPath = text.slice("/relocate ".length).trim();
563
+ if (targetPath) {
564
+ handleRelocate(targetPath);
565
+ return;
566
+ }
567
+ process.stderr.write("[whazaa-watch] /relocate: no path provided\n");
568
+ return;
205
569
  }
206
- process.stderr.write(`[whazaa-watch] Session ${activeSessionId} not found. Searching for claude...\n`);
207
- // Attempt 2: find any existing claude session
208
- const found = findClaudeSession();
209
- if (found) {
210
- activeSessionId = found;
211
- process.stderr.write(`[whazaa-watch] Retargeted to session: ${activeSessionId}\n`);
570
+ deliverMessage(text);
571
+ }
572
+ /**
573
+ * Smart delivery: type message into the active Claude session.
574
+ *
575
+ * The watcher ALWAYS delivers to iTerm2 — it is the sole delivery mechanism.
576
+ * The MCP server handles the WhatsApp connection (sending/receiving), but the
577
+ * watcher is what actually types messages into the Claude terminal.
578
+ *
579
+ * 1. If cached session exists AND Claude is running there → type into it
580
+ * 2. Search all iTerm2 sessions for one running Claude → type into it
581
+ * 3. Otherwise → create a new Claude session and type into that
582
+ */
583
+ function deliverMessage(text) {
584
+ // Attempt 1: try the cached session (if we have one), but only if Claude
585
+ // is actually running there.
586
+ if (activeSessionId && isClaudeRunningInSession(activeSessionId)) {
212
587
  if (typeIntoSession(activeSessionId, text)) {
213
588
  consecutiveFailures = 0;
214
589
  return true;
215
590
  }
216
591
  }
217
- // Attempt 2b: retry after a short delay (AppleScript may need time after launchd start)
218
- process.stderr.write("[whazaa-watch] Retrying session search after delay...\n");
219
- spawnSync("sleep", ["2"]);
220
- const retryFound = findClaudeSession();
221
- if (retryFound) {
222
- activeSessionId = retryFound;
223
- process.stderr.write(`[whazaa-watch] Retargeted to session: ${activeSessionId}\n`);
592
+ process.stderr.write(`[whazaa-watch] ${activeSessionId ? `Session ${activeSessionId} is not running Claude.` : "No cached session."} Searching for another...\n`);
593
+ // Attempt 2: search all iTerm2 sessions for one actually running Claude.
594
+ // findClaudeSession() matches tab titles containing "claude", but we gate
595
+ // each match with isClaudeRunningInSession() to skip stale tabs.
596
+ const found = findClaudeSession();
597
+ process.stderr.write(`[whazaa-watch] findClaudeSession() returned: ${found ?? "null"}\n`);
598
+ if (found && isClaudeRunningInSession(found)) {
599
+ activeSessionId = found;
224
600
  if (typeIntoSession(activeSessionId, text)) {
225
601
  consecutiveFailures = 0;
226
602
  return true;
227
603
  }
228
604
  }
229
- // Attempt 3: create a new claude session
230
- process.stderr.write("[whazaa-watch] No claude session found. Starting new one...\n");
605
+ process.stderr.write(`[whazaa-watch] No running Claude session found. Starting new one...\n`);
606
+ // Attempt 3: create a fresh Claude session
231
607
  const created = createClaudeSession();
232
608
  if (created) {
233
609
  activeSessionId = created;
@@ -241,7 +617,52 @@ export async function watch(rawSessionId) {
241
617
  process.stderr.write(`[whazaa-watch] Failed to deliver message (attempt ${consecutiveFailures})\n`);
242
618
  return false;
243
619
  }
244
- // Poll loop
620
+ // --- Mode selection: direct WhatsApp or log-file only ----------------------
621
+ //
622
+ // Only one Baileys instance can use the same auth credentials at a time.
623
+ // When the MCP server is running (it owns the WhatsApp connection for
624
+ // sending), the watcher must NOT connect — it reads the log file instead.
625
+ // When the MCP server is NOT running, the watcher connects directly.
626
+ //
627
+ // The watcher re-checks every 30 seconds and switches mode as needed.
628
+ let directMode = !mcpRunning;
629
+ if (directMode) {
630
+ console.log(`Connecting to WhatsApp...\n`);
631
+ cleanupWatcher = await connectWatcher((body, _msgId) => {
632
+ trackBody(body);
633
+ console.log(`[whazaa-watch] (direct) -> ${body}`);
634
+ handleMessage(body);
635
+ });
636
+ }
637
+ else {
638
+ console.log(`Waiting for messages (via MCP server log)...\n`);
639
+ }
640
+ // Periodically re-check whether the MCP server started/stopped
641
+ setInterval(async () => {
642
+ const mcpNow = isMcpServerRunning();
643
+ if (directMode && mcpNow) {
644
+ // MCP server just started — disconnect watcher to avoid conflict
645
+ process.stderr.write("[whazaa-watch] MCP server detected — switching to log-file mode.\n");
646
+ if (cleanupWatcher) {
647
+ cleanupWatcher();
648
+ cleanupWatcher = null;
649
+ }
650
+ directMode = false;
651
+ }
652
+ else if (!directMode && !mcpNow) {
653
+ // MCP server stopped — watcher takes over WhatsApp directly
654
+ process.stderr.write("[whazaa-watch] MCP server gone — connecting to WhatsApp directly.\n");
655
+ directMode = true;
656
+ cleanupWatcher = await connectWatcher((body, _msgId) => {
657
+ trackBody(body);
658
+ console.log(`[whazaa-watch] (direct) -> ${body}`);
659
+ handleMessage(body);
660
+ });
661
+ }
662
+ }, 30_000);
663
+ // --- Log-file polling (always active) --------------------------------------
664
+ // In direct mode: fallback for messages written by MCP server.
665
+ // In log-file mode: primary message source.
245
666
  setInterval(() => {
246
667
  if (!existsSync(config.logFile))
247
668
  return;
@@ -261,8 +682,15 @@ export async function watch(rawSessionId) {
261
682
  const msg = line.replace(/^\[[^\]]*\]\s*/, "");
262
683
  if (!msg)
263
684
  continue;
264
- console.log(`[whazaa-watch] ${msg}`);
265
- deliverMessage(msg);
685
+ // Deduplicate: if the direct WhatsApp connection already delivered this
686
+ // message body (within the last 30 seconds), skip it here.
687
+ if (recentBodies.has(msg)) {
688
+ process.stderr.write(`[whazaa-watch] (log) skipping duplicate: ${msg.slice(0, 60)}\n`);
689
+ continue;
690
+ }
691
+ const source = directMode ? "fallback" : "log";
692
+ console.log(`[whazaa-watch] (${source}) -> ${msg}`);
693
+ handleMessage(msg);
266
694
  }
267
695
  seen = lines.length;
268
696
  }, config.pollInterval);
package/dist/watch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"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"}
@@ -74,4 +74,11 @@ export declare function drainMessages(): QueuedMessage[];
74
74
  * Returns empty array on timeout.
75
75
  */
76
76
  export declare function waitForMessages(timeoutMs: number): Promise<QueuedMessage[]>;
77
+ /**
78
+ * Register SIGINT/SIGTERM handlers for graceful shutdown.
79
+ * Call this only from the MCP server path — NOT from the watcher process.
80
+ * (The watcher registers its own handlers and importing whatsapp.ts should
81
+ * not add handlers as a module-level side effect.)
82
+ */
83
+ export declare function registerShutdownHandlers(): void;
77
84
  //# sourceMappingURL=whatsapp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp.d.ts","sourceRoot":"","sources":["../src/whatsapp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAiBH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,0DAA0D;IAC1D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,wEAAwE;IACxE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,8CAA8C;IAC9C,UAAU,EAAE,OAAO,CAAC;CACrB;AAiQD;;;;GAIG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAQhD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAOnD;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAO7C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAIzC;AAED;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CA4BlD;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,cAAc,CAE1C;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BhE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,aAAa,EAAE,CAI/C;AAgBD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAkB3E"}
1
+ {"version":3,"file":"whatsapp.d.ts","sourceRoot":"","sources":["../src/whatsapp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAiBH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,0DAA0D;IAC1D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,wEAAwE;IACxE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,8CAA8C;IAC9C,UAAU,EAAE,OAAO,CAAC;CACrB;AAiQD;;;;GAIG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAQhD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAOnD;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAO7C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAIzC;AAED;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CA4BlD;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,cAAc,CAE1C;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BhE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,aAAa,EAAE,CAI/C;AAgBD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAkB3E;AAwBD;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C"}
package/dist/whatsapp.js CHANGED
@@ -391,6 +391,14 @@ function shutdown(signal) {
391
391
  }
392
392
  process.exit(0);
393
393
  }
394
- process.on("SIGINT", () => shutdown("SIGINT"));
395
- process.on("SIGTERM", () => shutdown("SIGTERM"));
394
+ /**
395
+ * Register SIGINT/SIGTERM handlers for graceful shutdown.
396
+ * Call this only from the MCP server path — NOT from the watcher process.
397
+ * (The watcher registers its own handlers and importing whatsapp.ts should
398
+ * not add handlers as a module-level side effect.)
399
+ */
400
+ export function registerShutdownHandlers() {
401
+ process.on("SIGINT", () => shutdown("SIGINT"));
402
+ process.on("SIGTERM", () => shutdown("SIGTERM"));
403
+ }
396
404
  //# sourceMappingURL=whatsapp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp.js","sourceRoot":"","sources":["../src/whatsapp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIzC,OAAO,YAAY,EAAE,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpD,gFAAgF;AAEhF,yDAAyD;AACzD,IAAI,IAAI,GAA2C,IAAI,CAAC;AAExD,6DAA6D;AAC7D,MAAM,YAAY,GAAoB,EAAE,CAAC;AAEzC,wEAAwE;AACxE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;AAEzC,oDAAoD;AACpD,IAAI,MAAM,GAAmB;IAC3B,SAAS,EAAE,KAAK;IAChB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF,2BAA2B;AAC3B,IAAI,cAAc,GAAyC,IAAI,CAAC;AAChE,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAC1B,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,8DAA8D;AAC9D,IAAI,oBAAoB,GAAG,KAAK,CAAC;AAEjC,oFAAoF;AACpF,IAAI,WAAW,GAAwB,IAAI,CAAC;AAE5C,qEAAqE;AACrE,IAAI,gBAAgB,GAA2C,IAAI,CAAC;AAEpE,qEAAqE;AACrE,IAAI,aAAa,GAAwB,IAAI,CAAC;AAE9C,mFAAmF;AACnF,IAAI,SAAS,GAAwB,IAAI,CAAC;AAE1C,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEzC;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,IAAI;SACR,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;SAClC,OAAO,CAAC,uCAAuC,EAAE,MAAM,CAAC;SACxD,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB;IACxB,IAAI,oBAAoB;QAAE,OAAO;IACjC,IAAI,cAAc;QAAE,OAAO,CAAC,oBAAoB;IAEhD,iBAAiB,EAAE,CAAC;IACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC,EAC1C,sBAAsB,CACvB,CAAC;IAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4BAA4B,KAAK,GAAG,KAAK,cAAc,iBAAiB,QAAQ,CACjF,CAAC;IAEF,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;QAC/B,cAAc,GAAG,IAAI,CAAC;QACtB,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,GAAG,IAAI,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC;AAED,gFAAgF;AAEhF;;;;;GAKG;AACH,KAAK,UAAU,OAAO;IACpB,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC7E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,yBAAyB,EAAE,CAAC;IAEtD,IAAI,GAAG,YAAY,CAAC;QAClB,IAAI,EAAE;YACJ,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,IAAI,EAAE,2BAA2B,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;SAC1D;QACD,OAAO;QACP,yDAAyD;QACzD,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC;QACnC,iBAAiB,EAAE,KAAK,EAAE,2CAA2C;QACrE,eAAe,EAAE,KAAK;QACtB,mBAAmB,EAAE,KAAK;QAC1B,MAAM;KACP,CAAC,CAAC;IAEH,gDAAgD;IAChD,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAEtC,8BAA8B;IAC9B,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE;QACrE,yCAAyC;QACzC,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;YACzB,OAAO,CAAC,EAAE,CAAC,CAAC;YAEZ,wEAAwE;YACxE,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,EAAE,CAAC;gBACd,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YAED,wEAAwE;YACxE,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,EAAE,CAAC;gBACZ,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YAC1B,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;YAC1B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,iBAAiB,GAAG,CAAC,CAAC;YAEtB,0DAA0D;YAC1D,MAAM,GAAG,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC;YACnC,IAAI,GAAG,EAAE,CAAC;gBACR,4EAA4E;gBAC5E,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;gBAC5B,MAAM,CAAC,OAAO,GAAG,GAAG,MAAM,iBAAiB,CAAC;YAC9C,CAAC;YACD,6DAA6D;YAC7D,MAAM,GAAG,GAAI,IAAI,EAAE,IAA2C,EAAE,GAAyB,CAAC;YAC1F,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;YACvB,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+BAA+B,MAAM,CAAC,WAAW,IAAI,SAAS,IAAI,CACnE,CAAC;YAEF,gDAAgD;YAChD,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,EAAE,CAAC;gBACd,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YAED,2DAA2D;YAC3D,IAAI,gBAAgB,EAAE,CAAC;gBACrB,gBAAgB,CAAC,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;gBAClD,gBAAgB,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;YAEzB,MAAM,UAAU,GACb,cAAc,EAAE,KAA8C,EAAE,MAAM;gBACrE,EAAE,UAAU,CAAC;YAEjB,IAAI,UAAU,KAAK,gBAAgB,CAAC,SAAS,EAAE,CAAC;gBAC9C,gEAAgE;gBAChE,oBAAoB,GAAG,IAAI,CAAC;gBAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6DAA6D,CAC9D,CAAC;gBAEF,IAAI,aAAa,EAAE,CAAC;oBAClB,aAAa,EAAE,CAAC;oBAChB,aAAa,GAAG,IAAI,CAAC;gBACvB,CAAC;gBAED,IAAI,WAAW,EAAE,CAAC;oBAChB,WAAW,EAAE,CAAC;oBACd,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACxE,iBAAiB,EAAE,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,gEAAgE;IAChE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;QACnD,2EAA2E;QAC3E,8DAA8D;QAE9D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC;YACrC,MAAM,IAAI,GACR,GAAG,CAAC,OAAO,EAAE,YAAY;gBACzB,GAAG,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI;gBACtC,IAAI,CAAC;YAEP,2EAA2E;YAC3E,0DAA0D;YAC1D,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,MAAM,UAAU,GACd,CAAC,MAAM,CAAC,OAAO,IAAI,aAAa,KAAK,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACjE,CAAC,OAAO,IAAI,aAAa,KAAK,OAAO,CAAC;gBACtC,CAAC,UAAU,IAAI,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,SAAS;YACX,CAAC;YAED,kDAAkD;YAClD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC;YAC1B,IAAI,KAAK,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;gBAChD,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3C,oBAAoB,EAAE,CAAC;gBAEvB,sEAAsE;gBACtE,MAAM,UAAU,GAAG,0BAA0B,CAAC;gBAC9C,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC;gBACzD,IAAI,CAAC;oBAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,WAAW,GAAG,OAAO,CAAC;QACtB,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAC;YACtD,OAAO,EAAE,CAAC,CAAC,gDAAgD;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QACrC,gBAAgB,GAAG,OAAO,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,aAAa,GAAG,OAAO,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,SAAS,GAAG,OAAO,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,oBAAoB,GAAG,KAAK,CAAC;IAC7B,iBAAiB,GAAG,CAAC,CAAC;IAEtB,IAAI,cAAc,EAAE,CAAC;QACnB,YAAY,CAAC,cAAc,CAAC,CAAC;QAC7B,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;QACD,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG;QACP,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,KAAK;KAClB,CAAC;IAEF,6DAA6D;IAC7D,MAAM,OAAO,EAAE,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe;IAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,iDAAiD;IACjD,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QACpB,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,2DAA2D;QAC3D,UAAU,CAAC,GAAG,EAAE;YACd,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,QAAQ,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IACnC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACxB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,qDAAqD;AACrD,IAAI,cAAc,GAA2C,EAAE,CAAC;AAEhE,oDAAoD;AACpD,SAAS,oBAAoB;IAC3B,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzC,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,oDAAoD;IACpD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,gCAAgC;YAChC,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;YAC7D,OAAO,CAAC,EAAE,CAAC,CAAC;QACd,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAEhF,SAAS,QAAQ,CAAC,MAAc;IAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,MAAM,sBAAsB,CAAC,CAAC;IAExE,IAAI,cAAc,EAAE,CAAC;QACnB,YAAY,CAAC,cAAc,CAAC,CAAC;QAC7B,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"whatsapp.js","sourceRoot":"","sources":["../src/whatsapp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whazaa",
3
- "version": "0.6.4",
3
+ "version": "0.6.6",
4
4
  "description": "WhatsApp MCP server for Claude Code — talk to Claude from your phone via WhatsApp self-chat",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",