crewly 1.20.121 → 1.20.123

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.
Files changed (78) hide show
  1. package/config/skills/agent/core/whatsapp-draft/SKILL.md +80 -0
  2. package/config/skills/agent/core/whatsapp-draft/execute.sh +84 -0
  3. package/config/skills/agent/core/whatsapp-draft/execute.test.sh +70 -0
  4. package/config/skills/agent/core/whatsapp-inbox/SKILL.md +75 -0
  5. package/config/skills/agent/core/whatsapp-inbox/execute.sh +87 -0
  6. package/config/skills/agent/core/whatsapp-inbox/execute.test.sh +68 -0
  7. package/config/skills/agent/core/whatsapp-read/SKILL.md +80 -0
  8. package/config/skills/agent/core/whatsapp-read/execute.sh +116 -0
  9. package/config/skills/agent/core/whatsapp-read/execute.test.sh +84 -0
  10. package/config/skills/agent/core/whatsapp-send/SKILL.md +70 -0
  11. package/config/skills/agent/core/whatsapp-send/execute.sh +84 -0
  12. package/config/skills/agent/core/whatsapp-send/execute.test.sh +79 -0
  13. package/dist/backend/backend/src/constants.d.ts +107 -0
  14. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  15. package/dist/backend/backend/src/constants.js +105 -0
  16. package/dist/backend/backend/src/constants.js.map +1 -1
  17. package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.d.ts +73 -0
  18. package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.d.ts.map +1 -0
  19. package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.js +310 -0
  20. package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.js.map +1 -0
  21. package/dist/backend/backend/src/controllers/whatsapp/whatsapp.controller.d.ts.map +1 -1
  22. package/dist/backend/backend/src/controllers/whatsapp/whatsapp.controller.js +53 -4
  23. package/dist/backend/backend/src/controllers/whatsapp/whatsapp.controller.js.map +1 -1
  24. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  25. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +5 -0
  26. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  27. package/dist/backend/backend/src/services/browser/browser-session.service.d.ts.map +1 -1
  28. package/dist/backend/backend/src/services/browser/browser-session.service.js +13 -0
  29. package/dist/backend/backend/src/services/browser/browser-session.service.js.map +1 -1
  30. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.d.ts.map +1 -1
  31. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +29 -1
  32. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
  33. package/dist/backend/backend/src/services/whatsapp/index.d.ts +5 -1
  34. package/dist/backend/backend/src/services/whatsapp/index.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/whatsapp/index.js +5 -1
  36. package/dist/backend/backend/src/services/whatsapp/index.js.map +1 -1
  37. package/dist/backend/backend/src/services/whatsapp/whatsapp-connection-config.d.ts +59 -0
  38. package/dist/backend/backend/src/services/whatsapp/whatsapp-connection-config.d.ts.map +1 -0
  39. package/dist/backend/backend/src/services/whatsapp/whatsapp-connection-config.js +108 -0
  40. package/dist/backend/backend/src/services/whatsapp/whatsapp-connection-config.js.map +1 -0
  41. package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.d.ts +74 -0
  42. package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.d.ts.map +1 -0
  43. package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.js +82 -0
  44. package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.js.map +1 -0
  45. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox-capture.d.ts +184 -0
  46. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox-capture.d.ts.map +1 -0
  47. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox-capture.js +420 -0
  48. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox-capture.js.map +1 -0
  49. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox.store.d.ts +243 -0
  50. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox.store.d.ts.map +1 -0
  51. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox.store.js +538 -0
  52. package/dist/backend/backend/src/services/whatsapp/whatsapp-inbox.store.js.map +1 -0
  53. package/dist/backend/backend/src/services/whatsapp/whatsapp-initializer.d.ts +32 -2
  54. package/dist/backend/backend/src/services/whatsapp/whatsapp-initializer.d.ts.map +1 -1
  55. package/dist/backend/backend/src/services/whatsapp/whatsapp-initializer.js +65 -9
  56. package/dist/backend/backend/src/services/whatsapp/whatsapp-initializer.js.map +1 -1
  57. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.d.ts.map +1 -1
  58. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js +11 -0
  59. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js.map +1 -1
  60. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.d.ts +59 -1
  61. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.d.ts.map +1 -1
  62. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.js +159 -9
  63. package/dist/backend/backend/src/services/whatsapp/whatsapp.service.js.map +1 -1
  64. package/dist/backend/backend/src/types/whatsapp.types.d.ts +108 -0
  65. package/dist/backend/backend/src/types/whatsapp.types.d.ts.map +1 -1
  66. package/dist/backend/backend/src/types/whatsapp.types.js +9 -0
  67. package/dist/backend/backend/src/types/whatsapp.types.js.map +1 -1
  68. package/dist/backend/build-info.json +2 -2
  69. package/dist/cli/backend/src/constants.d.ts +107 -0
  70. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  71. package/dist/cli/backend/src/constants.js +105 -0
  72. package/dist/cli/backend/src/constants.js.map +1 -1
  73. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  74. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +5 -0
  75. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  76. package/frontend/dist/assets/{index-07e338a9.js → index-daf43f1a.js} +268 -268
  77. package/frontend/dist/index.html +1 -1
  78. package/package.json +1 -1
