@cereworker/channels 26.329.1 → 26.329.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,12 @@
1
+ import type { ChannelPlugin } from '../types.js';
2
+ export interface IrcChannelConfig {
3
+ host: string;
4
+ port: number;
5
+ tls: boolean;
6
+ nick: string;
7
+ password?: string;
8
+ channels: string[];
9
+ allowFrom: string[];
10
+ }
11
+ export declare function createIrcChannel(config: IrcChannelConfig): ChannelPlugin;
12
+ //# sourceMappingURL=irc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"irc.d.ts","sourceRoot":"","sources":["../../src/adapters/irc.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAmD,MAAM,aAAa,CAAC;AAGlG,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,aAAa,CAgKxE"}
@@ -0,0 +1,146 @@
1
+ import * as net from 'node:net';
2
+ import * as tls from 'node:tls';
3
+ import { chunkMarkdown, CHANNEL_LIMITS } from '../chunking.js';
4
+ export function createIrcChannel(config) {
5
+ let socket = null;
6
+ let connected = false;
7
+ let handler = null;
8
+ let buffer = '';
9
+ const limit = CHANNEL_LIMITS.irc;
10
+ function send(line) {
11
+ socket?.write(`${line}\r\n`);
12
+ }
13
+ function parseLine(line) {
14
+ let prefix;
15
+ let rest = line;
16
+ if (rest.startsWith(':')) {
17
+ const idx = rest.indexOf(' ');
18
+ prefix = rest.slice(1, idx);
19
+ rest = rest.slice(idx + 1);
20
+ }
21
+ const trailingIdx = rest.indexOf(' :');
22
+ let trailing;
23
+ if (trailingIdx !== -1) {
24
+ trailing = rest.slice(trailingIdx + 2);
25
+ rest = rest.slice(0, trailingIdx);
26
+ }
27
+ const parts = rest.split(' ').filter(Boolean);
28
+ const command = parts[0];
29
+ const params = parts.slice(1);
30
+ if (trailing !== undefined)
31
+ params.push(trailing);
32
+ return { prefix, command, params };
33
+ }
34
+ function extractNick(prefix) {
35
+ const idx = prefix.indexOf('!');
36
+ return idx !== -1 ? prefix.slice(0, idx) : prefix;
37
+ }
38
+ return {
39
+ id: 'irc',
40
+ meta: { name: 'IRC', emoji: '#' },
41
+ async start(h) {
42
+ handler = h;
43
+ return new Promise((resolve, reject) => {
44
+ const onConnect = () => {
45
+ if (config.password)
46
+ send(`PASS ${config.password}`);
47
+ send(`NICK ${config.nick}`);
48
+ send(`USER ${config.nick} 0 * :CereWorker`);
49
+ };
50
+ if (config.tls) {
51
+ socket = tls.connect({ host: config.host, port: config.port, rejectUnauthorized: false }, onConnect);
52
+ }
53
+ else {
54
+ socket = net.connect({ host: config.host, port: config.port }, onConnect);
55
+ }
56
+ socket.setEncoding('utf-8');
57
+ socket.on('data', (data) => {
58
+ buffer += data;
59
+ const lines = buffer.split('\r\n');
60
+ buffer = lines.pop() ?? '';
61
+ for (const line of lines) {
62
+ if (!line)
63
+ continue;
64
+ void handleLine(line);
65
+ }
66
+ });
67
+ socket.on('error', (err) => {
68
+ if (!connected)
69
+ reject(err);
70
+ });
71
+ socket.on('close', () => {
72
+ connected = false;
73
+ });
74
+ async function handleLine(line) {
75
+ const parsed = parseLine(line);
76
+ if (parsed.command === 'PING') {
77
+ send(`PONG :${parsed.params[0] ?? ''}`);
78
+ return;
79
+ }
80
+ // RPL_WELCOME — we're registered
81
+ if (parsed.command === '001') {
82
+ connected = true;
83
+ // Identify with NickServ if password set
84
+ if (config.password) {
85
+ send(`PRIVMSG NickServ :IDENTIFY ${config.password}`);
86
+ }
87
+ // Join channels
88
+ for (const ch of config.channels) {
89
+ send(`JOIN ${ch}`);
90
+ }
91
+ resolve();
92
+ return;
93
+ }
94
+ if (parsed.command === 'PRIVMSG' && parsed.prefix && handler) {
95
+ const nick = extractNick(parsed.prefix);
96
+ if (nick === config.nick)
97
+ return; // skip own messages
98
+ const target = parsed.params[0]; // channel or nick
99
+ const text = parsed.params[1] ?? '';
100
+ const inbound = {
101
+ channelId: 'irc',
102
+ senderId: nick,
103
+ senderName: nick,
104
+ text,
105
+ sessionId: target.startsWith('#') ? `channel:${target}` : `dm:${nick}`,
106
+ timestamp: Date.now(),
107
+ };
108
+ const response = await handler(inbound);
109
+ if (response) {
110
+ const replyTarget = target.startsWith('#') ? target : nick;
111
+ const chunks = chunkMarkdown(response, limit);
112
+ for (const chunk of chunks) {
113
+ send(`PRIVMSG ${replyTarget} :${chunk}`);
114
+ }
115
+ }
116
+ }
117
+ }
118
+ });
119
+ },
120
+ async stop() {
121
+ if (socket) {
122
+ send('QUIT :CereWorker shutting down');
123
+ socket.destroy();
124
+ socket = null;
125
+ connected = false;
126
+ }
127
+ },
128
+ async send(msg) {
129
+ if (!socket)
130
+ throw new Error('IRC not started');
131
+ const chunks = chunkMarkdown(msg.text, limit);
132
+ for (const chunk of chunks) {
133
+ send(`PRIVMSG ${msg.to} :${chunk}`);
134
+ }
135
+ },
136
+ isAllowed(senderId) {
137
+ if (config.allowFrom.length === 0)
138
+ return true;
139
+ return config.allowFrom.includes(senderId);
140
+ },
141
+ isConnected() {
142
+ return connected;
143
+ },
144
+ };
145
+ }
146
+ //# sourceMappingURL=irc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"irc.js","sourceRoot":"","sources":["../../src/adapters/irc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ChannelPlugin } from '../types.js';
2
+ export interface SignalChannelConfig {
3
+ account: string;
4
+ signalCliUrl: string;
5
+ allowFrom: string[];
6
+ }
7
+ export declare function createSignalChannel(config: SignalChannelConfig): ChannelPlugin;
8
+ //# sourceMappingURL=signal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/adapters/signal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAmD,MAAM,aAAa,CAAC;AAGlG,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,CA+G9E"}
@@ -0,0 +1,108 @@
1
+ import { chunkMarkdown, CHANNEL_LIMITS } from '../chunking.js';
2
+ export function createSignalChannel(config) {
3
+ let connected = false;
4
+ let polling = false;
5
+ let pollTimer = null;
6
+ const limit = CHANNEL_LIMITS.signal;
7
+ const baseUrl = config.signalCliUrl.replace(/\/+$/, '');
8
+ async function receive() {
9
+ const url = `${baseUrl}/v1/receive/${encodeURIComponent(config.account)}`;
10
+ const res = await fetch(url, { signal: AbortSignal.timeout(30_000) });
11
+ if (!res.ok)
12
+ throw new Error(`Signal receive: ${res.status}`);
13
+ return (await res.json());
14
+ }
15
+ async function sendMessage(to, text) {
16
+ const res = await fetch(`${baseUrl}/v2/send`, {
17
+ method: 'POST',
18
+ headers: { 'Content-Type': 'application/json' },
19
+ body: JSON.stringify({
20
+ message: text,
21
+ number: config.account,
22
+ recipients: [to],
23
+ }),
24
+ });
25
+ if (!res.ok)
26
+ throw new Error(`Signal send: ${res.status}`);
27
+ }
28
+ return {
29
+ id: 'signal',
30
+ meta: { name: 'Signal', emoji: 'S' },
31
+ async start(handler) {
32
+ // Verify connectivity
33
+ try {
34
+ const res = await fetch(`${baseUrl}/v1/about`, { signal: AbortSignal.timeout(5_000) });
35
+ if (!res.ok)
36
+ throw new Error(`Signal CLI not reachable: ${res.status}`);
37
+ }
38
+ catch (err) {
39
+ throw new Error(`Cannot connect to signal-cli at ${baseUrl}: ${err instanceof Error ? err.message : String(err)}`);
40
+ }
41
+ connected = true;
42
+ polling = true;
43
+ const poll = async () => {
44
+ if (!polling)
45
+ return;
46
+ try {
47
+ const messages = await receive();
48
+ for (const raw of messages) {
49
+ const envelope = raw.envelope;
50
+ if (!envelope)
51
+ continue;
52
+ const dataMessage = envelope.dataMessage;
53
+ if (!dataMessage?.message)
54
+ continue;
55
+ const source = String(envelope.source ?? '');
56
+ const groupId = dataMessage.groupInfo?.groupId;
57
+ const inbound = {
58
+ channelId: 'signal',
59
+ senderId: source,
60
+ text: dataMessage.message,
61
+ sessionId: groupId ? `group:${groupId}` : `dm:${source}`,
62
+ timestamp: Number(envelope.timestamp ?? Date.now()),
63
+ raw,
64
+ };
65
+ const response = await handler(inbound);
66
+ if (response) {
67
+ const to = groupId ?? source;
68
+ const chunks = chunkMarkdown(response, limit);
69
+ for (const chunk of chunks) {
70
+ await sendMessage(to, chunk);
71
+ }
72
+ }
73
+ }
74
+ }
75
+ catch {
76
+ // Poll failure is non-fatal — retry on next tick
77
+ }
78
+ if (polling) {
79
+ pollTimer = setTimeout(poll, 1000);
80
+ }
81
+ };
82
+ void poll();
83
+ },
84
+ async stop() {
85
+ polling = false;
86
+ connected = false;
87
+ if (pollTimer) {
88
+ clearTimeout(pollTimer);
89
+ pollTimer = null;
90
+ }
91
+ },
92
+ async send(msg) {
93
+ const chunks = chunkMarkdown(msg.text, limit);
94
+ for (const chunk of chunks) {
95
+ await sendMessage(msg.to, chunk);
96
+ }
97
+ },
98
+ isAllowed(senderId) {
99
+ if (config.allowFrom.length === 0)
100
+ return true;
101
+ return config.allowFrom.includes(senderId);
102
+ },
103
+ isConnected() {
104
+ return connected;
105
+ },
106
+ };
107
+ }
108
+ //# sourceMappingURL=signal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal.js","sourceRoot":"","sources":["../../src/adapters/signal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { ChannelPlugin } from '../types.js';
2
+ export interface WhatsAppChannelConfig {
3
+ allowFrom: string[];
4
+ authDir?: string;
5
+ }
6
+ export declare function createWhatsAppChannel(config: WhatsAppChannelConfig): ChannelPlugin;
7
+ //# sourceMappingURL=whatsapp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whatsapp.d.ts","sourceRoot":"","sources":["../../src/adapters/whatsapp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAmD,MAAM,aAAa,CAAC;AAGlG,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,aAAa,CA0GlF"}
@@ -0,0 +1,101 @@
1
+ import { join } from 'node:path';
2
+ import { homedir } from 'node:os';
3
+ import { chunkMarkdown, CHANNEL_LIMITS } from '../chunking.js';
4
+ export function createWhatsAppChannel(config) {
5
+ let sock = null;
6
+ let connected = false;
7
+ const limit = CHANNEL_LIMITS.whatsapp;
8
+ const authDir = config.authDir ?? join(homedir(), '.cereworker', 'whatsapp-auth');
9
+ return {
10
+ id: 'whatsapp',
11
+ meta: { name: 'WhatsApp', emoji: 'W' },
12
+ async start(handler) {
13
+ // Dynamic import — baileys is an optional dependency
14
+ const baileys = await import('@whiskeysockets/baileys');
15
+ const makeWASocket = baileys.default;
16
+ const { useMultiFileAuthState, DisconnectReason } = baileys;
17
+ const { state, saveCreds } = await useMultiFileAuthState(authDir);
18
+ sock = makeWASocket({
19
+ auth: state,
20
+ printQRInTerminal: true,
21
+ });
22
+ sock.ev.on('creds.update', saveCreds);
23
+ sock.ev.on('connection.update', (update) => {
24
+ const { connection, lastDisconnect } = update;
25
+ if (connection === 'close') {
26
+ connected = false;
27
+ const statusCode = lastDisconnect?.error?.output?.statusCode;
28
+ // Reconnect unless logged out
29
+ if (statusCode !== DisconnectReason.loggedOut) {
30
+ // Re-start after a brief delay
31
+ setTimeout(() => {
32
+ if (sock)
33
+ void this.start(handler);
34
+ }, 3000);
35
+ }
36
+ }
37
+ else if (connection === 'open') {
38
+ connected = true;
39
+ }
40
+ });
41
+ sock.ev.on('messages.upsert', async ({ messages: msgs, type }) => {
42
+ if (type !== 'notify')
43
+ return;
44
+ for (const msg of msgs) {
45
+ if (msg.key.fromMe)
46
+ continue;
47
+ if (!msg.message)
48
+ continue;
49
+ const text = msg.message.conversation ??
50
+ msg.message.extendedTextMessage?.text ??
51
+ '';
52
+ if (!text)
53
+ continue;
54
+ const jid = msg.key.remoteJid ?? '';
55
+ const senderId = msg.key.participant ?? jid; // participant in groups, jid in DMs
56
+ const isGroup = jid.endsWith('@g.us');
57
+ const inbound = {
58
+ channelId: 'whatsapp',
59
+ senderId,
60
+ senderName: msg.pushName ?? undefined,
61
+ text,
62
+ sessionId: isGroup ? `group:${jid}` : `dm:${senderId}`,
63
+ timestamp: msg.messageTimestamp * 1000 || Date.now(),
64
+ raw: msg,
65
+ };
66
+ const response = await handler(inbound);
67
+ if (response) {
68
+ const chunks = chunkMarkdown(response, limit);
69
+ for (const chunk of chunks) {
70
+ await sock.sendMessage(jid, { text: chunk });
71
+ }
72
+ }
73
+ }
74
+ });
75
+ },
76
+ async stop() {
77
+ if (sock) {
78
+ sock.end(undefined);
79
+ sock = null;
80
+ connected = false;
81
+ }
82
+ },
83
+ async send(msg) {
84
+ if (!sock)
85
+ throw new Error('WhatsApp not started');
86
+ const chunks = chunkMarkdown(msg.text, limit);
87
+ for (const chunk of chunks) {
88
+ await sock.sendMessage(msg.to, { text: chunk });
89
+ }
90
+ },
91
+ isAllowed(senderId) {
92
+ if (config.allowFrom.length === 0)
93
+ return true;
94
+ return config.allowFrom.includes(senderId);
95
+ },
96
+ isConnected() {
97
+ return connected;
98
+ },
99
+ };
100
+ }
101
+ //# sourceMappingURL=whatsapp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whatsapp.js","sourceRoot":"","sources":["../../src/adapters/whatsapp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chunking.d.ts","sourceRoot":"","sources":["../src/chunking.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,2CAA2C;AAC3C,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOjD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAgDnE"}
1
+ {"version":3,"file":"chunking.d.ts","sourceRoot":"","sources":["../src/chunking.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,2CAA2C;AAC3C,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUjD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAgDnE"}
package/dist/chunking.js CHANGED
@@ -12,6 +12,9 @@ export const CHANNEL_LIMITS = {
12
12
  matrix: 65536,
13
13
  feishu: 4096,
14
14
  wechat: 4096,
15
+ whatsapp: 4096,
16
+ signal: 4000,
17
+ irc: 400,
15
18
  };
16
19
  /**
17
20
  * Split text into chunks that respect markdown structure.
@@ -1 +1 @@
1
- {"version":3,"file":"chunking.js","sourceRoot":"","sources":["../src/chunking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chunking.js","sourceRoot":"","sources":["../src/chunking.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAQ9C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,cAAc,CAsE7E"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAW9C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,cAAc,CAsG7E"}
package/dist/factory.js CHANGED
@@ -5,6 +5,9 @@ import { createTelegramChannel } from './adapters/telegram.js';
5
5
  import { createMatrixChannel } from './adapters/matrix.js';
6
6
  import { createFeishuChannel } from './adapters/feishu.js';
7
7
  import { createWeChatChannel } from './adapters/wechat.js';
8
+ import { createWhatsAppChannel } from './adapters/whatsapp.js';
9
+ import { createSignalChannel } from './adapters/signal.js';
10
+ import { createIrcChannel } from './adapters/irc.js';
8
11
  export function createChannelManager(config) {
9
12
  const manager = new ChannelManager();
10
13
  const { channels } = config;
@@ -54,6 +57,29 @@ export function createChannelManager(config) {
54
57
  allowFrom: channels.wechat.allowFrom,
55
58
  }));
56
59
  }
60
+ if (channels.whatsapp.enabled) {
61
+ manager.register(createWhatsAppChannel({
62
+ allowFrom: channels.whatsapp.allowFrom,
63
+ }));
64
+ }
65
+ if (channels.signal.enabled && channels.signal.account) {
66
+ manager.register(createSignalChannel({
67
+ account: channels.signal.account,
68
+ signalCliUrl: channels.signal.signalCliUrl,
69
+ allowFrom: channels.signal.allowFrom,
70
+ }));
71
+ }
72
+ if (channels.irc.enabled && channels.irc.host) {
73
+ manager.register(createIrcChannel({
74
+ host: channels.irc.host,
75
+ port: channels.irc.port,
76
+ tls: channels.irc.tls,
77
+ nick: channels.irc.nick,
78
+ password: channels.irc.password,
79
+ channels: channels.irc.channels,
80
+ allowFrom: channels.irc.allowFrom,
81
+ }));
82
+ }
57
83
  return manager;
58
84
  }
59
85
  //# sourceMappingURL=factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,4 +9,7 @@ export { createTelegramChannel, type TelegramChannelConfig } from './adapters/te
9
9
  export { createMatrixChannel, type MatrixChannelConfig } from './adapters/matrix.js';
10
10
  export { createFeishuChannel, type FeishuChannelConfig } from './adapters/feishu.js';
11
11
  export { createWeChatChannel, type WeChatChannelConfig } from './adapters/wechat.js';
12
+ export { createWhatsAppChannel, type WhatsAppChannelConfig } from './adapters/whatsapp.js';
13
+ export { createSignalChannel, type SignalChannelConfig } from './adapters/signal.js';
14
+ export { createIrcChannel, type IrcChannelConfig } from './adapters/irc.js';
12
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,WAAW,EACX,SAAS,EACT,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,WAAW,EACX,SAAS,EACT,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -7,4 +7,7 @@ export { createTelegramChannel } from './adapters/telegram.js';
7
7
  export { createMatrixChannel } from './adapters/matrix.js';
8
8
  export { createFeishuChannel } from './adapters/feishu.js';
9
9
  export { createWeChatChannel } from './adapters/wechat.js';
10
+ export { createWhatsAppChannel } from './adapters/whatsapp.js';
11
+ export { createSignalChannel } from './adapters/signal.js';
12
+ export { createIrcChannel } from './adapters/irc.js';
10
13
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAA2B,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAA6B,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAA8B,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAA4B,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAA4B,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAA4B,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAA2B,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAA6B,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAA8B,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAA4B,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAA4B,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAA4B,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAA8B,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAA4B,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAyB,MAAM,mBAAmB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -34,7 +34,7 @@ export interface ChannelPlugin {
34
34
  /** Whether the channel is currently connected */
35
35
  isConnected(): boolean;
36
36
  }
