@jait/gateway 0.1.478 → 0.1.482

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 (149) hide show
  1. package/dist/channels/manager.d.ts +97 -0
  2. package/dist/channels/manager.d.ts.map +1 -0
  3. package/dist/channels/manager.js +278 -0
  4. package/dist/channels/manager.js.map +1 -0
  5. package/dist/channels/msteams/connector.d.ts +83 -0
  6. package/dist/channels/msteams/connector.d.ts.map +1 -0
  7. package/dist/channels/msteams/connector.js +413 -0
  8. package/dist/channels/msteams/connector.js.map +1 -0
  9. package/dist/channels/telegram/connector.d.ts +48 -0
  10. package/dist/channels/telegram/connector.d.ts.map +1 -0
  11. package/dist/channels/telegram/connector.js +127 -0
  12. package/dist/channels/telegram/connector.js.map +1 -0
  13. package/dist/channels/types.d.ts +74 -0
  14. package/dist/channels/types.d.ts.map +1 -0
  15. package/dist/channels/types.js +9 -0
  16. package/dist/channels/types.js.map +1 -0
  17. package/dist/channels/whatsapp/connector.d.ts +96 -0
  18. package/dist/channels/whatsapp/connector.d.ts.map +1 -0
  19. package/dist/channels/whatsapp/connector.js +189 -0
  20. package/dist/channels/whatsapp/connector.js.map +1 -0
  21. package/dist/db/migrations.d.ts.map +1 -1
  22. package/dist/db/migrations.js +15 -0
  23. package/dist/db/migrations.js.map +1 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +37 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/plugins/contracts.d.ts +3 -0
  28. package/dist/plugins/contracts.d.ts.map +1 -1
  29. package/dist/plugins/contracts.js.map +1 -1
  30. package/dist/plugins/manager.d.ts +3 -0
  31. package/dist/plugins/manager.d.ts.map +1 -1
  32. package/dist/plugins/manager.js +36 -0
  33. package/dist/plugins/manager.js.map +1 -1
  34. package/dist/plugins/manifest.d.ts +7 -0
  35. package/dist/plugins/manifest.d.ts.map +1 -1
  36. package/dist/plugins/manifest.js.map +1 -1
  37. package/dist/plugins/openclaw-adapter.d.ts.map +1 -1
  38. package/dist/plugins/openclaw-adapter.js +68 -6
  39. package/dist/plugins/openclaw-adapter.js.map +1 -1
  40. package/dist/routes/channels.d.ts +14 -0
  41. package/dist/routes/channels.d.ts.map +1 -0
  42. package/dist/routes/channels.js +77 -0
  43. package/dist/routes/channels.js.map +1 -0
  44. package/dist/routes/chat.d.ts +3 -0
  45. package/dist/routes/chat.d.ts.map +1 -1
  46. package/dist/routes/chat.js +94 -14
  47. package/dist/routes/chat.js.map +1 -1
  48. package/dist/routes/plugins.d.ts +2 -1
  49. package/dist/routes/plugins.d.ts.map +1 -1
  50. package/dist/routes/plugins.js +31 -3
  51. package/dist/routes/plugins.js.map +1 -1
  52. package/dist/routes/skills.d.ts +3 -3
  53. package/dist/routes/skills.d.ts.map +1 -1
  54. package/dist/routes/skills.js +42 -19
  55. package/dist/routes/skills.js.map +1 -1
  56. package/dist/routes/store.d.ts.map +1 -1
  57. package/dist/routes/store.js +9 -55
  58. package/dist/routes/store.js.map +1 -1
  59. package/dist/server.d.ts +1 -0
  60. package/dist/server.d.ts.map +1 -1
  61. package/dist/server.js +7 -1
  62. package/dist/server.js.map +1 -1
  63. package/dist/services/thread-router.d.ts +7 -0
  64. package/dist/services/thread-router.d.ts.map +1 -1
  65. package/dist/services/thread-router.js +41 -2
  66. package/dist/services/thread-router.js.map +1 -1
  67. package/dist/skills/index.d.ts +40 -2
  68. package/dist/skills/index.d.ts.map +1 -1
  69. package/dist/skills/index.js +135 -4
  70. package/dist/skills/index.js.map +1 -1
  71. package/dist/skills/install.d.ts +42 -0
  72. package/dist/skills/install.d.ts.map +1 -0
  73. package/dist/skills/install.js +94 -0
  74. package/dist/skills/install.js.map +1 -0
  75. package/dist/tools/index.d.ts +1 -0
  76. package/dist/tools/index.d.ts.map +1 -1
  77. package/dist/tools/index.js +1 -0
  78. package/dist/tools/index.js.map +1 -1
  79. package/dist/tools/prompts/prompt-registry.d.ts +2 -0
  80. package/dist/tools/prompts/prompt-registry.d.ts.map +1 -1
  81. package/dist/tools/prompts/prompt-registry.js +10 -0
  82. package/dist/tools/prompts/prompt-registry.js.map +1 -1
  83. package/dist/tools/skill-tools.d.ts +46 -0
  84. package/dist/tools/skill-tools.d.ts.map +1 -0
  85. package/dist/tools/skill-tools.js +211 -0
  86. package/dist/tools/skill-tools.js.map +1 -0
  87. package/dist/tools/tool-names.d.ts +2 -0
  88. package/dist/tools/tool-names.d.ts.map +1 -1
  89. package/dist/tools/tool-names.js +3 -0
  90. package/dist/tools/tool-names.js.map +1 -1
  91. package/package.json +6 -2
  92. package/web-dist/assets/{_basePickBy-CtzswvYr.js → _basePickBy-BOlYaE1w.js} +1 -1
  93. package/web-dist/assets/{_baseUniq-BV8j8R0m.js → _baseUniq-7iT7EHp3.js} +1 -1
  94. package/web-dist/assets/{arc-DYblKoMs.js → arc-CrJP2NK-.js} +1 -1
  95. package/web-dist/assets/{architectureDiagram-2XIMDMQ5-DdYS2_FZ.js → architectureDiagram-2XIMDMQ5-CTXTLOZg.js} +1 -1
  96. package/web-dist/assets/{blockDiagram-WCTKOSBZ-CHV7p7YD.js → blockDiagram-WCTKOSBZ-DjpfTolF.js} +1 -1
  97. package/web-dist/assets/{c4Diagram-IC4MRINW-DX6Shx7D.js → c4Diagram-IC4MRINW-BxuZtyKK.js} +1 -1
  98. package/web-dist/assets/channel-C5J0dtJR.js +1 -0
  99. package/web-dist/assets/{chunk-4BX2VUAB-CYUKMj7j.js → chunk-4BX2VUAB-DjAJy1Vd.js} +1 -1
  100. package/web-dist/assets/{chunk-55IACEB6-C_pAOqtV.js → chunk-55IACEB6-CrXW5I_d.js} +1 -1
  101. package/web-dist/assets/{chunk-FMBD7UC4-CIZqHR5k.js → chunk-FMBD7UC4-Cjpu7XH8.js} +1 -1
  102. package/web-dist/assets/{chunk-JSJVCQXG-DYHQrpzJ.js → chunk-JSJVCQXG-2eTi0-s7.js} +1 -1
  103. package/web-dist/assets/{chunk-KX2RTZJC-BgqsEdiW.js → chunk-KX2RTZJC-D3Wqa_Cx.js} +1 -1
  104. package/web-dist/assets/{chunk-NQ4KR5QH-D2WvBqlM.js → chunk-NQ4KR5QH-DPLTGbc2.js} +1 -1
  105. package/web-dist/assets/{chunk-QZHKN3VN-DQicMYR9.js → chunk-QZHKN3VN-DNsJlDXv.js} +1 -1
  106. package/web-dist/assets/{chunk-WL4C6EOR-By7qDLjO.js → chunk-WL4C6EOR-Co9yEaXx.js} +1 -1
  107. package/web-dist/assets/classDiagram-VBA2DB6C-CJR8ILFD.js +1 -0
  108. package/web-dist/assets/classDiagram-v2-RAHNMMFH-CJR8ILFD.js +1 -0
  109. package/web-dist/assets/clone-BbelQPTZ.js +1 -0
  110. package/web-dist/assets/{cose-bilkent-S5V4N54A-CAb2XzjW.js → cose-bilkent-S5V4N54A-_u0YnyBo.js} +1 -1
  111. package/web-dist/assets/{dagre-KLK3FWXG-DIu0KirA.js → dagre-KLK3FWXG-DKlMzH-N.js} +1 -1
  112. package/web-dist/assets/{diagram-E7M64L7V-CuPAALFE.js → diagram-E7M64L7V-DXqyTn3i.js} +1 -1
  113. package/web-dist/assets/{diagram-IFDJBPK2-BsEbvT5C.js → diagram-IFDJBPK2-x4UfB8Jh.js} +1 -1
  114. package/web-dist/assets/{diagram-P4PSJMXO-DQbRSXfR.js → diagram-P4PSJMXO-7fmmLg7E.js} +1 -1
  115. package/web-dist/assets/{erDiagram-INFDFZHY-B6cJ6aKk.js → erDiagram-INFDFZHY-tdSesr0u.js} +1 -1
  116. package/web-dist/assets/{flowDiagram-PKNHOUZH-DnKunoWE.js → flowDiagram-PKNHOUZH-CB9agj4M.js} +1 -1
  117. package/web-dist/assets/{ganttDiagram-A5KZAMGK-BR7KrsV2.js → ganttDiagram-A5KZAMGK-C4SghQ4X.js} +1 -1
  118. package/web-dist/assets/{gitGraphDiagram-K3NZZRJ6-C-ErQxYo.js → gitGraphDiagram-K3NZZRJ6-DQg4IHrW.js} +1 -1
  119. package/web-dist/assets/{graph-D7YxCgKd.js → graph-C1Tddpva.js} +1 -1
  120. package/web-dist/assets/{index-CiiwCpdd.js → index-BQW3h_mQ.js} +1 -1
  121. package/web-dist/assets/{index-XVcTRbqO.js → index-CBgOcQOv.js} +1 -1
  122. package/web-dist/assets/index-DgGQx1pV.css +32 -0
  123. package/web-dist/assets/index-gBy_Mqet.js +1516 -0
  124. package/web-dist/assets/{infoDiagram-LFFYTUFH-CbKsgryz.js → infoDiagram-LFFYTUFH-DeZ8U7_l.js} +1 -1
  125. package/web-dist/assets/{ishikawaDiagram-PHBUUO56-BnvFJhGI.js → ishikawaDiagram-PHBUUO56-Dzb2FwTV.js} +1 -1
  126. package/web-dist/assets/{journeyDiagram-4ABVD52K-DUD5gNjq.js → journeyDiagram-4ABVD52K-DMUpxgrL.js} +1 -1
  127. package/web-dist/assets/{kanban-definition-K7BYSVSG-DXzciomb.js → kanban-definition-K7BYSVSG-8tciWF1Y.js} +1 -1
  128. package/web-dist/assets/{layout-C9r4P4eW.js → layout-DCm16DY0.js} +1 -1
  129. package/web-dist/assets/{linear-BAVnYIxH.js → linear-DW69pMXl.js} +1 -1
  130. package/web-dist/assets/{mindmap-definition-YRQLILUH-DXQhtB98.js → mindmap-definition-YRQLILUH-BTzb4KqR.js} +1 -1
  131. package/web-dist/assets/{pieDiagram-SKSYHLDU-BZwj0of8.js → pieDiagram-SKSYHLDU-C3MRIn-U.js} +1 -1
  132. package/web-dist/assets/{quadrantDiagram-337W2JSQ-ClIxI022.js → quadrantDiagram-337W2JSQ-DqSCsLTu.js} +1 -1
  133. package/web-dist/assets/{requirementDiagram-Z7DCOOCP-IFfsBq00.js → requirementDiagram-Z7DCOOCP-PVnN4DIw.js} +1 -1
  134. package/web-dist/assets/{sankeyDiagram-WA2Y5GQK-an0KnQCU.js → sankeyDiagram-WA2Y5GQK-Bm-JwlZA.js} +1 -1
  135. package/web-dist/assets/{sequenceDiagram-2WXFIKYE-B_luBYr6.js → sequenceDiagram-2WXFIKYE-Z0iLTIan.js} +1 -1
  136. package/web-dist/assets/{stateDiagram-RAJIS63D-D-WYrcjl.js → stateDiagram-RAJIS63D-DZ9Qstd6.js} +1 -1
  137. package/web-dist/assets/stateDiagram-v2-FVOUBMTO-CI244ggG.js +1 -0
  138. package/web-dist/assets/{timeline-definition-YZTLITO2-CqnYRrYr.js → timeline-definition-YZTLITO2-HqkKyQAQ.js} +1 -1
  139. package/web-dist/assets/{treemap-KZPCXAKY-OjDH3ivT.js → treemap-KZPCXAKY-BtSSaAdi.js} +1 -1
  140. package/web-dist/assets/{vennDiagram-LZ73GAT5-DL7r5f3I.js → vennDiagram-LZ73GAT5-B-DXipE7.js} +1 -1
  141. package/web-dist/assets/{xychartDiagram-JWTSCODW-ClidW0sx.js → xychartDiagram-JWTSCODW-BMnEKAac.js} +1 -1
  142. package/web-dist/index.html +2 -2
  143. package/web-dist/assets/channel-D4Mqh1zG.js +0 -1
  144. package/web-dist/assets/classDiagram-VBA2DB6C-6vAu_D6k.js +0 -1
  145. package/web-dist/assets/classDiagram-v2-RAHNMMFH-6vAu_D6k.js +0 -1
  146. package/web-dist/assets/clone-VFeIDFpO.js +0 -1
  147. package/web-dist/assets/index-CMhCaoMH.css +0 -32
  148. package/web-dist/assets/index-D633QnFF.js +0 -1504
  149. package/web-dist/assets/stateDiagram-v2-FVOUBMTO-B2ATdc9J.js +0 -1