@@ -2,13 +2,19 @@
2
2
  * WhatsApp Initializer
3
3
  *
4
4
  * Handles automatic WhatsApp connection on application startup.
5
- * Checks for environment variables and initializes if configured.
5
+ * Connects when `WHATSAPP_ENABLED=true`, or when the owner connected from the
6
+ * dashboard earlier (persisted `~/.crewly/whatsapp/connection.json` with
7
+ * auto-connect on). The orchestrator bridge (auto-replies) is started only in
8
+ * `assistant` mode — never in `inbox` mode.
6
9
  *
7
10
  * @module services/whatsapp/initializer
8
11
  */
9
12
  import { getWhatsAppService } from './whatsapp.service.js';
10
13
  import { getWhatsAppOrchestratorBridge } from './whatsapp-orchestrator-bridge.js';
14
+ import { isWhatsAppMode } from '../../types/whatsapp.types.js';
11
15
  import { LoggerService } from '../core/logger.service.js';
16
+ import { WHATSAPP_CONSTANTS } from '../../constants.js';
17
+ import { loadWhatsAppConnection, toWhatsAppConfig } from './whatsapp-connection-config.js';
12
18
  const logger = LoggerService.getInstance().createComponentLogger('WhatsAppInitializer');
13
19
  /**
14
20
  * Check if WhatsApp is configured via environment variables.
@@ -31,8 +37,61 @@ export function getWhatsAppConfigFromEnv() {
31
37
  phoneNumber: process.env.WHATSAPP_PHONE_NUMBER,
32
38
  authStatePath: process.env.WHATSAPP_AUTH_PATH,
33
39
  allowedContacts: process.env.WHATSAPP_ALLOWED_CONTACTS?.split(',').filter(Boolean),
40
+ mode: getWhatsAppModeFromEnv(),
34
41
  };
35
42
  }
43
+ /**
44
+ * Read `WHATSAPP_MODE` (`assistant` | `inbox`).
45
+ *
46
+ * @returns The mode, or undefined when unset or invalid
47
+ */
48
+ export function getWhatsAppModeFromEnv() {
49
+ const raw = process.env.WHATSAPP_MODE?.trim().toLowerCase();
50
+ return isWhatsAppMode(raw) ? raw : undefined;
51
+ }
52
+ /**
53
+ * Work out what to connect with at startup, if anything.
54
+ *
55
+ * - `WHATSAPP_ENABLED=true`: env config; mode from `WHATSAPP_MODE`, else the
56
+ * persisted mode, else `assistant` (what the env path always meant).
57
+ * - Otherwise: the persisted dashboard connection, when auto-connect is on.
58
+ *
59
+ * @returns Config to initialize with, or null to stay disconnected
60
+ */
61
+ export async function resolveStartupWhatsAppConfig() {
62
+ const persisted = await loadWhatsAppConnection();
63
+ const envConfig = getWhatsAppConfigFromEnv();
64
+ if (envConfig) {
65
+ return {
66
+ ...envConfig,
67
+ mode: envConfig.mode ?? persisted?.mode ?? WHATSAPP_CONSTANTS.LEGACY_ENV_MODE,
68
+ };
69
+ }
70
+ if (persisted?.autoConnect)
71
+ return toWhatsAppConfig(persisted);
72
+ return null;
73
+ }
74
+ /**
75
+ * Start or stop the orchestrator bridge to match a connection mode.
76
+ *
77
+ * `assistant` starts it (routes messages to the orchestrator and replies).
78
+ * `inbox` tears down any bridge left from an earlier assistant connection
79
+ * so nothing can auto-reply.
80
+ *
81
+ * @param mode - Connection mode
82
+ * @param messageQueueService - Queue for orchestrator delivery (assistant only)
83
+ */
84
+ export async function applyBridgeForMode(mode, messageQueueService) {
85
+ const bridge = getWhatsAppOrchestratorBridge();
86
+ if (mode !== WHATSAPP_CONSTANTS.MODES.ASSISTANT) {
87
+ bridge.cleanup();
88
+ return;
89
+ }
90
+ if (messageQueueService) {
91
+ bridge.setMessageQueueService(messageQueueService);
92
+ }
93
+ await bridge.initialize();
94
+ }
36
95
  /**
37
96
  * Initialize WhatsApp integration if configured via environment variables.
38
97
  *
@@ -53,20 +112,17 @@ export function getWhatsAppConfigFromEnv() {
53
112
  * ```
54
113
  */