37
- export type ChannelId = 'slack' | 'discord' | 'telegram' | 'matrix' | 'feishu' | 'wechat';
37
+ export type ChannelId = 'slack' | 'discord' | 'telegram' | 'matrix' | 'feishu' | 'wechat' | 'whatsapp' | 'signal' | 'irc';
38
38
  export interface ChannelConfig {
39
39
  enabled: boolean;
40
40
  allowFrom: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE7E,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAElB,qDAAqD;IACrD,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,kCAAkC;IAClC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB,0BAA0B;IAC1B,IAAI,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C,8CAA8C;IAC9C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC,iDAAiD;IACjD,WAAW,IAAI,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1F,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE7E,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAElB,qDAAqD;IACrD,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,kCAAkC;IAClC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB,0BAA0B;IAC1B,IAAI,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C,8CAA8C;IAC9C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC,iDAAiD;IACjD,WAAW,IAAI,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE1H,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cereworker/channels",
3
- "version": "26.329.1",
3
+ "version": "26.329.2",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,8 +21,9 @@
21
21
  "telegraf": "^4.16.0",
22
22
  "matrix-js-sdk": "^36.0.0",
23
23
  "@larksuiteoapi/node-sdk": "^1.39.0",
24
- "@cereworker/core": "26.329.1",
25
- "@cereworker/config": "26.329.1"
24
+ "@whiskeysockets/baileys": "7.0.0-rc.9",
25
+ "@cereworker/core": "26.329.2",
26
+ "@cereworker/config": "26.329.2"
26
27
  },
27
28
  "devDependencies": {
28
29
  "typescript": "^5.7.3"