@cereworker/channels 26.329.2 → 26.329.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/irc.d.ts +8 -0
- package/dist/adapters/irc.d.ts.map +1 -1
- package/dist/adapters/irc.js +29 -27
- package/dist/adapters/irc.js.map +1 -1
- package/dist/adapters/signal.d.ts +3 -1
- package/dist/adapters/signal.d.ts.map +1 -1
- package/dist/adapters/signal.js +23 -16
- package/dist/adapters/signal.js.map +1 -1
- package/package.json +3 -3
package/dist/adapters/irc.d.ts
CHANGED
|
@@ -8,5 +8,13 @@ export interface IrcChannelConfig {
|
|
|
8
8
|
channels: string[];
|
|
9
9
|
allowFrom: string[];
|
|
10
10
|
}
|
|
11
|
+
/** Parse a raw IRC protocol line into prefix, command, and params. */
|
|
12
|
+
export declare function parseIrcLine(line: string): {
|
|
13
|
+
prefix?: string;
|
|
14
|
+
command: string;
|
|
15
|
+
params: string[];
|
|
16
|
+
};
|
|
17
|
+
/** Extract the nickname from an IRC prefix (nick!user@host). */
|
|
18
|
+
export declare function extractIrcNick(prefix: string): string;
|
|
11
19
|
export declare function createIrcChannel(config: IrcChannelConfig): ChannelPlugin;
|
|
12
20
|
//# sourceMappingURL=irc.d.ts.map
|
|
@@ -1 +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,
|
|
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,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAuBjG;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,aAAa,CAkIxE"}
|
package/dist/adapters/irc.js
CHANGED
|
@@ -1,6 +1,33 @@
|
|
|
1
1
|
import * as net from 'node:net';
|
|
2
2
|
import * as tls from 'node:tls';
|
|
3
3
|
import { chunkMarkdown, CHANNEL_LIMITS } from '../chunking.js';
|
|
4
|
+
/** Parse a raw IRC protocol line into prefix, command, and params. */
|
|
5
|
+
export function parseIrcLine(line) {
|
|
6
|
+
let prefix;
|
|
7
|
+
let rest = line;
|
|
8
|
+
if (rest.startsWith(':')) {
|
|
9
|
+
const idx = rest.indexOf(' ');
|
|
10
|
+
prefix = rest.slice(1, idx);
|
|
11
|
+
rest = rest.slice(idx + 1);
|
|
12
|
+
}
|
|
13
|
+
const trailingIdx = rest.indexOf(' :');
|
|
14
|
+
let trailing;
|
|
15
|
+
if (trailingIdx !== -1) {
|
|
16
|
+
trailing = rest.slice(trailingIdx + 2);
|
|
17
|
+
rest = rest.slice(0, trailingIdx);
|
|
18
|
+
}
|
|
19
|
+
const parts = rest.split(' ').filter(Boolean);
|
|
20
|
+
const command = parts[0];
|
|
21
|
+
const params = parts.slice(1);
|
|
22
|
+
if (trailing !== undefined)
|
|
23
|
+
params.push(trailing);
|
|
24
|
+
return { prefix, command, params };
|
|
25
|
+
}
|
|
26
|
+
/** Extract the nickname from an IRC prefix (nick!user@host). */
|
|
27
|
+
export function extractIrcNick(prefix) {
|
|
28
|
+
const idx = prefix.indexOf('!');
|
|
29
|
+
return idx !== -1 ? prefix.slice(0, idx) : prefix;
|
|
30
|
+
}
|
|
4
31
|
export function createIrcChannel(config) {
|
|
5
32
|
let socket = null;
|
|
6
33
|
let connected = false;
|
|
@@ -10,31 +37,6 @@ export function createIrcChannel(config) {
|
|
|
10
37
|
function send(line) {
|
|
11
38
|
socket?.write(`${line}\r\n`);
|
|
12
39
|
}
|
|
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
40
|
return {
|
|
39
41
|
id: 'irc',
|
|
40
42
|
meta: { name: 'IRC', emoji: '#' },
|
|
@@ -72,7 +74,7 @@ export function createIrcChannel(config) {
|
|
|
72
74
|
connected = false;
|
|
73
75
|
});
|
|
74
76
|
async function handleLine(line) {
|
|
75
|
-
const parsed =
|
|
77
|
+
const parsed = parseIrcLine(line);
|
|
76
78
|
if (parsed.command === 'PING') {
|
|
77
79
|
send(`PONG :${parsed.params[0] ?? ''}`);
|
|
78
80
|
return;
|
|
@@ -92,7 +94,7 @@ export function createIrcChannel(config) {
|
|
|
92
94
|
return;
|
|
93
95
|
}
|
|
94
96
|
if (parsed.command === 'PRIVMSG' && parsed.prefix && handler) {
|
|
95
|
-
const nick =
|
|
97
|
+
const nick = extractIrcNick(parsed.prefix);
|
|
96
98
|
if (nick === config.nick)
|
|
97
99
|
return; // skip own messages
|
|
98
100
|
const target = parsed.params[0]; // channel or nick
|
package/dist/adapters/irc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"irc.js","sourceRoot":"","sources":["../../src/adapters/irc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAY/D,
|
|
1
|
+
{"version":3,"file":"irc.js","sourceRoot":"","sources":["../../src/adapters/irc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type { ChannelPlugin } from '../types.js';
|
|
1
|
+
import type { ChannelPlugin, InboundMessage } from '../types.js';
|
|
2
|
+
/** Parse a signal-cli envelope into an InboundMessage, or null if not a text message. */
|
|
3
|
+
export declare function parseSignalEnvelope(raw: unknown): InboundMessage | null;
|
|
2
4
|
export interface SignalChannelConfig {
|
|
3
5
|
account: string;
|
|
4
6
|
signalCliUrl: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/adapters/signal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/adapters/signal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAmC,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlG,yFAAyF;AACzF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAkBvE;AAED,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,CAiG9E"}
|
package/dist/adapters/signal.js
CHANGED
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import { chunkMarkdown, CHANNEL_LIMITS } from '../chunking.js';
|
|
2
|
+
/** Parse a signal-cli envelope into an InboundMessage, or null if not a text message. */
|
|
3
|
+
export function parseSignalEnvelope(raw) {
|
|
4
|
+
const envelope = raw.envelope;
|
|
5
|
+
if (!envelope)
|
|
6
|
+
return null;
|
|
7
|
+
const dataMessage = envelope.dataMessage;
|
|
8
|
+
if (!dataMessage?.message)
|
|
9
|
+
return null;
|
|
10
|
+
const source = String(envelope.source ?? '');
|
|
11
|
+
const groupId = dataMessage.groupInfo?.groupId;
|
|
12
|
+
return {
|
|
13
|
+
channelId: 'signal',
|
|
14
|
+
senderId: source,
|
|
15
|
+
text: dataMessage.message,
|
|
16
|
+
sessionId: groupId ? `group:${groupId}` : `dm:${source}`,
|
|
17
|
+
timestamp: Number(envelope.timestamp ?? Date.now()),
|
|
18
|
+
raw,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
2
21
|
export function createSignalChannel(config) {
|
|
3
22
|
let connected = false;
|
|
4
23
|
let polling = false;
|
|
@@ -46,25 +65,13 @@ export function createSignalChannel(config) {
|
|
|
46
65
|
try {
|
|
47
66
|
const messages = await receive();
|
|
48
67
|
for (const raw of messages) {
|
|
49
|
-
const
|
|
50
|
-
if (!
|
|
51
|
-
continue;
|
|
52
|
-
const dataMessage = envelope.dataMessage;
|
|
53
|
-
if (!dataMessage?.message)
|
|
68
|
+
const inbound = parseSignalEnvelope(raw);
|
|
69
|
+
if (!inbound)
|
|
54
70
|
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
71
|
const response = await handler(inbound);
|
|
66
72
|
if (response) {
|
|
67
|
-
const
|
|
73
|
+
const groupId = (raw.envelope?.dataMessage?.groupInfo?.groupId);
|
|
74
|
+
const to = groupId ?? inbound.senderId;
|
|
68
75
|
const chunks = chunkMarkdown(response, limit);
|
|
69
76
|
for (const chunk of chunks) {
|
|
70
77
|
await sendMessage(to, chunk);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signal.js","sourceRoot":"","sources":["../../src/adapters/signal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"signal.js","sourceRoot":"","sources":["../../src/adapters/signal.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cereworker/channels",
|
|
3
|
-
"version": "26.329.
|
|
3
|
+
"version": "26.329.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"matrix-js-sdk": "^36.0.0",
|
|
23
23
|
"@larksuiteoapi/node-sdk": "^1.39.0",
|
|
24
24
|
"@whiskeysockets/baileys": "7.0.0-rc.9",
|
|
25
|
-
"@cereworker/core": "26.329.
|
|
26
|
-
"@cereworker/config": "26.329.
|
|
25
|
+
"@cereworker/core": "26.329.3",
|
|
26
|
+
"@cereworker/config": "26.329.3"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"typescript": "^5.7.3"
|