55
114
  export async function initializeWhatsAppIfConfigured(options) {
56
- const config = getWhatsAppConfigFromEnv();
115
+ const config = await resolveStartupWhatsAppConfig();
57
116
  if (!config) {
58
117
  logger.info('Not configured — skipping initialization');
59
118
  return { attempted: false, success: false };
60
119
  }
61
120
  try {
121
+ const mode = config.mode ?? WHATSAPP_CONSTANTS.LEGACY_ENV_MODE;
62
122
  const whatsappService = getWhatsAppService();
63
- await whatsappService.initialize(config);
64
- const bridge = getWhatsAppOrchestratorBridge();
65
- if (options?.messageQueueService) {
66
- bridge.setMessageQueueService(options.messageQueueService);
67
- }
68
- await bridge.initialize();
69
- logger.info('Successfully initialized');
123
+ await whatsappService.initialize({ ...config, mode });
124
+ await applyBridgeForMode(mode, options?.messageQueueService);
125
+ logger.info('Successfully initialized', { mode });
70
126
  return { attempted: true, success: true };
71
127
  }
72
128
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp-initializer.js","sourceRoot":"","sources":["../../../../../../backend/src/services/whatsapp/whatsapp-initializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whatsapp-initializer.js","sourceRoot":"","sources":["../../../../../../backend/src/services/whatsapp/whatsapp-initializer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp-orchestrator-bridge.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/whatsapp/whatsapp-orchestrator-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAatC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAIjF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6BAA6B;IAC7B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAcD;;;;;;;;;;;GAWG;AACH,qBAAa,0BAA2B,SAAQ,YAAY;IAC1D,OAAO,CAAC,MAAM,CAAuE;IACrF,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,mBAAmB,CAAsE;IAEjG;;;;OAIG;gBACS,MAAM,GAAE,OAAO,CAAC,oBAAoB,CAAM;IAOtD;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC;;;;OAIG;IACH,aAAa,IAAI,OAAO;IAIxB;;;;OAIG;IACH,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAI1D;;;;OAIG;IACH,SAAS,IAAI,oBAAoB;IAIjC;;;;;OAKG;YACW,qBAAqB;IAiCnC;;;;;;OAMG;YACW,kBAAkB;IAgFhC;;;;;;;;;OASG;YACW,qBAAqB;IAqDnC;;;OAGG;IACH,OAAO,IAAI,IAAI;IAQf;;;;;OAKG;IACG,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAYxE;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,IAAI,0BAA0B,CAK1E;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD"}
1
+ {"version":3,"file":"whatsapp-orchestrator-bridge.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/whatsapp/whatsapp-orchestrator-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAatC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAIjF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6BAA6B;IAC7B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAcD;;;;;;;;;;;GAWG;AACH,qBAAa,0BAA2B,SAAQ,YAAY;IAC1D,OAAO,CAAC,MAAM,CAAuE;IACrF,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,mBAAmB,CAAsE;IAEjG;;;;OAIG;gBACS,MAAM,GAAE,OAAO,CAAC,oBAAoB,CAAM;IAOtD;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC;;;;OAIG;IACH,aAAa,IAAI,OAAO;IAIxB;;;;OAIG;IACH,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAI1D;;;;OAIG;IACH,SAAS,IAAI,oBAAoB;IAIjC;;;;;OAKG;YACW,qBAAqB;IAwCnC;;;;;;OAMG;YACW,kBAAkB;IAgFhC;;;;;;;;;OASG;YACW,qBAAqB;IAqDnC;;;OAGG;IACH,OAAO,IAAI,IAAI;IAQf;;;;;OAKG;IACG,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBxE;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,IAAI,0BAA0B,CAK1E;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD"}
@@ -96,6 +96,13 @@ export class WhatsAppOrchestratorBridge extends EventEmitter {
96
96
  * @param message - Incoming WhatsApp message
97
97
  */
98
98
  async handleWhatsAppMessage(message) {
99
+ // Inbox mode never auto-replies. The service does not emit 'message' in
100
+ // inbox mode, but a bridge left attached from an earlier assistant
101
+ // session must not act either.
102
+ if (this.whatsappService.isInboxMode()) {
103
+ this.logger.warn('Ignoring message: WhatsApp is in inbox mode (no auto-replies)');
104
+ return;
105
+ }
99
106
  this.logger.info('Received message', {
100
107
  from: message.contactName || message.from,
101
108
  preview: message.text.substring(0, 50),
@@ -274,6 +281,10 @@ export class WhatsAppOrchestratorBridge extends EventEmitter {
274
281
  const trimmed = text?.trim();
275
282
  if (!trimmed)
276
283
  return;
284
+ if (this.whatsappService.isInboxMode()) {
285
+ this.logger.warn('Refusing auto-reply: WhatsApp is in inbox mode');
286
+ return;
287
+ }
277
288
  try {
278
289
  await this.whatsappService.sendMessage({ to: chatId, text: trimmed });
279
290
  }
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp-orchestrator-bridge.js","sourceRoot":"","sources":["../../../../../../backend/src/services/whatsapp/whatsapp-orchestrator-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whatsapp-orchestrator-bridge.js","sourceRoot":"","sources":["../../../../../../backend/src/services/whatsapp/whatsapp-orchestrator-bridge.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,8 @@
7
7
  * @module services/whatsapp
8
8
  */
9
9
  import { EventEmitter } from 'events';
10
- import type { WhatsAppConfig, WhatsAppIncomingMessage, WhatsAppOutgoingMessage, WhatsAppServiceStatus, WhatsAppConversationContext } from '../../types/whatsapp.types.js';
10
+ import type { WhatsAppConfig, WhatsAppIncomingMessage, WhatsAppOutgoingMessage, WhatsAppServiceStatus, WhatsAppConversationContext, WhatsAppMode } from '../../types/whatsapp.types.js';
11
+ import { type WhatsAppInboxStore } from './whatsapp-inbox.store.js';
11
12
  /**
12
13
  * Events emitted by WhatsAppService
13
14
  */
@@ -18,6 +19,13 @@ export interface WhatsAppServiceEvents {
18
19
  disconnected: (reason?: string) => void;
19
20
  error: (error: Error) => void;
20
21
  }
22
+ /**
23
+ * Strip the device suffix from a user JID (`123:45@s.whatsapp.net` → `123@s.whatsapp.net`).
24
+ *
25
+ * @param jid - JID as reported by `sock.user.id`
26
+ * @returns JID without the `:device` part
27
+ */
28
+ export declare function stripDeviceFromJid(jid: string): string;
21
29
  /**
22
30
  * WhatsApp Service singleton
23
31
  *
@@ -43,6 +51,9 @@ export declare class WhatsAppService extends EventEmitter {
43
51
  private conversationContexts;
44
52
  private reconnectAttempts;
45
53
  private reconnectTimer;
54
+ private mode;
55
+ private inboxStore;
56
+ private inboxCapture;
46
57
  private static readonly MAX_RECONNECT_DELAY_MS;
47
58
  private static readonly MAX_RECONNECT_ATTEMPTS;
48
59
  /**
@@ -52,6 +63,53 @@ export declare class WhatsAppService extends EventEmitter {
52
63
  * @param config - WhatsApp configuration
53
64
  */
54
65
  initialize(config: WhatsAppConfig): Promise<void>;
66
+ /**
67
+ * Socket options for inbox mode.
68
+ *
69
+ * - `markOnlineOnConnect: false` — otherwise the linked device marks the
70
+ * owner "online" and the phone stops showing notifications.
71
+ * - `syncFullHistory: false` plus a `shouldSyncHistoryMessage` that accepts
72
+ * every history chunk except FULL — seeds recent history (bootstrap,
73
+ * RECENT, push names) without pulling the whole account.
74
+ *
75
+ * @returns Partial Baileys socket config
76
+ */
77
+ static inboxSocketOptions(): Record<string, unknown>;
78
+ /**
79
+ * Wire the inbox capture into a socket's event emitter.
80
+ *
81
+ * Handles `messages.upsert` (notify + append), `messaging-history.set`,
82
+ * `contacts.upsert/update`, `chats.upsert/update`, `groups.upsert/update`.
83
+ * Each handler is wrapped so a store error is logged, never thrown into
84
+ * the socket.
85
+ *
86
+ * @param ev - The socket's event emitter
87
+ */
88
+ private attachInboxCapture;
89
+ /**
90
+ * Use a specific inbox store (tests); otherwise the process-wide one is opened lazily.
91
+ *
92
+ * @param store - Store to capture into
93
+ */
94
+ setInboxStore(store: WhatsAppInboxStore): void;
95
+ /**
96
+ * Get (creating on first use) the capture bound to the inbox store.
97
+ *
98
+ * @returns The capture, or null when the store cannot be opened
99
+ */
100
+ private getInboxCapture;
101
+ /**
102
+ * Current connection mode (null before the first initialize).
103
+ *
104
+ * @returns `assistant`, `inbox`, or null
105
+ */
106
+ getMode(): WhatsAppMode | null;
107
+ /**
108
+ * Whether the service is running in inbox mode.
109
+ *
110
+ * @returns True in inbox mode
111
+ */
112
+ isInboxMode(): boolean;
55
113
  /**
56
114
  * Process an incoming Baileys message and emit as WhatsAppIncomingMessage.
57
115
  *
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/whatsapp/whatsapp.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,+BAA+B,CAAC;AAKvC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACpD,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B;AAaD;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,MAAM,CAAwE;IACtF,OAAO,CAAC,IAAI,CAA8B;IAC1C,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,oBAAoB,CAAuD;IACnF,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAM;IAEpD;;;;;OAKG;IACG,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAqIvD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,qBAAqB;IAkD7B;;;;;OAKG;IACG,WAAW,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9D;;;;;;;OAOG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBjF;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBjC;;;;OAIG;IACH,SAAS,IAAI,qBAAqB;IAUlC;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAItB;;;;OAIG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B;;;;;;OAMG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,2BAA2B;CAczF;AAKD;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAKpD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
1
+ {"version":3,"file":"whatsapp.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/whatsapp/whatsapp.service.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,17 @@ import { promises as fs } from 'fs';
13
13
  import { isContactAllowed } from '../../types/whatsapp.types.js';
14
14
  import { WHATSAPP_CONSTANTS } from '../../constants.js';
15
15
  import { LoggerService } from '../core/logger.service.js';
16
+ import { getWhatsAppInboxStore } from './whatsapp-inbox.store.js';
17
+ import { WhatsAppInboxCapture } from './whatsapp-inbox-capture.js';
18
+ /**
19
+ * Strip the device suffix from a user JID (`123:45@s.whatsapp.net` → `123@s.whatsapp.net`).
20
+ *
21
+ * @param jid - JID as reported by `sock.user.id`
22
+ * @returns JID without the `:device` part
23
+ */
24
+ export function stripDeviceFromJid(jid) {
25
+ return jid.replace(/:\d+(?=@)/, '');
26
+ }
16
27
  /**
17
28
  * WhatsApp Service singleton
18
29
  *
@@ -38,6 +49,9 @@ export class WhatsAppService extends EventEmitter {
38
49
  conversationContexts = new Map();
39
50
  reconnectAttempts = 0;
40
51
  reconnectTimer = null;
52
+ mode = null;
53
+ inboxStore = null;
54
+ inboxCapture = null;
41
55
  static MAX_RECONNECT_DELAY_MS = 60000;
42
56
  static MAX_RECONNECT_ATTEMPTS = 10;
43
57
  /**
@@ -48,6 +62,8 @@ export class WhatsAppService extends EventEmitter {
48
62
  */
49
63
  async initialize(config) {
50
64
  this.config = config;
65
+ this.mode = config.mode ?? WHATSAPP_CONSTANTS.MODES.ASSISTANT;
66
+ const inbox = this.mode === WHATSAPP_CONSTANTS.MODES.INBOX;
51
67
  // Clean up existing socket listeners before re-initializing (prevents leaks on reconnect)
52
68
  if (this.sock) {
53
69
  this.sock.ev.removeAllListeners();
@@ -74,6 +90,7 @@ export class WhatsAppService extends EventEmitter {
74
90
  const sock = makeWASocket({
75
91
  auth: state,
76
92
  printQRInTerminal: false,
93
+ ...(inbox ? WhatsAppService.inboxSocketOptions() : {}),
77
94
  });
78
95
  this.sock = sock;
79
96
  // Save credentials on update
@@ -139,14 +156,21 @@ export class WhatsAppService extends EventEmitter {
139
156
  this.emit('connected');
140
157
  }
141
158
  });
142
- // Handle incoming messages
143
- sock.ev.on('messages.upsert', (upsert) => {
144
- if (upsert.type !== 'notify')
145
- return;
146
- for (const msg of upsert.messages) {
147
- this.handleIncomingMessage(msg);
148
- }
149
- });
159
+ if (inbox) {
160
+ // Inbox mode: capture everything into the local store. Nothing is
161
+ // emitted as 'message', so no bridge can ever auto-reply from here.
162
+ this.attachInboxCapture(sock.ev);
163
+ }
164
+ else {
165
+ // Handle incoming messages
166
+ sock.ev.on('messages.upsert', (upsert) => {
167
+ if (upsert.type !== WHATSAPP_CONSTANTS.UPSERT_TYPES.NOTIFY)
168
+ return;
169
+ for (const msg of upsert.messages) {
170
+ this.handleIncomingMessage(msg);
171
+ }
172
+ });
173
+ }
150
174
  this.logger.info('Initialized — waiting for connection');
151
175
  }
152
176
  catch (error) {
@@ -155,6 +179,117 @@ export class WhatsAppService extends EventEmitter {
155
179
  throw error;
156
180
  }
157
181
  }
182
+ /**
183
+ * Socket options for inbox mode.
184
+ *
185
+ * - `markOnlineOnConnect: false` — otherwise the linked device marks the
186
+ * owner "online" and the phone stops showing notifications.
187
+ * - `syncFullHistory: false` plus a `shouldSyncHistoryMessage` that accepts
188
+ * every history chunk except FULL — seeds recent history (bootstrap,
189
+ * RECENT, push names) without pulling the whole account.
190
+ *
191
+ * @returns Partial Baileys socket config
192
+ */
193
+ static inboxSocketOptions() {
194
+ return {
195
+ markOnlineOnConnect: false,
196
+ syncFullHistory: false,
197
+ shouldSyncHistoryMessage: (msg) => msg?.syncType !== WHATSAPP_CONSTANTS.HISTORY_SYNC_TYPE_FULL,
198
+ };
199
+ }
200
+ /**
201
+ * Wire the inbox capture into a socket's event emitter.
202
+ *
203
+ * Handles `messages.upsert` (notify + append), `messaging-history.set`,
204
+ * `contacts.upsert/update`, `chats.upsert/update`, `groups.upsert/update`.
205
+ * Each handler is wrapped so a store error is logged, never thrown into
206
+ * the socket.
207
+ *
208
+ * @param ev - The socket's event emitter
209
+ */
210
+ attachInboxCapture(ev) {
211
+ const capture = this.getInboxCapture();
212
+ if (!capture) {
213
+ this.logger.error('Inbox store unavailable — inbox mode is connected but not recording');
214
+ return;
215
+ }
216
+ const guard = (name, fn) => (payload) => {
217
+ try {
218
+ fn(payload);
219
+ }
220
+ catch (error) {
221
+ this.logger.error('Inbox capture failed', {
222
+ event: name,
223
+ error: error instanceof Error ? error.message : String(error),
224
+ });
225
+ }
226
+ };
227
+ ev.on('messages.upsert', guard('messages.upsert', (p) => {
228
+ this.messagesReceived += capture.onMessagesUpsert(p);
229
+ }));
230
+ ev.on('messaging-history.set', guard('messaging-history.set', (p) => {
231
+ const n = capture.onHistorySet(p);
232
+ this.logger.info('History sync stored', { messages: n });
233
+ }));
234
+ ev.on('contacts.upsert', guard('contacts.upsert', (p) => capture.onContacts(p)));
235
+ ev.on('contacts.update', guard('contacts.update', (p) => capture.onContacts(p)));
236
+ ev.on('chats.upsert', guard('chats.upsert', (p) => capture.onChats(p)));
237
+ ev.on('chats.update', guard('chats.update', (p) => capture.onChats(p)));
238
+ ev.on('groups.upsert', guard('groups.upsert', (p) => capture.onGroups(p)));
239
+ ev.on('groups.update', guard('groups.update', (p) => capture.onGroups(p)));
240
+ }
241
+ /**
242
+ * Use a specific inbox store (tests); otherwise the process-wide one is opened lazily.
243
+ *
244
+ * @param store - Store to capture into
245
+ */
246
+ setInboxStore(store) {
247
+ this.inboxStore = store;
248
+ this.inboxCapture = null;
249
+ }
250
+ /**
251
+ * Get (creating on first use) the capture bound to the inbox store.
252
+ *
253
+ * @returns The capture, or null when the store cannot be opened
254
+ */
255
+ getInboxCapture() {
256
+ if (this.inboxCapture)
257
+ return this.inboxCapture;
258
+ try {
259
+ if (!this.inboxStore)
260
+ this.inboxStore = getWhatsAppInboxStore();
261
+ }
262
+ catch (error) {
263
+ this.logger.error('Failed to open WhatsApp inbox store', {
264
+ error: error instanceof Error ? error.message : String(error),
265
+ });
266
+ return null;
267
+ }
268
+ this.inboxCapture = new WhatsAppInboxCapture(this.inboxStore, {
269
+ getOwnJid: () => (this.sock?.user?.id ? stripDeviceFromJid(this.sock.user.id) : null),
270
+ fetchGroupSubject: async (jid) => {
271
+ const meta = this.sock?.groupMetadata ? await this.sock.groupMetadata(jid) : null;
272
+ return meta?.subject ?? null;
273
+ },
274
+ });
275
+ return this.inboxCapture;
276
+ }
277
+ /**
278
+ * Current connection mode (null before the first initialize).
279
+ *
280
+ * @returns `assistant`, `inbox`, or null
281
+ */
282
+ getMode() {
283
+ return this.mode;
284
+ }
285
+ /**
286
+ * Whether the service is running in inbox mode.
287
+ *
288
+ * @returns True in inbox mode
289
+ */
290
+ isInboxMode() {
291
+ return this.mode === WHATSAPP_CONSTANTS.MODES.INBOX;
292
+ }
158
293
  /**
159
294
  * Process an incoming Baileys message and emit as WhatsAppIncomingMessage.
160
295
  *
@@ -170,6 +305,9 @@ export class WhatsAppService extends EventEmitter {
170
305
  * @param rawMsg - Raw Baileys message object containing key, message content, and metadata
171
306
  */
172
307
  handleIncomingMessage(rawMsg) {
308
+ // Defence in depth: the assistant path must never fire in inbox mode.
309
+ if (this.isInboxMode())
310
+ return;
173
311
  try {
174
312
  const key = rawMsg.key;
175
313
  if (!key?.remoteJid || key.fromMe)
@@ -226,9 +364,20 @@ export class WhatsAppService extends EventEmitter {
226
364
  if (msg.text.length > WHATSAPP_CONSTANTS.MAX_MESSAGE_LENGTH) {
227
365
  throw new Error(`Message exceeds maximum length of ${WHATSAPP_CONSTANTS.MAX_MESSAGE_LENGTH} characters`);
228
366
  }
229
- await this.sock.sendMessage(msg.to, { text: msg.text });
367
+ const sent = await this.sock.sendMessage(msg.to, { text: msg.text });
230
368
  this.messagesSent++;
231
369
  this.logger.info('Sent message', { to: msg.to, length: msg.text.length });
370
+ // Record our own message right away so the inbox shows the chat as answered.
371
+ if (this.isInboxMode() && sent) {
372
+ try {
373
+ this.getInboxCapture()?.captureMessage(sent);
374
+ }
375
+ catch (error) {
376
+ this.logger.warn('Could not record sent message in inbox', {
377
+ error: error instanceof Error ? error.message : String(error),
378
+ });
379
+ }
380
+ }
232
381
  }
233
382
  /**
234
383
  * Send a file (document) via WhatsApp.
@@ -294,6 +443,7 @@ export class WhatsAppService extends EventEmitter {
294
443
  phoneNumber: this.phoneNumber,
295
444
  messagesSent: this.messagesSent,
296
445
  messagesReceived: this.messagesReceived,
446
+ mode: this.mode,
297
447
  };
298
448
  }
299
449
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/whatsapp/whatsapp.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whatsapp.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/whatsapp/whatsapp.service.ts"],"names":[],"mappings":"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"}