@@ -0,0 +1,74 @@
1
+ /**
2
+ * External messaging channels (WhatsApp, etc.).
3
+ *
4
+ * A ChannelConnector owns a connection to an external messaging network. The
5
+ * ChannelManager drives its lifecycle and routes inbound messages through the
6
+ * agent, sending replies back via the connector.
7
+ */
8
+ export type ChannelStatus = "stopped" | "connecting" | "qr" | "connected" | "error";
9
+ export interface ChannelStatusDetail {
10
+ /** QR payload (data-URL PNG) to display for linking, when status === "qr". */
11
+ qr?: string;
12
+ /** Error message, when status === "error". */
13
+ error?: string;
14
+ }
15
+ export interface InboundMessage {
16
+ /** Connector id, e.g. "whatsapp". */
17
+ channelId: string;
18
+ /** Conversation/chat id (remote JID for WhatsApp). */
19
+ conversationId: string;
20
+ /** Sender id (participant in groups, otherwise the chat id). */
21
+ senderId: string;
22
+ /** Display name of the sender, if known. */
23
+ senderName?: string;
24
+ /** Plain-text body of the message. */
25
+ text: string;
26
+ /** Epoch millis the message was received. */
27
+ timestamp: number;
28
+ /** True when the message was sent by the linked account itself. */
29
+ fromMe: boolean;
30
+ /** True when this is the conversation with the linked account itself ("Message Yourself"). */
31
+ isSelfChat: boolean;
32
+ }
33
+ export interface OutboundMessage {
34
+ conversationId: string;
35
+ text: string;
36
+ }
37
+ export interface ChannelConnectorEvents {
38
+ /** Called for each inbound text message. */
39
+ onInbound: (msg: InboundMessage) => void;
40
+ /** Called whenever the connection status changes. */
41
+ onStatus: (status: ChannelStatus, detail?: ChannelStatusDetail) => void;
42
+ }
43
+ export interface ChannelConnector {
44
+ /** Stable connector id, e.g. "whatsapp". */
45
+ readonly id: string;
46
+ /** Human-readable label, e.g. "WhatsApp". */
47
+ readonly label: string;
48
+ /** Begin connecting. Emits status updates (including qr) via events. */
49
+ start(events: ChannelConnectorEvents): Promise<void>;
50
+ /** Tear down the connection. */
51
+ stop(): Promise<void>;
52
+ /** Send an outbound message. Throws if not connected. */
53
+ send(msg: OutboundMessage): Promise<void>;
54
+ /** Current connection status. */
55
+ status(): ChannelStatus;
56
+ /** Current QR data-URL, if linking. */
57
+ currentQr(): string | null;
58
+ }
59
+ /** Per-channel persisted configuration. */
60
+ export interface ChannelConfig {
61
+ /** Whether the channel should auto-start on gateway boot. */
62
+ enabled?: boolean;
63
+ /**
64
+ * Sender ids (phone numbers / JIDs) the agent will respond to. When empty,
65
+ * the agent only responds in the self-chat ("Message Yourself") unless
66
+ * `respondToAll` is set.
67
+ */
68
+ allowedSenders?: string[];
69
+ /** When true, respond to any inbound message (use with care). */
70
+ respondToAll?: boolean;
71
+ /** Tool names the channel agent may use. Empty/undefined → pure chat. */
72
+ tools?: string[];
73
+ }
74
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/channels/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,YAAY,GACZ,IAAI,GACJ,WAAW,GACX,OAAO,CAAC;AAEZ,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAC;IACvB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,8FAA8F;IAC9F,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,4CAA4C;IAC5C,SAAS,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC;IACzC,qDAAqD;IACrD,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACzE;AAED,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,KAAK,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,gCAAgC;IAChC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,yDAAyD;IACzD,IAAI,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,iCAAiC;IACjC,MAAM,IAAI,aAAa,CAAC;IACxB,uCAAuC;IACvC,SAAS,IAAI,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,iEAAiE;IACjE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * External messaging channels (WhatsApp, etc.).
3
+ *
4
+ * A ChannelConnector owns a connection to an external messaging network. The
5
+ * ChannelManager drives its lifecycle and routes inbound messages through the
6
+ * agent, sending replies back via the connector.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/channels/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * WhatsApp channel connector (baileys / WhatsApp Web).
3
+ *
4
+ * Connects using the multi-file auth state (QR link on first run, then
5
+ * persisted credentials). Emits a QR data-URL for the UI, surfaces inbound
6
+ * text messages, and sends replies.
7
+ *
8
+ * baileys + qrcode are lazy-imported by the default factories so unit tests can
9
+ * inject fakes without importing the native-ish deps.
10
+ */
11
+ import type { ChannelConnector, ChannelConnectorEvents, ChannelStatus, InboundMessage, OutboundMessage } from "../types.js";
12
+ export interface WAMessageKey {
13
+ remoteJid?: string | null;
14
+ fromMe?: boolean | null;
15
+ participant?: string | null;
16
+ id?: string | null;
17
+ }
18
+ export interface WAMessage {
19
+ key: WAMessageKey;
20
+ pushName?: string | null;
21
+ message?: Record<string, unknown> | null;
22
+ messageTimestamp?: number | Long | null;
23
+ }
24
+ interface Long {
25
+ toNumber(): number;
26
+ low: number;
27
+ }
28
+ export interface WASocketLike {
29
+ ev: {
30
+ on(event: string, listener: (arg: unknown) => void): void;
31
+ };
32
+ sendMessage(jid: string, content: {
33
+ text: string;
34
+ }): Promise<unknown>;
35
+ user?: {
36
+ id?: string;
37
+ } | null;
38
+ end?(error?: Error): void;
39
+ ws?: {
40
+ close(): void;
41
+ };
42
+ logout?(): Promise<void>;
43
+ }
44
+ export interface AuthStateHandle {
45
+ state: unknown;
46
+ saveCreds: () => Promise<void>;
47
+ }
48
+ export interface WhatsAppConnectorDeps {
49
+ /** Directory for persisted credentials. Default ~/.jait/channels/whatsapp. */
50
+ authDir?: string;
51
+ /** baileys socket factory. Default: dynamic import of baileys makeWASocket. */
52
+ makeSocket?: (opts: {
53
+ auth: unknown;
54
+ printQRInTerminal: boolean;
55
+ browser: unknown;
56
+ }) => WASocketLike;
57
+ /** Auth-state loader. Default: baileys useMultiFileAuthState. */
58
+ loadAuthState?: (dir: string) => Promise<AuthStateHandle>;
59
+ /** QR encoder → data-URL. Default: qrcode.toDataURL. */
60
+ encodeQr?: (text: string) => Promise<string>;
61
+ /** Status code that means "logged out" (no auto-reconnect). Default 401. */
62
+ loggedOutStatusCode?: number;
63
+ log?: (msg: string, ...args: unknown[]) => void;
64
+ }
65
+ /** Extract plain text from a baileys message, if any. */
66
+ export declare function extractText(message: Record<string, unknown> | null | undefined): string;
67
+ /** Bare number portion of a JID, e.g. "49170...:5@s.whatsapp.net" → "49170...". */
68
+ export declare function bareJid(jid: string | null | undefined): string;
69
+ export declare class WhatsAppConnector implements ChannelConnector {
70
+ readonly id = "whatsapp";
71
+ readonly label = "WhatsApp";
72
+ private readonly authDir;
73
+ private readonly deps;
74
+ private sock;
75
+ private _status;
76
+ private _qr;
77
+ private selfBare;
78
+ private events;
79
+ private stopping;
80
+ constructor(deps?: WhatsAppConnectorDeps);
81
+ status(): ChannelStatus;
82
+ currentQr(): string | null;
83
+ private log;
84
+ private setStatus;
85
+ start(events: ChannelConnectorEvents): Promise<void>;
86
+ private loadAuth;
87
+ private buildSocket;
88
+ private encodeQr;
89
+ private connect;
90
+ /** Convert a baileys message to an InboundMessage, or null if not text. */
91
+ toInbound(m: WAMessage): InboundMessage | null;
92
+ send(msg: OutboundMessage): Promise<void>;
93
+ stop(): Promise<void>;
94
+ }
95
+ export {};
96
+ //# sourceMappingURL=connector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../src/channels/whatsapp/connector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ /**
2
+ * WhatsApp channel connector (baileys / WhatsApp Web).
3
+ *
4
+ * Connects using the multi-file auth state (QR link on first run, then
5
+ * persisted credentials). Emits a QR data-URL for the UI, surfaces inbound
6
+ * text messages, and sends replies.
7
+ *
8
+ * baileys + qrcode are lazy-imported by the default factories so unit tests can
9
+ * inject fakes without importing the native-ish deps.
10
+ */
11
+ import { join } from "node:path";
12
+ import { homedir } from "node:os";
13
+ import { rm } from "node:fs/promises";
14
+ /** Extract plain text from a baileys message, if any. */
15
+ export function extractText(message) {
16
+ if (!message)
17
+ return "";
18
+ const m = message;
19
+ if (m.conversation)
20
+ return m.conversation;
21
+ if (m.extendedTextMessage?.text)
22
+ return m.extendedTextMessage.text;
23
+ if (m.imageMessage?.caption)
24
+ return m.imageMessage.caption;
25
+ if (m.videoMessage?.caption)
26
+ return m.videoMessage.caption;
27
+ // Unwrap ephemeral / view-once wrappers.
28
+ if (m.ephemeralMessage?.message)
29
+ return extractText(m.ephemeralMessage.message);
30
+ if (m.viewOnceMessage?.message)
31
+ return extractText(m.viewOnceMessage.message);
32
+ return "";
33
+ }
34
+ /** Bare number portion of a JID, e.g. "49170...:5@s.whatsapp.net" → "49170...". */
35
+ export function bareJid(jid) {
36
+ if (!jid)
37
+ return "";
38
+ return jid.split("@")[0].split(":")[0];
39
+ }
40
+ function tsToMillis(ts) {
41
+ if (ts == null)
42
+ return Date.now();
43
+ if (typeof ts === "number")
44
+ return ts * 1000;
45
+ if (typeof ts === "object" && typeof ts.toNumber === "function") {
46
+ return ts.toNumber() * 1000;
47
+ }
48
+ return Date.now();
49
+ }
50
+ export class WhatsAppConnector {
51
+ id = "whatsapp";
52
+ label = "WhatsApp";
53
+ authDir;
54
+ deps;
55
+ sock = null;
56
+ _status = "stopped";
57
+ _qr = null;
58
+ selfBare = "";
59
+ events = null;
60
+ stopping = false;
61
+ constructor(deps = {}) {
62
+ this.deps = deps;
63
+ this.authDir = deps.authDir ?? join(homedir(), ".jait", "channels", "whatsapp");
64
+ }
65
+ status() { return this._status; }
66
+ currentQr() { return this._qr; }
67
+ log(msg, ...args) {
68
+ (this.deps.log ?? ((m, ...a) => console.log("[whatsapp]", m, ...a)))(msg, ...args);
69
+ }
70
+ setStatus(status, detail) {
71
+ this._status = status;
72
+ if (status === "qr")
73
+ this._qr = detail?.qr ?? this._qr;
74
+ if (status === "connected" || status === "stopped")
75
+ this._qr = null;
76
+ this.events?.onStatus(status, detail);
77
+ }
78
+ async start(events) {
79
+ this.events = events;
80
+ this.stopping = false;
81
+ await this.connect();
82
+ }
83
+ async loadAuth() {
84
+ if (this.deps.loadAuthState)
85
+ return this.deps.loadAuthState(this.authDir);
86
+ const baileys = await import("baileys");
87
+ return baileys.useMultiFileAuthState(this.authDir);
88
+ }
89
+ async buildSocket(auth) {
90
+ if (this.deps.makeSocket) {
91
+ return this.deps.makeSocket({ auth, printQRInTerminal: false, browser: ["Jait", "Chrome", "1.0.0"] });
92
+ }
93
+ const baileys = await import("baileys");
94
+ const makeWASocket = (baileys.default ?? baileys.makeWASocket);
95
+ const browser = (baileys.Browsers?.appropriate?.("Jait")) ?? ["Jait", "Chrome", "1.0.0"];
96
+ return makeWASocket({ auth, printQRInTerminal: false, browser, syncFullHistory: false });
97
+ }
98
+ async encodeQr(text) {
99
+ if (this.deps.encodeQr)
100
+ return this.deps.encodeQr(text);
101
+ const qrcode = await import("qrcode");
102
+ return qrcode.toDataURL(text, { margin: 1, width: 320 });
103
+ }
104
+ async connect() {
105
+ this.setStatus("connecting");
106
+ const { state, saveCreds } = await this.loadAuth();
107
+ const sock = await this.buildSocket(state);
108
+ this.sock = sock;
109
+ sock.ev.on("creds.update", () => { void saveCreds(); });
110
+ sock.ev.on("connection.update", (arg) => {
111
+ const u = arg;
112
+ if (u.qr) {
113
+ void this.encodeQr(u.qr)
114
+ .then((dataUrl) => { this.setStatus("qr", { qr: dataUrl }); })
115
+ .catch((err) => { this.log("QR encode failed:", err); });
116
+ }
117
+ if (u.connection === "open") {
118
+ this.selfBare = bareJid(sock.user?.id);
119
+ this.setStatus("connected");
120
+ this.log(`connected as ${this.selfBare}`);
121
+ }
122
+ else if (u.connection === "close") {
123
+ const code = u.lastDisconnect?.error?.output?.statusCode;
124
+ const loggedOut = code === (this.deps.loggedOutStatusCode ?? 401);
125
+ if (this.stopping) {
126
+ this.setStatus("stopped");
127
+ }
128
+ else if (loggedOut) {
129
+ this.log("logged out — clearing credentials");
130
+ void rm(this.authDir, { recursive: true, force: true }).catch(() => { });
131
+ this.setStatus("error", { error: "Logged out. Re-link to reconnect." });
132
+ }
133
+ else {
134
+ this.log(`connection closed (code ${code ?? "?"}) — reconnecting`);
135
+ void this.connect().catch((err) => {
136
+ this.setStatus("error", { error: err instanceof Error ? err.message : String(err) });
137
+ });
138
+ }
139
+ }
140
+ });
141
+ sock.ev.on("messages.upsert", (arg) => {
142
+ const payload = arg;
143
+ if (payload.type && payload.type !== "notify")
144
+ return;
145
+ for (const m of payload.messages ?? []) {
146
+ const inbound = this.toInbound(m);
147
+ if (inbound)
148
+ this.events?.onInbound(inbound);
149
+ }
150
+ });
151
+ }
152
+ /** Convert a baileys message to an InboundMessage, or null if not text. */
153
+ toInbound(m) {
154
+ const text = extractText(m.message);
155
+ if (!text.trim())
156
+ return null;
157
+ const conversationId = m.key.remoteJid ?? "";
158
+ if (!conversationId || conversationId === "status@broadcast")
159
+ return null;
160
+ const senderId = m.key.participant ?? conversationId;
161
+ const isSelfChat = bareJid(conversationId) === this.selfBare && this.selfBare !== "";
162
+ return {
163
+ channelId: this.id,
164
+ conversationId,
165
+ senderId,
166
+ senderName: m.pushName ?? undefined,
167
+ text,
168
+ timestamp: tsToMillis(m.messageTimestamp),
169
+ fromMe: Boolean(m.key.fromMe),
170
+ isSelfChat,
171
+ };
172
+ }
173
+ async send(msg) {
174
+ if (!this.sock)
175
+ throw new Error("WhatsApp is not connected");
176
+ await this.sock.sendMessage(msg.conversationId, { text: msg.text });
177
+ }
178
+ async stop() {
179
+ this.stopping = true;
180
+ try {
181
+ this.sock?.end?.(undefined);
182
+ this.sock?.ws?.close();
183
+ }
184
+ catch { /* best effort */ }
185
+ this.sock = null;
186
+ this.setStatus("stopped");
187
+ }
188
+ }
189
+ //# sourceMappingURL=connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector.js","sourceRoot":"","sources":["../../../src/channels/whatsapp/connector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,EAu+BjC,CAAC"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,EAu/BjC,CAAC"}
@@ -1023,5 +1023,20 @@ export const migrations = [
1023
1023
  `);
1024
1024
  },
1025
1025
  },
1026
+ // ─── 040: External messaging channels (WhatsApp, etc.) ─────────────
1027
+ {
1028
+ id: 40,
1029
+ name: "channels_table",
1030
+ run(db) {
1031
+ db.exec(`
1032
+ CREATE TABLE IF NOT EXISTS channels (
1033
+ id TEXT PRIMARY KEY,
1034
+ enabled INTEGER NOT NULL DEFAULT 0,
1035
+ config TEXT NOT NULL DEFAULT '{}',
1036
+ updated_at TEXT NOT NULL
1037
+ )
1038
+ `);
1039
+ },
1040
+ },
1026
1041
  ];
1027
1042
  //# sourceMappingURL=migrations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,sBAAsB,CAAC;AAqE9B,iBAAe,IAAI,kBA6/BlB;AAED,OAAO,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,sBAAsB,CAAC;AAsE9B,iBAAe,IAAI,kBAmiClB;AAED,OAAO,EAAE,IAAI,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -54,6 +54,7 @@ import { ProjectService } from "./services/projects.js";
54
54
  import { autoAssignProjectRepositories } from "./services/project-repositories.js";
55
55
  import { AssistantProfileService } from "./services/assistant-profiles.js";
56
56
  import { PluginManager } from "./plugins/manager.js";
57
+ import { resolveJaitLlmConfig } from "./services/jait-llm.js";
57
58
  import { ThreadReviewSyncService } from "./services/thread-review-sync.js";
58
59
  import { SessionSearchService } from "./services/session-search.js";
59
60
  function parsePositiveIntegerEnv(name, fallback) {
@@ -565,6 +566,31 @@ async function main() {
565
566
  }
566
567
  }
567
568
  console.log(`Consent manager initialized (profile: ${activeToolProfileName}, timeout: 120s, ${permissions.size} tool permissions)`);
569
+ // External messaging channels are populated by enabled extensions.
570
+ const { ChannelManager } = await import("./channels/manager.js");
571
+ const channelManager = new ChannelManager({
572
+ sqlite,
573
+ toolRegistry,
574
+ audit,
575
+ projectRoot: process.cwd(),
576
+ resolveLLM: () => {
577
+ // Use the owner user's stored API keys when available, else env/config.
578
+ let apiKeys;
579
+ let jaitBackend;
580
+ try {
581
+ const owner = sqlite
582
+ .prepare("SELECT id FROM users ORDER BY created_at ASC LIMIT 1")
583
+ .get();
584
+ if (owner?.id) {
585
+ const s = userService.getSettings(owner.id);
586
+ apiKeys = s.apiKeys;
587
+ jaitBackend = s.jaitBackend;
588
+ }
589
+ }
590
+ catch { /* fall back to config defaults */ }
591
+ return resolveJaitLlmConfig({ config, apiKeys, jaitBackend: jaitBackend });
592
+ },
593
+ });
568
594
  // Plugin manager — discover and load enabled extensions
569
595
  // Also scan for OpenClaw-format plugins in common locations
570
596
  const openclawDirs = [];
@@ -582,6 +608,7 @@ async function main() {
582
608
  const pluginManager = new PluginManager({
583
609
  sqlite,
584
610
  toolRegistry,
611
+ channelManager,
585
612
  gatewayVersion: GATEWAY_VERSION,
586
613
  projectRoot: process.cwd(),
587
614
  openclawExtensionsDirs: openclawDirs,
@@ -613,6 +640,12 @@ async function main() {
613
640
  // ClawHub marketplace client
614
641
  const { ClawHubClient } = await import("./clawhub/client.js");
615
642
  const clawhubClient = new ClawHubClient(process.env.CLAWHUB_REGISTRY);
643
+ // Agent-callable management tools — registered now that the skill registry,
644
+ // plugin manager, and ClawHub client exist (they post-date the tool registry
645
+ // because the plugin manager itself depends on the tool registry).
646
+ const { createSkillsManageTool, createExtensionsManageTool } = await import("./tools/index.js");
647
+ toolRegistry.register(createSkillsManageTool({ skillRegistry, clawhub: clawhubClient }));
648
+ toolRegistry.register(createExtensionsManageTool({ pluginManager, clawhub: clawhubClient }));
616
649
  // Voice assistant (OpenAI Realtime — global session, not project-scoped)
617
650
  const voiceAssistantService = new VoiceAssistantService({
618
651
  config,
@@ -675,6 +708,7 @@ async function main() {
675
708
  pluginManager,
676
709
  skillRegistry,
677
710
  clawhubClient,
711
+ channelManager,
678
712
  voiceAssistantService,
679
713
  shutdown: shutdownRef,
680
714
  });
@@ -884,6 +918,8 @@ async function main() {
884
918
  });
885
919
  console.log(`Jait Gateway listening on http://${config.host}:${config.port} (HTTP + WS)`);
886
920
  console.log(`Voice assistant available at ws://${config.host}:${config.port}/ws/voice-assistant`);
921
+ // Auto-start channels (e.g. WhatsApp) that were previously enabled.
922
+ void channelManager.startEnabled().catch((err) => console.error("Channel auto-start failed:", err));
887
923
  // ── Primary-link — register this gateway as a filesystem node on an upstream
888
924
  // gateway so it shows up (browseable/openable) in the primary's picker. ──
889
925
  let primaryLink = null;
@@ -979,6 +1015,7 @@ async function main() {
979
1015
  try {
980
1016
  consentManager.cancelAll("shutdown");
981
1017
  await pluginManager.disposeAll();
1018
+ await channelManager.dispose();
982
1019
  await previewService.stopAll();
983
1020
  await surfaceRegistry.stopAll("shutdown");
984
1021
  clearInterval(browserReaperInterval);