@auxiora/channels 1.0.0 → 1.3.0
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/bluebubbles.d.ts +0 -1
- package/dist/adapters/bluebubbles.d.ts.map +1 -1
- package/dist/adapters/bluebubbles.js +2 -24
- package/dist/adapters/bluebubbles.js.map +1 -1
- package/dist/adapters/discord.d.ts +2 -1
- package/dist/adapters/discord.d.ts.map +1 -1
- package/dist/adapters/discord.js +20 -25
- package/dist/adapters/discord.js.map +1 -1
- package/dist/adapters/googlechat.d.ts +0 -1
- package/dist/adapters/googlechat.d.ts.map +1 -1
- package/dist/adapters/googlechat.js +2 -24
- package/dist/adapters/googlechat.js.map +1 -1
- package/dist/adapters/matrix.d.ts +0 -1
- package/dist/adapters/matrix.d.ts.map +1 -1
- package/dist/adapters/matrix.js +2 -24
- package/dist/adapters/matrix.js.map +1 -1
- package/dist/adapters/signal.d.ts +0 -1
- package/dist/adapters/signal.d.ts.map +1 -1
- package/dist/adapters/signal.js +2 -24
- package/dist/adapters/signal.js.map +1 -1
- package/dist/adapters/slack.d.ts +1 -1
- package/dist/adapters/slack.d.ts.map +1 -1
- package/dist/adapters/slack.js +12 -21
- package/dist/adapters/slack.js.map +1 -1
- package/dist/adapters/teams.d.ts +0 -1
- package/dist/adapters/teams.d.ts.map +1 -1
- package/dist/adapters/teams.js +2 -24
- package/dist/adapters/teams.js.map +1 -1
- package/dist/adapters/telegram.d.ts +1 -1
- package/dist/adapters/telegram.d.ts.map +1 -1
- package/dist/adapters/telegram.js +9 -21
- package/dist/adapters/telegram.js.map +1 -1
- package/dist/adapters/twilio.d.ts +0 -1
- package/dist/adapters/twilio.d.ts.map +1 -1
- package/dist/adapters/twilio.js +2 -24
- package/dist/adapters/twilio.js.map +1 -1
- package/dist/adapters/whatsapp.d.ts +0 -1
- package/dist/adapters/whatsapp.d.ts.map +1 -1
- package/dist/adapters/whatsapp.js +2 -24
- package/dist/adapters/whatsapp.js.map +1 -1
- package/dist/adapters/zalo.d.ts +0 -1
- package/dist/adapters/zalo.d.ts.map +1 -1
- package/dist/adapters/zalo.js +2 -24
- package/dist/adapters/zalo.js.map +1 -1
- package/dist/chunk.d.ts +14 -0
- package/dist/chunk.d.ts.map +1 -0
- package/dist/chunk.js +123 -0
- package/dist/chunk.js.map +1 -0
- package/dist/draft-stream-loop.d.ts +28 -0
- package/dist/draft-stream-loop.d.ts.map +1 -0
- package/dist/draft-stream-loop.js +80 -0
- package/dist/draft-stream-loop.js.map +1 -0
- package/dist/inbound-dedup.d.ts +17 -0
- package/dist/inbound-dedup.d.ts.map +1 -0
- package/dist/inbound-dedup.js +54 -0
- package/dist/inbound-dedup.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/manager.d.ts +12 -0
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +35 -0
- package/dist/manager.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +10 -4
- package/src/adapters/bluebubbles.ts +0 -294
- package/src/adapters/discord.ts +0 -253
- package/src/adapters/email.ts +0 -457
- package/src/adapters/googlechat.ts +0 -364
- package/src/adapters/matrix.ts +0 -376
- package/src/adapters/signal.ts +0 -313
- package/src/adapters/slack.ts +0 -252
- package/src/adapters/teams.ts +0 -320
- package/src/adapters/telegram.ts +0 -208
- package/src/adapters/twilio.ts +0 -256
- package/src/adapters/whatsapp.ts +0 -342
- package/src/adapters/zalo.ts +0 -319
- package/src/index.ts +0 -78
- package/src/manager.ts +0 -180
- package/src/types.ts +0 -84
- package/tests/bluebubbles.test.ts +0 -438
- package/tests/email.test.ts +0 -136
- package/tests/googlechat.test.ts +0 -439
- package/tests/matrix.test.ts +0 -564
- package/tests/signal.test.ts +0 -404
- package/tests/slack.test.ts +0 -343
- package/tests/teams.test.ts +0 -429
- package/tests/twilio.test.ts +0 -269
- package/tests/whatsapp.test.ts +0 -530
- package/tests/zalo.test.ts +0 -499
- package/tsconfig.json +0 -8
- package/tsconfig.tsbuildinfo +0 -1
|
@@ -54,7 +54,6 @@ export declare class BlueBubblesAdapter implements ChannelAdapter {
|
|
|
54
54
|
handleWebhook(event: BlueBubblesWebhookEvent): Promise<void>;
|
|
55
55
|
private toInboundMessage;
|
|
56
56
|
send(channelId: string, message: OutboundMessage): Promise<SendResult>;
|
|
57
|
-
private chunkMessage;
|
|
58
57
|
startTyping(channelId: string): Promise<() => void>;
|
|
59
58
|
onMessage(handler: (message: InboundMessage) => Promise<void>): void;
|
|
60
59
|
onError(handler: (error: Error) => void): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bluebubbles.d.ts","sourceRoot":"","sources":["../../src/adapters/bluebubbles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bluebubbles.d.ts","sourceRoot":"","sources":["../../src/adapters/bluebubbles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,KAAK,CAAC;YACnB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ;AAED,UAAU,uBAAuB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAUD,qBAAa,kBAAmB,YAAW,cAAc;IACvD,QAAQ,CAAC,IAAI,EAAG,aAAa,CAAU;IACvC,QAAQ,CAAC,IAAI,4BAA4B;IAEzC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,cAAc,CAAC,CAA6C;IACpE,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,wBAAwB;IAI5C,OAAO,KAAK,OAAO,GAElB;YAEa,UAAU;IAuBlB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,WAAW,IAAI,OAAO;IAItB;;;OAGG;IACG,aAAa,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2ClE,OAAO,CAAC,gBAAgB;IA4BlB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IA+CtE,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAqBzD,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIpE,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;CAG/C"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { audit } from '@auxiora/audit';
|
|
2
|
+
import { chunkMarkdown } from '../chunk.js';
|
|
2
3
|
const MAX_MESSAGE_LENGTH = 20000;
|
|
3
4
|
export class BlueBubblesAdapter {
|
|
4
5
|
type = 'bluebubbles';
|
|
@@ -111,7 +112,7 @@ export class BlueBubblesAdapter {
|
|
|
111
112
|
}
|
|
112
113
|
async send(channelId, message) {
|
|
113
114
|
try {
|
|
114
|
-
const chunks =
|
|
115
|
+
const chunks = chunkMarkdown(message.content, MAX_MESSAGE_LENGTH);
|
|
115
116
|
let lastGuid;
|
|
116
117
|
for (const chunk of chunks) {
|
|
117
118
|
const body = {
|
|
@@ -145,29 +146,6 @@ export class BlueBubblesAdapter {
|
|
|
145
146
|
return { success: false, error: errorMessage };
|
|
146
147
|
}
|
|
147
148
|
}
|
|
148
|
-
chunkMessage(content) {
|
|
149
|
-
if (content.length <= MAX_MESSAGE_LENGTH) {
|
|
150
|
-
return [content];
|
|
151
|
-
}
|
|
152
|
-
const chunks = [];
|
|
153
|
-
let remaining = content;
|
|
154
|
-
while (remaining.length > 0) {
|
|
155
|
-
if (remaining.length <= MAX_MESSAGE_LENGTH) {
|
|
156
|
-
chunks.push(remaining);
|
|
157
|
-
break;
|
|
158
|
-
}
|
|
159
|
-
let breakPoint = remaining.lastIndexOf('\n', MAX_MESSAGE_LENGTH);
|
|
160
|
-
if (breakPoint === -1 || breakPoint < MAX_MESSAGE_LENGTH / 2) {
|
|
161
|
-
breakPoint = remaining.lastIndexOf(' ', MAX_MESSAGE_LENGTH);
|
|
162
|
-
}
|
|
163
|
-
if (breakPoint === -1 || breakPoint < MAX_MESSAGE_LENGTH / 2) {
|
|
164
|
-
breakPoint = MAX_MESSAGE_LENGTH;
|
|
165
|
-
}
|
|
166
|
-
chunks.push(remaining.slice(0, breakPoint));
|
|
167
|
-
remaining = remaining.slice(breakPoint).trimStart();
|
|
168
|
-
}
|
|
169
|
-
return chunks;
|
|
170
|
-
}
|
|
171
149
|
async startTyping(channelId) {
|
|
172
150
|
// BlueBubbles supports typing indicators via the private API
|
|
173
151
|
this.apiRequest('POST', '/api/v1/chat/typing', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bluebubbles.js","sourceRoot":"","sources":["../../src/adapters/bluebubbles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"bluebubbles.js","sourceRoot":"","sources":["../../src/adapters/bluebubbles.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,8 @@ export declare class DiscordAdapter implements ChannelAdapter {
|
|
|
19
19
|
disconnect(): Promise<void>;
|
|
20
20
|
isConnected(): boolean;
|
|
21
21
|
send(channelId: string, message: OutboundMessage): Promise<SendResult>;
|
|
22
|
-
|
|
22
|
+
editMessage(channelId: string, messageId: string, message: OutboundMessage): Promise<SendResult>;
|
|
23
|
+
getDefaultChannelId(): string | undefined;
|
|
23
24
|
startTyping(channelId: string): Promise<() => void>;
|
|
24
25
|
onMessage(handler: (message: InboundMessage) => Promise<void>): void;
|
|
25
26
|
onError(handler: (error: Error) => void): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../src/adapters/discord.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,UAAU,EACX,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../src/adapters/discord.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,UAAU,EACX,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAID,qBAAa,cAAe,YAAW,cAAc;IACnD,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IACnC,QAAQ,CAAC,IAAI,aAAa;IAE1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,cAAc,CAAC,CAA6C;IACpE,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,oBAAoB;IAexC,OAAO,CAAC,kBAAkB;IA4D1B,OAAO,CAAC,gBAAgB;IAiClB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,WAAW,IAAI,OAAO;IAIhB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAwCtE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IActG,mBAAmB,IAAI,MAAM,GAAG,SAAS;IAOnC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAqBzD,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIpE,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;CAG/C"}
|
package/dist/adapters/discord.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Client, GatewayIntentBits, Partials, } from 'discord.js';
|
|
1
|
+
import { Client, GatewayIntentBits, Partials, ChannelType as DiscordChannelType, } from 'discord.js';
|
|
2
2
|
import { audit } from '@auxiora/audit';
|
|
3
|
+
import { chunkMarkdown } from '../chunk.js';
|
|
3
4
|
const MAX_MESSAGE_LENGTH = 2000;
|
|
4
5
|
export class DiscordAdapter {
|
|
5
6
|
type = 'discord';
|
|
@@ -23,7 +24,7 @@ export class DiscordAdapter {
|
|
|
23
24
|
this.setupEventHandlers();
|
|
24
25
|
}
|
|
25
26
|
setupEventHandlers() {
|
|
26
|
-
this.client.on('
|
|
27
|
+
this.client.on('ready', () => {
|
|
27
28
|
audit('channel.connected', {
|
|
28
29
|
channelType: 'discord',
|
|
29
30
|
username: this.client.user?.tag,
|
|
@@ -66,7 +67,7 @@ export class DiscordAdapter {
|
|
|
66
67
|
audit('channel.error', { channelType: 'discord', error: error.message });
|
|
67
68
|
this.errorHandler?.(error);
|
|
68
69
|
});
|
|
69
|
-
this.client.on('
|
|
70
|
+
this.client.on('shardDisconnect', () => {
|
|
70
71
|
this.connected = false;
|
|
71
72
|
audit('channel.disconnected', { channelType: 'discord' });
|
|
72
73
|
});
|
|
@@ -119,7 +120,7 @@ export class DiscordAdapter {
|
|
|
119
120
|
return { success: false, error: 'Channel not found or not text-based' };
|
|
120
121
|
}
|
|
121
122
|
// Chunk long messages
|
|
122
|
-
const chunks =
|
|
123
|
+
const chunks = chunkMarkdown(message.content, MAX_MESSAGE_LENGTH);
|
|
123
124
|
let lastMessageId;
|
|
124
125
|
for (const chunk of chunks) {
|
|
125
126
|
const sent = await channel.send({
|
|
@@ -147,29 +148,23 @@ export class DiscordAdapter {
|
|
|
147
148
|
return { success: false, error: errorMessage };
|
|
148
149
|
}
|
|
149
150
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
let remaining = content;
|
|
156
|
-
while (remaining.length > 0) {
|
|
157
|
-
if (remaining.length <= MAX_MESSAGE_LENGTH) {
|
|
158
|
-
chunks.push(remaining);
|
|
159
|
-
break;
|
|
160
|
-
}
|
|
161
|
-
// Find a good break point
|
|
162
|
-
let breakPoint = remaining.lastIndexOf('\n', MAX_MESSAGE_LENGTH);
|
|
163
|
-
if (breakPoint === -1 || breakPoint < MAX_MESSAGE_LENGTH / 2) {
|
|
164
|
-
breakPoint = remaining.lastIndexOf(' ', MAX_MESSAGE_LENGTH);
|
|
165
|
-
}
|
|
166
|
-
if (breakPoint === -1 || breakPoint < MAX_MESSAGE_LENGTH / 2) {
|
|
167
|
-
breakPoint = MAX_MESSAGE_LENGTH;
|
|
151
|
+
async editMessage(channelId, messageId, message) {
|
|
152
|
+
try {
|
|
153
|
+
const channel = await this.client.channels.fetch(channelId);
|
|
154
|
+
if (!channel?.isTextBased() || !('messages' in channel)) {
|
|
155
|
+
return { success: false, error: 'Channel not text-based' };
|
|
168
156
|
}
|
|
169
|
-
|
|
170
|
-
|
|
157
|
+
const msg = await channel.messages.fetch(messageId);
|
|
158
|
+
await msg.edit(message.content);
|
|
159
|
+
return { success: true, messageId };
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
return { success: false, error: error instanceof Error ? error.message : 'Edit failed' };
|
|
171
163
|
}
|
|
172
|
-
|
|
164
|
+
}
|
|
165
|
+
getDefaultChannelId() {
|
|
166
|
+
const textChannel = this.client.channels.cache.find((ch) => ch.type === DiscordChannelType.GuildText);
|
|
167
|
+
return textChannel?.id;
|
|
173
168
|
}
|
|
174
169
|
async startTyping(channelId) {
|
|
175
170
|
// Use cache (populated by messageCreate) to avoid extra API call
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discord.js","sourceRoot":"","sources":["../../src/adapters/discord.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,QAAQ,
|
|
1
|
+
{"version":3,"file":"discord.js","sourceRoot":"","sources":["../../src/adapters/discord.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,7 +68,6 @@ export declare class GoogleChatAdapter implements ChannelAdapter {
|
|
|
68
68
|
handleWebhook(event: GoogleChatEvent): Promise<void>;
|
|
69
69
|
private toInboundMessage;
|
|
70
70
|
send(channelId: string, message: OutboundMessage): Promise<SendResult>;
|
|
71
|
-
private chunkMessage;
|
|
72
71
|
startTyping(_channelId: string): Promise<() => void>;
|
|
73
72
|
onMessage(handler: (message: InboundMessage) => Promise<void>): void;
|
|
74
73
|
onError(handler: (error: Error) => void): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"googlechat.d.ts","sourceRoot":"","sources":["../../src/adapters/googlechat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"googlechat.d.ts","sourceRoot":"","sources":["../../src/adapters/googlechat.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;QACF,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,KAAK,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC;YACpB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC,CAAC;KACJ,CAAC;IACF,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AA8BD,qBAAa,iBAAkB,YAAW,cAAc;IACtD,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAU;IACtC,QAAQ,CAAC,IAAI,iBAAiB;IAE9B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,cAAc,CAAC,CAA6C;IACpE,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,cAAc,CAAoB;gBAE9B,MAAM,EAAE,uBAAuB;IASrC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,WAAW,IAAI,OAAO;YAIR,cAAc;YAyDd,gBAAgB;IAgB9B;;;OAGG;IACG,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC1D,OAAO,CAAC,gBAAgB;IA8BlB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAoDtE,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAK1D,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIpE,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;CAG/C"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { audit } from '@auxiora/audit';
|
|
2
|
+
import { chunkMarkdown } from '../chunk.js';
|
|
2
3
|
const CHAT_API_BASE = 'https://chat.googleapis.com/v1';
|
|
3
4
|
const MAX_MESSAGE_LENGTH = 4096;
|
|
4
5
|
export class GoogleChatAdapter {
|
|
@@ -153,7 +154,7 @@ export class GoogleChatAdapter {
|
|
|
153
154
|
async send(channelId, message) {
|
|
154
155
|
try {
|
|
155
156
|
const token = await this.getAccessToken();
|
|
156
|
-
const chunks =
|
|
157
|
+
const chunks = chunkMarkdown(message.content, MAX_MESSAGE_LENGTH);
|
|
157
158
|
let lastMessageName;
|
|
158
159
|
for (const chunk of chunks) {
|
|
159
160
|
const body = {
|
|
@@ -195,29 +196,6 @@ export class GoogleChatAdapter {
|
|
|
195
196
|
return { success: false, error: errorMessage };
|
|
196
197
|
}
|
|
197
198
|
}
|
|
198
|
-
chunkMessage(content) {
|
|
199
|
-
if (content.length <= MAX_MESSAGE_LENGTH) {
|
|
200
|
-
return [content];
|
|
201
|
-
}
|
|
202
|
-
const chunks = [];
|
|
203
|
-
let remaining = content;
|
|
204
|
-
while (remaining.length > 0) {
|
|
205
|
-
if (remaining.length <= MAX_MESSAGE_LENGTH) {
|
|
206
|
-
chunks.push(remaining);
|
|
207
|
-
break;
|
|
208
|
-
}
|
|
209
|
-
let breakPoint = remaining.lastIndexOf('\n', MAX_MESSAGE_LENGTH);
|
|
210
|
-
if (breakPoint === -1 || breakPoint < MAX_MESSAGE_LENGTH / 2) {
|
|
211
|
-
breakPoint = remaining.lastIndexOf(' ', MAX_MESSAGE_LENGTH);
|
|
212
|
-
}
|
|
213
|
-
if (breakPoint === -1 || breakPoint < MAX_MESSAGE_LENGTH / 2) {
|
|
214
|
-
breakPoint = MAX_MESSAGE_LENGTH;
|
|
215
|
-
}
|
|
216
|
-
chunks.push(remaining.slice(0, breakPoint));
|
|
217
|
-
remaining = remaining.slice(breakPoint).trimStart();
|
|
218
|
-
}
|
|
219
|
-
return chunks;
|
|
220
|
-
}
|
|
221
199
|
async startTyping(_channelId) {
|
|
222
200
|
// Google Chat does not support typing indicators via the API
|
|
223
201
|
return () => { };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"googlechat.js","sourceRoot":"","sources":["../../src/adapters/googlechat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"googlechat.js","sourceRoot":"","sources":["../../src/adapters/googlechat.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,6 @@ export declare class MatrixAdapter implements ChannelAdapter {
|
|
|
29
29
|
private handleEvent;
|
|
30
30
|
private toInboundMessage;
|
|
31
31
|
send(channelId: string, message: OutboundMessage): Promise<SendResult>;
|
|
32
|
-
private chunkMessage;
|
|
33
32
|
startTyping(channelId: string): Promise<() => void>;
|
|
34
33
|
onMessage(handler: (message: InboundMessage) => Promise<void>): void;
|
|
35
34
|
onError(handler: (error: Error) => void): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../src/adapters/matrix.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../src/adapters/matrix.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAmDD,qBAAa,aAAc,YAAW,cAAc;IAClD,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAClC,QAAQ,CAAC,IAAI,YAAY;IAEzB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,cAAc,CAAC,CAA6C;IACpE,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAC,CAAkB;IACpC,OAAO,CAAC,eAAe,CAAS;gBAEpB,MAAM,EAAE,mBAAmB;IAIvC,OAAO,KAAK,OAAO,GAGlB;IAED,OAAO,KAAK,OAAO,GAKlB;YAEa,WAAW;IAkBnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAcxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,WAAW,IAAI,OAAO;IAItB,OAAO,CAAC,aAAa;YAKP,QAAQ;YAqDR,WAAW;IAwCzB,OAAO,CAAC,gBAAgB;IA0BlB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IA+CtE,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IA+BzD,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIpE,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;CAG/C"}
|
package/dist/adapters/matrix.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { audit } from '@auxiora/audit';
|
|
2
|
+
import { chunkMarkdown } from '../chunk.js';
|
|
2
3
|
const MAX_MESSAGE_LENGTH = 65536;
|
|
3
4
|
export class MatrixAdapter {
|
|
4
5
|
type = 'matrix';
|
|
@@ -166,7 +167,7 @@ export class MatrixAdapter {
|
|
|
166
167
|
}
|
|
167
168
|
async send(channelId, message) {
|
|
168
169
|
try {
|
|
169
|
-
const chunks =
|
|
170
|
+
const chunks = chunkMarkdown(message.content, MAX_MESSAGE_LENGTH);
|
|
170
171
|
let lastEventId;
|
|
171
172
|
for (const chunk of chunks) {
|
|
172
173
|
const txnId = `m${Date.now()}.${Math.random().toString(36).slice(2)}`;
|
|
@@ -202,29 +203,6 @@ export class MatrixAdapter {
|
|
|
202
203
|
return { success: false, error: errorMessage };
|
|
203
204
|
}
|
|
204
205
|
}
|
|
205
|
-
chunkMessage(content) {
|
|
206
|
-
if (content.length <= MAX_MESSAGE_LENGTH) {
|
|
207
|
-
return [content];
|
|
208
|
-
}
|
|
209
|
-
const chunks = [];
|
|
210
|
-
let remaining = content;
|
|
211
|
-
while (remaining.length > 0) {
|
|
212
|
-
if (remaining.length <= MAX_MESSAGE_LENGTH) {
|
|
213
|
-
chunks.push(remaining);
|
|
214
|
-
break;
|
|
215
|
-
}
|
|
216
|
-
let breakPoint = remaining.lastIndexOf('\n', MAX_MESSAGE_LENGTH);
|
|
217
|
-
if (breakPoint === -1 || breakPoint < MAX_MESSAGE_LENGTH / 2) {
|
|
218
|
-
breakPoint = remaining.lastIndexOf(' ', MAX_MESSAGE_LENGTH);
|
|
219
|
-
}
|
|
220
|
-
if (breakPoint === -1 || breakPoint < MAX_MESSAGE_LENGTH / 2) {
|
|
221
|
-
breakPoint = MAX_MESSAGE_LENGTH;
|
|
222
|
-
}
|
|
223
|
-
chunks.push(remaining.slice(0, breakPoint));
|
|
224
|
-
remaining = remaining.slice(breakPoint).trimStart();
|
|
225
|
-
}
|
|
226
|
-
return chunks;
|
|
227
|
-
}
|
|
228
206
|
async startTyping(channelId) {
|
|
229
207
|
const userId = this.config.userId;
|
|
230
208
|
const typingPath = `/rooms/${encodeURIComponent(channelId)}/typing/${encodeURIComponent(userId)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../src/adapters/matrix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../src/adapters/matrix.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,6 @@ export declare class SignalAdapter implements ChannelAdapter {
|
|
|
25
25
|
private handleMessage;
|
|
26
26
|
private toInboundMessage;
|
|
27
27
|
send(channelId: string, message: OutboundMessage): Promise<SendResult>;
|
|
28
|
-
private chunkMessage;
|
|
29
28
|
onMessage(handler: (message: InboundMessage) => Promise<void>): void;
|
|
30
29
|
onError(handler: (error: Error) => void): void;
|
|
31
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/adapters/signal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/adapters/signal.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAkDD,qBAAa,aAAc,YAAW,cAAc;IAClD,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAClC,QAAQ,CAAC,IAAI,YAAY;IAEzB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,cAAc,CAAC,CAA6C;IACpE,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAC,CAAkB;IACpC,OAAO,CAAC,KAAK,CAAK;gBAEN,MAAM,EAAE,mBAAmB;IAIvC,OAAO,KAAK,QAAQ,GAEnB;YAEa,OAAO;IA4Bf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAaxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,WAAW,IAAI,OAAO;IAItB,OAAO,CAAC,YAAY;YAKN,QAAQ;YAyBR,aAAa;IAkC3B,OAAO,CAAC,gBAAgB;IAgClB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IA8C5E,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIpE,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;CAG/C"}
|
package/dist/adapters/signal.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { audit } from '@auxiora/audit';
|
|
2
|
+
import { chunkMarkdown } from '../chunk.js';
|
|
2
3
|
const MAX_MESSAGE_LENGTH = 6000;
|
|
3
4
|
export class SignalAdapter {
|
|
4
5
|
type = 'signal';
|
|
@@ -145,7 +146,7 @@ export class SignalAdapter {
|
|
|
145
146
|
}
|
|
146
147
|
async send(channelId, message) {
|
|
147
148
|
try {
|
|
148
|
-
const chunks =
|
|
149
|
+
const chunks = chunkMarkdown(message.content, MAX_MESSAGE_LENGTH);
|
|
149
150
|
let lastTimestamp;
|
|
150
151
|
for (const chunk of chunks) {
|
|
151
152
|
// Determine if group or direct
|
|
@@ -183,29 +184,6 @@ export class SignalAdapter {
|
|
|
183
184
|
return { success: false, error: errorMessage };
|
|
184
185
|
}
|
|
185
186
|
}
|
|
186
|
-
chunkMessage(content) {
|
|
187
|
-
if (content.length <= MAX_MESSAGE_LENGTH) {
|
|
188
|
-
return [content];
|
|
189
|
-
}
|
|
190
|
-
const chunks = [];
|
|
191
|
-
let remaining = content;
|
|
192
|
-
while (remaining.length > 0) {
|
|
193
|
-
if (remaining.length <= MAX_MESSAGE_LENGTH) {
|
|
194
|
-
chunks.push(remaining);
|
|
195
|
-
break;
|
|
196
|
-
}
|
|
197
|
-
let breakPoint = remaining.lastIndexOf('\n', MAX_MESSAGE_LENGTH);
|
|
198
|
-
if (breakPoint === -1 || breakPoint < MAX_MESSAGE_LENGTH / 2) {
|
|
199
|
-
breakPoint = remaining.lastIndexOf(' ', MAX_MESSAGE_LENGTH);
|
|
200
|
-
}
|
|
201
|
-
if (breakPoint === -1 || breakPoint < MAX_MESSAGE_LENGTH / 2) {
|
|
202
|
-
breakPoint = MAX_MESSAGE_LENGTH;
|
|
203
|
-
}
|
|
204
|
-
chunks.push(remaining.slice(0, breakPoint));
|
|
205
|
-
remaining = remaining.slice(breakPoint).trimStart();
|
|
206
|
-
}
|
|
207
|
-
return chunks;
|
|
208
|
-
}
|
|
209
187
|
onMessage(handler) {
|
|
210
188
|
this.messageHandler = handler;
|
|
211
189
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signal.js","sourceRoot":"","sources":["../../src/adapters/signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"signal.js","sourceRoot":"","sources":["../../src/adapters/signal.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/slack.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export declare class SlackAdapter implements ChannelAdapter {
|
|
|
22
22
|
disconnect(): Promise<void>;
|
|
23
23
|
isConnected(): boolean;
|
|
24
24
|
send(channelId: string, message: OutboundMessage): Promise<SendResult>;
|
|
25
|
-
|
|
25
|
+
editMessage(channelId: string, messageId: string, message: OutboundMessage): Promise<SendResult>;
|
|
26
26
|
onMessage(handler: (message: InboundMessage) => Promise<void>): void;
|
|
27
27
|
onError(handler: (error: Error) => void): void;
|
|
28
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../src/adapters/slack.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,UAAU,EACX,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../src/adapters/slack.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,UAAU,EACX,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAID,qBAAa,YAAa,YAAW,cAAc;IACjD,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;IACjC,QAAQ,CAAC,IAAI,WAAW;IAExB,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,cAAc,CAAC,CAA6C;IACpE,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAS;gBAEf,MAAM,EAAE,kBAAkB;IAYtC,OAAO,CAAC,kBAAkB;IAwG1B,OAAO,CAAC,gBAAgB;IAmBlB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC,WAAW,IAAI,OAAO;IAIhB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAkCtE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAatG,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIpE,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;CAG/C"}
|
package/dist/adapters/slack.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { App, LogLevel } from '@slack/bolt';
|
|
2
2
|
import { audit } from '@auxiora/audit';
|
|
3
|
+
import { chunkMarkdown } from '../chunk.js';
|
|
3
4
|
const MAX_MESSAGE_LENGTH = 40000;
|
|
4
5
|
export class SlackAdapter {
|
|
5
6
|
type = 'slack';
|
|
@@ -141,7 +142,7 @@ export class SlackAdapter {
|
|
|
141
142
|
async send(channelId, message) {
|
|
142
143
|
try {
|
|
143
144
|
// Chunk long messages
|
|
144
|
-
const chunks =
|
|
145
|
+
const chunks = chunkMarkdown(message.content, MAX_MESSAGE_LENGTH);
|
|
145
146
|
let lastTs;
|
|
146
147
|
for (const chunk of chunks) {
|
|
147
148
|
const result = await this.app.client.chat.postMessage({
|
|
@@ -169,28 +170,18 @@ export class SlackAdapter {
|
|
|
169
170
|
return { success: false, error: errorMessage };
|
|
170
171
|
}
|
|
171
172
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
173
|
+
async editMessage(channelId, messageId, message) {
|
|
174
|
+
try {
|
|
175
|
+
await this.app.client.chat.update({
|
|
176
|
+
channel: channelId,
|
|
177
|
+
ts: messageId,
|
|
178
|
+
text: message.content,
|
|
179
|
+
});
|
|
180
|
+
return { success: true, messageId };
|
|
175
181
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
while (remaining.length > 0) {
|
|
179
|
-
if (remaining.length <= MAX_MESSAGE_LENGTH) {
|
|
180
|
-
chunks.push(remaining);
|
|
181
|
-
break;
|
|
182
|
-
}
|
|
183
|
-
let breakPoint = remaining.lastIndexOf('\n', MAX_MESSAGE_LENGTH);
|
|
184
|
-
if (breakPoint === -1 || breakPoint < MAX_MESSAGE_LENGTH / 2) {
|
|
185
|
-
breakPoint = remaining.lastIndexOf(' ', MAX_MESSAGE_LENGTH);
|
|
186
|
-
}
|
|
187
|
-
if (breakPoint === -1 || breakPoint < MAX_MESSAGE_LENGTH / 2) {
|
|
188
|
-
breakPoint = MAX_MESSAGE_LENGTH;
|
|
189
|
-
}
|
|
190
|
-
chunks.push(remaining.slice(0, breakPoint));
|
|
191
|
-
remaining = remaining.slice(breakPoint).trimStart();
|
|
182
|
+
catch (error) {
|
|
183
|
+
return { success: false, error: error instanceof Error ? error.message : 'Edit failed' };
|
|
192
184
|
}
|
|
193
|
-
return chunks;
|
|
194
185
|
}
|
|
195
186
|
onMessage(handler) {
|
|
196
187
|
this.messageHandler = handler;
|