@cereworker/channels 26.329.11 → 26.329.13

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.
@@ -1,10 +1,11 @@
1
1
  import { GatewayIntentBits, Partials } from 'discord.js';
2
- import type { ChannelPlugin } from '../types.js';
2
+ import type { ChannelPlugin, CommandDef } from '../types.js';
3
3
  export interface DiscordChannelConfig {
4
4
  token: string;
5
5
  applicationId?: string;
6
6
  allowFrom: string[];
7
7
  channelIds: string[];
8
+ commands?: CommandDef[];
8
9
  }
9
10
  export declare function getDiscordClientOptions(): {
10
11
  intents: GatewayIntentBits[];
@@ -1 +1 @@
1
- {"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../src/adapters/discord.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,iBAAiB,EAAU,QAAQ,EAAkC,MAAM,YAAY,CAAC;AACzG,OAAO,KAAK,EAAE,aAAa,EAAmD,MAAM,aAAa,CAAC;AAGlG,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,uBAAuB;;;EAUtC;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IACjD,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,GAAG,OAAO,CAKV;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa,CAyFhF"}
1
+ {"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../src/adapters/discord.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAEjB,QAAQ,EAMT,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,EAAmD,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9G,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;CACzB;AAED,wBAAgB,uBAAuB;;;EAUtC;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IACjD,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,GAAG,OAAO,CAKV;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa,CA8KhF"}
@@ -1,4 +1,4 @@
1
- import { Client, GatewayIntentBits, Events, Partials } from 'discord.js';
1
+ import { Client, GatewayIntentBits, Events, Partials, REST, Routes, SlashCommandBuilder, } from 'discord.js';
2
2
  import { chunkMarkdown, CHANNEL_LIMITS } from '../chunking.js';
3
3
  export function getDiscordClientOptions() {
4
4
  return {
@@ -24,6 +24,26 @@ export function createDiscordChannel(config) {
24
24
  let client = null;
25
25
  let connected = false;
26
26
  const limit = CHANNEL_LIMITS.discord;
27
+ async function registerSlashCommands() {
28
+ if (!config.applicationId || !config.commands?.length)
29
+ return;
30
+ try {
31
+ const rest = new REST({ version: '10' }).setToken(config.token);
32
+ const commands = config.commands.map((cmd) => {
33
+ const builder = new SlashCommandBuilder()
34
+ .setName(cmd.name)
35
+ .setDescription(cmd.description);
36
+ if (cmd.hasArgs) {
37
+ builder.addStringOption((opt) => opt.setName('args').setDescription('Arguments').setRequired(false));
38
+ }
39
+ return builder.toJSON();
40
+ });
41
+ await rest.put(Routes.applicationCommands(config.applicationId), { body: commands });
42
+ }
43
+ catch {
44
+ // Non-critical — bot works without slash commands
45
+ }
46
+ }
27
47
  return {
28
48
  id: 'discord',
29
49
  meta: { name: 'Discord', emoji: 'D' },
@@ -71,8 +91,61 @@ export function createDiscordChannel(config) {
71
91
  }
72
92
  }
73
93
  });
94
+ // Handle slash command interactions
95
+ client.on(Events.InteractionCreate, async (interaction) => {
96
+ if (!interaction.isChatInputCommand())
97
+ return;
98
+ const cmd = interaction;
99
+ if (!this.isAllowed(cmd.user.id)) {
100
+ await cmd.reply({ content: 'Not authorized.', ephemeral: true });
101
+ return;
102
+ }
103
+ // Enforce same channel routing as text messages
104
+ const isDM = !cmd.inGuild();
105
+ if (!isDM && config.channelIds.length > 0) {
106
+ const routeIds = [cmd.channelId ?? ''];
107
+ if (!routeIds.some((id) => config.channelIds.includes(id))) {
108
+ await cmd.reply({ content: 'Not available in this channel.', ephemeral: true });
109
+ return;
110
+ }
111
+ }
112
+ // Read arguments for commands that accept them
113
+ const args = cmd.options.getString('args') ?? '';
114
+ const text = args ? `/${cmd.commandName} ${args}` : `/${cmd.commandName}`;
115
+ // Match session IDs with text message logic
116
+ const isThread = cmd.channel?.isThread?.() ?? false;
117
+ const sessionId = isDM
118
+ ? `dm:${cmd.channelId}`
119
+ : isThread
120
+ ? `thread:${cmd.channelId}`
121
+ : `channel:${cmd.channelId}`;
122
+ const inbound = {
123
+ channelId: 'discord',
124
+ senderId: cmd.user.id,
125
+ senderName: cmd.user.username,
126
+ text,
127
+ sessionId,
128
+ threadId: isThread ? cmd.channelId ?? undefined : undefined,
129
+ timestamp: cmd.createdTimestamp,
130
+ };
131
+ // All slash command replies are ephemeral (only visible to invoking user)
132
+ await cmd.deferReply({ ephemeral: true });
133
+ const response = await handler(inbound);
134
+ if (response) {
135
+ const chunks = chunkMarkdown(response, limit);
136
+ await cmd.editReply(chunks[0]);
137
+ for (let i = 1; i < chunks.length; i++) {
138
+ await cmd.followUp({ content: chunks[i], ephemeral: true });
139
+ }
140
+ }
141
+ else {
142
+ await cmd.editReply('Done.');
143
+ }
144
+ });
74
145
  await client.login(config.token);
75
146
  connected = true;
147
+ // Register slash commands after login
148
+ await registerSlashCommands();
76
149
  },
77
150
  async stop() {
78
151
  if (client) {
@@ -1 +1 @@
1
- {"version":3,"file":"discord.js","sourceRoot":"","sources":["../../src/adapters/discord.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discord.js","sourceRoot":"","sources":["../../src/adapters/discord.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import type { ChannelPlugin } from '../types.js';
2
+ /** Split a text chunk into individual IRC-safe PRIVMSG lines.
3
+ * Empty lines are sent as a single space to preserve formatting. */
4
+ export declare function splitIrcLines(text: string): string[];
2
5
  export interface IrcChannelConfig {
3
6
  host: string;
4
7
  port: number;
@@ -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,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,CAuIxE"}
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;oEACoE;AACpE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpD;AAED,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,CAsIxE"}
@@ -1,6 +1,11 @@
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
+ /** Split a text chunk into individual IRC-safe PRIVMSG lines.
5
+ * Empty lines are sent as a single space to preserve formatting. */
6
+ export function splitIrcLines(text) {
7
+ return text.replace(/\r/g, '').split('\n').map((line) => line || ' ');
8
+ }
4
9
  /** Parse a raw IRC protocol line into prefix, command, and params. */
5
10
  export function parseIrcLine(line) {
6
11
  let prefix;
@@ -112,10 +117,8 @@ export function createIrcChannel(config) {
112
117
  const replyTarget = target.startsWith('#') ? target : nick;
113
118
  const chunks = chunkMarkdown(response, limit);
114
119
  for (const chunk of chunks) {
115
- // IRC uses \r\n as line delimiter send each line as separate PRIVMSG
116
- for (const line of chunk.replace(/\r/g, '').split('\n')) {
117
- if (line.trim())
118
- send(`PRIVMSG ${replyTarget} :${line}`);
120
+ for (const line of splitIrcLines(chunk)) {
121
+ send(`PRIVMSG ${replyTarget} :${line}`);
119
122
  }
120
123
  }
121
124
  }
@@ -136,9 +139,8 @@ export function createIrcChannel(config) {
136
139
  throw new Error('IRC not started');
137
140
  const chunks = chunkMarkdown(msg.text, limit);
138
141
  for (const chunk of chunks) {
139
- for (const line of chunk.replace(/\r/g, '').split('\n')) {
140
- if (line.trim())
141
- send(`PRIVMSG ${msg.to} :${line}`);
142
+ for (const line of splitIrcLines(chunk)) {
143
+ send(`PRIVMSG ${msg.to} :${line}`);
142
144
  }
143
145
  }
144
146
  },
@@ -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,sEAAsE;AACtE,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,MAA0B,CAAC;IAC/B,IAAI,IAAI,GAAG,IAAI,CAAC;IAEhB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,QAA4B,CAAC;IACjC,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;QACvB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAElD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACrC,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAwB;IACvD,IAAI,MAAM,GAAsC,IAAI,CAAC;IACrD,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,OAAO,GAA0B,IAAI,CAAC;IAC1C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC;IAEjC,SAAS,IAAI,CAAC,IAAY;QACxB,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;QAEjC,KAAK,CAAC,KAAK,CAAC,CAAiB;YAC3B,OAAO,GAAG,CAAC,CAAC;YAEZ,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,MAAM,SAAS,GAAG,GAAG,EAAE;oBACrB,IAAI,MAAM,CAAC,QAAQ;wBAAE,IAAI,CAAC,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACrD,IAAI,CAAC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC5B,IAAI,CAAC,QAAQ,MAAM,CAAC,IAAI,kBAAkB,CAAC,CAAC;gBAC9C,CAAC,CAAC;gBAEF,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;oBACf,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC5E,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC5E,CAAC;gBAED,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAE5B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;oBACjC,MAAM,IAAI,IAAI,CAAC;oBACf,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACnC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;oBAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,IAAI;4BAAE,SAAS;wBACpB,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBACzB,IAAI,CAAC,SAAS;wBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACtB,SAAS,GAAG,KAAK,CAAC;gBACpB,CAAC,CAAC,CAAC;gBAEH,KAAK,UAAU,UAAU,CAAC,IAAY;oBACpC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;oBAElC,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;wBAC9B,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACxC,OAAO;oBACT,CAAC;oBAED,iCAAiC;oBACjC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;wBAC7B,SAAS,GAAG,IAAI,CAAC;wBACjB,yCAAyC;wBACzC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;4BACpB,IAAI,CAAC,8BAA8B,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACxD,CAAC;wBACD,gBAAgB;wBAChB,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;4BACjC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBACrB,CAAC;wBACD,OAAO,EAAE,CAAC;wBACV,OAAO;oBACT,CAAC;oBAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC7D,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC3C,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI;4BAAE,OAAO,CAAC,oBAAoB;wBAEtD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;wBACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBAEpC,MAAM,OAAO,GAAmB;4BAC9B,SAAS,EAAE,KAAK;4BAChB,QAAQ,EAAE,IAAI;4BACd,UAAU,EAAE,IAAI;4BAChB,IAAI;4BACJ,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE;4BACtE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;yBACtB,CAAC;wBAEF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;wBACxC,IAAI,QAAQ,EAAE,CAAC;4BACb,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;4BAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;4BAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gCAC3B,uEAAuE;gCACvE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oCACxD,IAAI,IAAI,CAAC,IAAI,EAAE;wCAAE,IAAI,CAAC,WAAW,WAAW,KAAK,IAAI,EAAE,CAAC,CAAC;gCAC3D,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,IAAI;YACR,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBACvC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,GAAG,IAAI,CAAC;gBACd,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAoB;YAC7B,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxD,IAAI,IAAI,CAAC,IAAI,EAAE;wBAAE,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;QAED,SAAS,CAAC,QAAgB;YACxB,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC/C,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,WAAW;YACT,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"irc.js","sourceRoot":"","sources":["../../src/adapters/irc.ts"],"names":[],"mappings":"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"}
package/dist/factory.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { CereWorkerConfig } from '@cereworker/config';
2
+ import type { CommandDef } from './types.js';
2
3
  import { ChannelManager } from './manager.js';
3
- export declare function createChannelManager(config: CereWorkerConfig): ChannelManager;
4
+ export declare function createChannelManager(config: CereWorkerConfig, commands?: CommandDef[]): ChannelManager;
4
5
  //# sourceMappingURL=factory.d.ts.map
@@ -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;AAW9C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,cAAc,CAsG7E"}
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,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAW9C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,cAAc,CAuGtG"}
package/dist/factory.js CHANGED
@@ -8,7 +8,7 @@ import { createWeChatChannel } from './adapters/wechat.js';
8
8
  import { createWhatsAppChannel } from './adapters/whatsapp.js';
9
9
  import { createSignalChannel } from './adapters/signal.js';
10
10
  import { createIrcChannel } from './adapters/irc.js';
11
- export function createChannelManager(config) {
11
+ export function createChannelManager(config, commands) {
12
12
  const manager = new ChannelManager();
13
13
  const { channels } = config;
14
14
  if (channels.slack.enabled && channels.slack.botToken && channels.slack.appToken) {
@@ -25,6 +25,7 @@ export function createChannelManager(config) {
25
25
  applicationId: channels.discord.applicationId,
26
26
  allowFrom: channels.discord.allowFrom,
27
27
  channelIds: channels.discord.channelIds,
28
+ commands,
28
29
  }));
29
30
  }
30
31
  if (channels.telegram.enabled && channels.telegram.token) {
@@ -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
@@ -1,4 +1,4 @@
1
- export type { ChannelPlugin, ChannelMeta, ChannelId, ChannelConfig, InboundMessage, OutboundMessage, MessageHandler, } from './types.js';
1
+ export type { ChannelPlugin, ChannelMeta, ChannelId, ChannelConfig, CommandDef, InboundMessage, OutboundMessage, MessageHandler, } from './types.js';
2
2
  export { ChannelManager } from './manager.js';
3
3
  export type { PairingProvider } from './manager.js';
4
4
  export { createChannelManager } from './factory.js';
@@ -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;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"}
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,UAAU,EACV,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.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;AACrF,OAAO,EAAE,qBAAqB,EAA8B,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAA4B,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAyB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,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
@@ -35,6 +35,11 @@ export interface ChannelPlugin {
35
35
  isConnected(): boolean;
36
36
  }
37
37
  export type ChannelId = 'slack' | 'discord' | 'telegram' | 'matrix' | 'feishu' | 'wechat' | 'whatsapp' | 'signal' | 'irc';
38
+ export interface CommandDef {
39
+ name: string;
40
+ description: string;
41
+ hasArgs?: boolean;
42
+ }
38
43
  export interface ChannelConfig {
39
44
  enabled: boolean;
40
45
  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,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"}
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,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,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.11",
3
+ "version": "26.329.13",
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.11",
26
- "@cereworker/config": "26.329.11"
25
+ "@cereworker/core": "26.329.13",
26
+ "@cereworker/config": "26.329.13"
27
27
  },
28
28
  "devDependencies": {
29
29
  "typescript": "^5.7.3"