@cogitator-ai/channels 0.7.6 → 0.8.1
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/README.md +41 -15
- package/dist/approvals.d.ts +18 -0
- package/dist/approvals.d.ts.map +1 -1
- package/dist/approvals.js +4 -0
- package/dist/approvals.js.map +1 -1
- package/dist/channels/telegram.d.ts +124 -6
- package/dist/channels/telegram.d.ts.map +1 -1
- package/dist/channels/telegram.js +547 -60
- package/dist/channels/telegram.js.map +1 -1
- package/dist/gateway.d.ts +23 -0
- package/dist/gateway.d.ts.map +1 -1
- package/dist/gateway.js +215 -24
- package/dist/gateway.js.map +1 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +1 -0
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/stream-buffer.d.ts +12 -2
- package/dist/stream-buffer.d.ts.map +1 -1
- package/dist/stream-buffer.js +16 -5
- package/dist/stream-buffer.js.map +1 -1
- package/package.json +22 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/channels/telegram.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/channels/telegram.ts"],"names":[],"mappings":"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"}
|
package/dist/gateway.d.ts
CHANGED
|
@@ -38,6 +38,12 @@ export declare class Gateway {
|
|
|
38
38
|
private readonly hooks;
|
|
39
39
|
private readonly approvalWords;
|
|
40
40
|
private readonly pausedThreads;
|
|
41
|
+
/** The stop of each run, by the signal the run was given */
|
|
42
|
+
private readonly stops;
|
|
43
|
+
/** The stop of each run streaming into a draft with a stop button, by channel, chat and draft */
|
|
44
|
+
private readonly stoppableDrafts;
|
|
45
|
+
/** Approval prompts with buttons, by channel, chat and message: whose paused run each answers */
|
|
46
|
+
private readonly approvalPrompts;
|
|
41
47
|
private readonly lastMessageTime;
|
|
42
48
|
private readonly threads;
|
|
43
49
|
private readonly inFlight;
|
|
@@ -57,6 +63,18 @@ export declare class Gateway {
|
|
|
57
63
|
*/
|
|
58
64
|
compactThread(threadId: string, agent?: Agent): Promise<string>;
|
|
59
65
|
private compactIfNeeded;
|
|
66
|
+
/**
|
|
67
|
+
* A button press. The gateway's own Approve and Deny buttons answer a paused run as the reply
|
|
68
|
+
* words do, through the same middleware and checks; every other press goes to the
|
|
69
|
+
* `action:received` hook.
|
|
70
|
+
*/
|
|
71
|
+
private handleAction;
|
|
72
|
+
private answerApprovalButton;
|
|
73
|
+
/**
|
|
74
|
+
* Retires the buttons of a thread's approval prompts once it is answered: they show the
|
|
75
|
+
* decision, or go away when the request was dropped.
|
|
76
|
+
*/
|
|
77
|
+
private closePrompts;
|
|
60
78
|
private handleIncoming;
|
|
61
79
|
private dispatch;
|
|
62
80
|
private rollMessageCounter;
|
|
@@ -81,6 +99,11 @@ export declare class Gateway {
|
|
|
81
99
|
private sendReply;
|
|
82
100
|
private runDirect;
|
|
83
101
|
private runStreaming;
|
|
102
|
+
/**
|
|
103
|
+
* Streams one run into its buffer. A run the user stopped keeps what it wrote so far as its
|
|
104
|
+
* reply instead of failing.
|
|
105
|
+
*/
|
|
106
|
+
private streamRun;
|
|
84
107
|
private getThreadId;
|
|
85
108
|
private resolveAgent;
|
|
86
109
|
private createMiddlewareContext;
|
package/dist/gateway.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAIZ,cAAc,EAKd,YAAY,EASb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAM3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAe9D,OAAO,KAAK,EAIV,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AA2ED,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+B;IAC9D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmC;IACjE,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+C;IACrE,iGAAiG;IACjG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;IACtE,iGAAiG;IACjG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsE;IAC9F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,eAAe,CAAsB;gBAEjC,MAAM,EAAE,iBAAiB;IAkC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAetB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,IAAI,KAAK,IAAI,YAAY,CASxB;IAED,WAAW,IAAI,kBAAkB,EAAE;IAM7B,aAAa,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD;;;OAGG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;YAoBvD,eAAe;IAW7B;;;;OAIG;YACW,YAAY;YAmBZ,oBAAoB;IA8ClC;;;OAGG;YACW,YAAY;YAyBZ,cAAc;YAQd,QAAQ;IAQtB,OAAO,CAAC,kBAAkB;YAQZ,aAAa;YAab,cAAc;YAuBd,kBAAkB;YAkBlB,cAAc;IAgF5B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;YAUX,UAAU;YA+BV,eAAe;YAgDf,cAAc;YAgBd,gBAAgB;YA4ChB,OAAO;YAeP,YAAY;IA6B1B,OAAO,CAAC,eAAe;YAqBT,WAAW;YAsBX,SAAS;YA0BT,SAAS;YA+BT,YAAY;IAuC1B;;;OAGG;YACW,SAAS;IA6EvB,OAAO,CAAC,WAAW;YAOL,YAAY;IAQ1B,OAAO,CAAC,uBAAuB;IAmB/B,OAAO,CAAC,iBAAiB;CAqB1B"}
|
package/dist/gateway.js
CHANGED
|
@@ -7,7 +7,21 @@ import { StatusReactionTracker } from './status-reactions.js';
|
|
|
7
7
|
import { InboundDebouncer } from './inbound-debounce.js';
|
|
8
8
|
import { formatEnvelope } from './envelope.js';
|
|
9
9
|
import { MessageQueue } from './message-queue.js';
|
|
10
|
-
import { DEFAULT_APPROVE_WORDS, DEFAULT_DENY_WORDS, DEFAULT_NOT_ALLOWED_MESSAGE, formatApprovalPrompt, parseApprovalReply, } from './approvals.js';
|
|
10
|
+
import { DEFAULT_APPROVE_WORDS, DEFAULT_DENY_WORDS, DEFAULT_NOT_ALLOWED_MESSAGE, DEFAULT_EXPIRED_MESSAGE, APPROVE_ACTION, DENY_ACTION, formatApprovalPrompt, parseApprovalReply, } from './approvals.js';
|
|
11
|
+
/** Markdown as the channel takes it: as written when it renders Markdown itself. */
|
|
12
|
+
function adaptFor(channel, msg, text) {
|
|
13
|
+
return channel.nativeMarkdown ? text : adaptMarkdown(text, msg.channelType);
|
|
14
|
+
}
|
|
15
|
+
/** The longest message the channel sends as one. */
|
|
16
|
+
function limitFor(channel, msg) {
|
|
17
|
+
return channel.maxMessageChars ?? getPlatformLimit(msg.channelType);
|
|
18
|
+
}
|
|
19
|
+
function draftKey(channelType, channelId, draftId) {
|
|
20
|
+
return `${channelType}:${channelId}:${draftId}`;
|
|
21
|
+
}
|
|
22
|
+
function promptKey(channelType, channelId, messageId) {
|
|
23
|
+
return `${channelType}:${channelId}:${messageId}`;
|
|
24
|
+
}
|
|
11
25
|
const DEFAULT_SUMMARY_PROMPT = 'Summarize the following conversation between a user and an assistant. ' +
|
|
12
26
|
'Preserve facts, decisions, user preferences, open tasks and any commitments. ' +
|
|
13
27
|
'Write a concise summary in the language of the conversation.';
|
|
@@ -45,6 +59,12 @@ export class Gateway {
|
|
|
45
59
|
hooks;
|
|
46
60
|
approvalWords;
|
|
47
61
|
pausedThreads = new Map();
|
|
62
|
+
/** The stop of each run, by the signal the run was given */
|
|
63
|
+
stops = new WeakMap();
|
|
64
|
+
/** The stop of each run streaming into a draft with a stop button, by channel, chat and draft */
|
|
65
|
+
stoppableDrafts = new Map();
|
|
66
|
+
/** Approval prompts with buttons, by channel, chat and message: whose paused run each answers */
|
|
67
|
+
approvalPrompts = new Map();
|
|
48
68
|
lastMessageTime = new Map();
|
|
49
69
|
threads = new Map();
|
|
50
70
|
inFlight = new Map();
|
|
@@ -73,6 +93,12 @@ export class Gateway {
|
|
|
73
93
|
: null;
|
|
74
94
|
for (const channel of this.channels) {
|
|
75
95
|
channel.onMessage((msg) => this.handleIncoming(msg));
|
|
96
|
+
channel.onAction?.((action) => this.handleAction(channel, action));
|
|
97
|
+
channel.onStop?.((stop) => {
|
|
98
|
+
this.stoppableDrafts
|
|
99
|
+
.get(draftKey(stop.channelType, stop.channelId, stop.draftId))
|
|
100
|
+
?.abort(new Error('Stopped by the user'));
|
|
101
|
+
});
|
|
76
102
|
}
|
|
77
103
|
}
|
|
78
104
|
async start() {
|
|
@@ -148,6 +174,98 @@ export class Gateway {
|
|
|
148
174
|
return;
|
|
149
175
|
await this.compactThread(threadId, agent);
|
|
150
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* A button press. The gateway's own Approve and Deny buttons answer a paused run as the reply
|
|
179
|
+
* words do, through the same middleware and checks; every other press goes to the
|
|
180
|
+
* `action:received` hook.
|
|
181
|
+
*/
|
|
182
|
+
async handleAction(channel, action) {
|
|
183
|
+
let answered = false;
|
|
184
|
+
const answer = async (options) => {
|
|
185
|
+
if (answered)
|
|
186
|
+
return;
|
|
187
|
+
answered = true;
|
|
188
|
+
await channel.answerAction?.(action.id, options);
|
|
189
|
+
};
|
|
190
|
+
try {
|
|
191
|
+
if (action.data === APPROVE_ACTION || action.data === DENY_ACTION) {
|
|
192
|
+
await this.answerApprovalButton(channel, action, answer);
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
await this.hooks?.emit('action:received', { action, answer });
|
|
196
|
+
}
|
|
197
|
+
finally {
|
|
198
|
+
await answer().catch(() => { });
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
async answerApprovalButton(channel, action, answer) {
|
|
202
|
+
const approve = action.data === APPROVE_ACTION;
|
|
203
|
+
const msg = {
|
|
204
|
+
id: action.messageId ?? action.id,
|
|
205
|
+
channelType: action.channelType,
|
|
206
|
+
channelId: action.channelId,
|
|
207
|
+
userId: action.userId,
|
|
208
|
+
...(action.userName ? { userName: action.userName } : {}),
|
|
209
|
+
...(action.channelId.startsWith('-') ? { groupId: action.channelId } : {}),
|
|
210
|
+
...(action.topicId ? { topicId: action.topicId } : {}),
|
|
211
|
+
text: (approve ? this.approvalWords.approveWords : this.approvalWords.denyWords)[0] ?? '',
|
|
212
|
+
raw: action.raw,
|
|
213
|
+
};
|
|
214
|
+
const key = action.messageId
|
|
215
|
+
? promptKey(action.channelType, action.channelId, action.messageId)
|
|
216
|
+
: undefined;
|
|
217
|
+
const prompt = key ? this.approvalPrompts.get(key) : undefined;
|
|
218
|
+
if (!prompt || !this.pausedThreads.has(prompt.threadId)) {
|
|
219
|
+
if (key)
|
|
220
|
+
this.approvalPrompts.delete(key);
|
|
221
|
+
if (action.messageId) {
|
|
222
|
+
await channel.editButtons?.(action.channelId, action.messageId, null).catch(() => { });
|
|
223
|
+
}
|
|
224
|
+
await answer({
|
|
225
|
+
text: this.config.approvals?.expiredMessage ?? DEFAULT_EXPIRED_MESSAGE,
|
|
226
|
+
alert: true,
|
|
227
|
+
});
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
if (prompt.userId !== action.userId || this.getThreadId(msg) !== prompt.threadId) {
|
|
231
|
+
await answer({
|
|
232
|
+
text: this.config.approvals?.notAllowedMessage ?? DEFAULT_NOT_ALLOWED_MESSAGE,
|
|
233
|
+
alert: true,
|
|
234
|
+
});
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
await answer();
|
|
238
|
+
await this.closePrompts(prompt.threadId, approve);
|
|
239
|
+
await this.handleIncoming(msg);
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Retires the buttons of a thread's approval prompts once it is answered: they show the
|
|
243
|
+
* decision, or go away when the request was dropped.
|
|
244
|
+
*/
|
|
245
|
+
async closePrompts(threadId, approved) {
|
|
246
|
+
const labels = this.config.approvals?.buttonLabels;
|
|
247
|
+
for (const [key, prompt] of this.approvalPrompts) {
|
|
248
|
+
if (prompt.threadId !== threadId)
|
|
249
|
+
continue;
|
|
250
|
+
this.approvalPrompts.delete(key);
|
|
251
|
+
const buttons = approved === null
|
|
252
|
+
? null
|
|
253
|
+
: [
|
|
254
|
+
[
|
|
255
|
+
approved
|
|
256
|
+
? {
|
|
257
|
+
text: labels?.approved ?? 'Approved',
|
|
258
|
+
disabled: true,
|
|
259
|
+
style: 'success',
|
|
260
|
+
}
|
|
261
|
+
: { text: labels?.denied ?? 'Denied', disabled: true, style: 'danger' },
|
|
262
|
+
],
|
|
263
|
+
];
|
|
264
|
+
await prompt.channel
|
|
265
|
+
.editButtons?.(prompt.channelId, prompt.messageId, buttons)
|
|
266
|
+
.catch(() => { });
|
|
267
|
+
}
|
|
268
|
+
}
|
|
151
269
|
async handleIncoming(msg) {
|
|
152
270
|
if (this.debouncer) {
|
|
153
271
|
this.debouncer.enqueue(msg);
|
|
@@ -187,11 +305,14 @@ export class Gateway {
|
|
|
187
305
|
return;
|
|
188
306
|
const threadId = this.getThreadId(msg);
|
|
189
307
|
this.inFlight.set(threadId, (this.inFlight.get(threadId) ?? 0) + 1);
|
|
308
|
+
const stop = new AbortController();
|
|
309
|
+
const runSignal = signal ? AbortSignal.any([signal, stop.signal]) : stop.signal;
|
|
310
|
+
this.stops.set(runSignal, stop);
|
|
190
311
|
try {
|
|
191
|
-
await this.processWithChannel(msg, channel, threadId,
|
|
312
|
+
await this.processWithChannel(msg, channel, threadId, runSignal);
|
|
192
313
|
}
|
|
193
314
|
catch (error) {
|
|
194
|
-
if (
|
|
315
|
+
if (runSignal.aborted)
|
|
195
316
|
return;
|
|
196
317
|
this.config.onError?.(toError(error), msg);
|
|
197
318
|
}
|
|
@@ -252,11 +373,14 @@ export class Gateway {
|
|
|
252
373
|
? new StatusReactionTracker(channel, msg.channelId, msg.id, this.config.reactions)
|
|
253
374
|
: undefined;
|
|
254
375
|
tracker?.setPhase('queued');
|
|
376
|
+
const typing = () => msg.topicId
|
|
377
|
+
? channel.sendTyping(msg.channelId, { topicId: msg.topicId })
|
|
378
|
+
: channel.sendTyping(msg.channelId);
|
|
255
379
|
const typingInterval = setInterval(() => {
|
|
256
|
-
|
|
380
|
+
typing().catch(() => { });
|
|
257
381
|
}, TYPING_INTERVAL_MS);
|
|
258
382
|
try {
|
|
259
|
-
await
|
|
383
|
+
await typing().catch(() => { });
|
|
260
384
|
tracker?.setPhase('thinking');
|
|
261
385
|
const resumed = decision !== null &&
|
|
262
386
|
(await this.resumeWithReply(agent, msg, channel, threadId, decision, tracker, signal));
|
|
@@ -314,6 +438,7 @@ export class Gateway {
|
|
|
314
438
|
...extra,
|
|
315
439
|
});
|
|
316
440
|
this.pausedThreads.delete(threadId);
|
|
441
|
+
await this.closePrompts(threadId, decision.approved);
|
|
317
442
|
const event = {
|
|
318
443
|
msg,
|
|
319
444
|
threadId,
|
|
@@ -332,11 +457,12 @@ export class Gateway {
|
|
|
332
457
|
throw error;
|
|
333
458
|
if (error.code === ErrorCode.RUN_NOT_PAUSED) {
|
|
334
459
|
this.pausedThreads.delete(threadId);
|
|
460
|
+
await this.closePrompts(threadId, null);
|
|
335
461
|
return false;
|
|
336
462
|
}
|
|
337
463
|
if (error.code === ErrorCode.THREAD_ACCESS_DENIED) {
|
|
338
464
|
const text = this.config.approvals?.notAllowedMessage ?? DEFAULT_NOT_ALLOWED_MESSAGE;
|
|
339
|
-
await this.sendReply(channel, msg, threadId,
|
|
465
|
+
await this.sendReply(channel, msg, threadId, adaptFor(channel, msg, text), msg.id);
|
|
340
466
|
return true;
|
|
341
467
|
}
|
|
342
468
|
throw error;
|
|
@@ -347,6 +473,7 @@ export class Gateway {
|
|
|
347
473
|
if (!paused)
|
|
348
474
|
return;
|
|
349
475
|
this.pausedThreads.delete(threadId);
|
|
476
|
+
await this.closePrompts(threadId, null);
|
|
350
477
|
const event = {
|
|
351
478
|
msg,
|
|
352
479
|
threadId,
|
|
@@ -365,9 +492,33 @@ export class Gateway {
|
|
|
365
492
|
const event = { msg, threadId, userId: msg.userId, approvals };
|
|
366
493
|
await this.hooks?.emit('approval:requested', event);
|
|
367
494
|
const format = this.config.approvals?.format ?? formatApprovalPrompt;
|
|
368
|
-
const prompt =
|
|
369
|
-
|
|
370
|
-
|
|
495
|
+
const prompt = adaptFor(channel, msg, format(approvals, this.approvalWords));
|
|
496
|
+
const labels = this.config.approvals?.buttonLabels;
|
|
497
|
+
const buttons = channel.onAction && this.config.approvals?.buttons !== false
|
|
498
|
+
? [
|
|
499
|
+
[
|
|
500
|
+
{
|
|
501
|
+
text: labels?.approve ?? 'Approve',
|
|
502
|
+
data: APPROVE_ACTION,
|
|
503
|
+
style: 'success',
|
|
504
|
+
},
|
|
505
|
+
{ text: labels?.deny ?? 'Deny', data: DENY_ACTION, style: 'danger' },
|
|
506
|
+
],
|
|
507
|
+
]
|
|
508
|
+
: undefined;
|
|
509
|
+
if (!prompt)
|
|
510
|
+
return;
|
|
511
|
+
const ids = await this.sendReply(channel, msg, threadId, prompt, replyTo, buttons);
|
|
512
|
+
const last = ids[ids.length - 1];
|
|
513
|
+
if (buttons && last) {
|
|
514
|
+
this.approvalPrompts.set(promptKey(channel.type, msg.channelId, last), {
|
|
515
|
+
threadId,
|
|
516
|
+
userId: msg.userId,
|
|
517
|
+
channel,
|
|
518
|
+
channelId: msg.channelId,
|
|
519
|
+
messageId: last,
|
|
520
|
+
});
|
|
521
|
+
}
|
|
371
522
|
}
|
|
372
523
|
async deliver(agent, msg, channel, threadId, signal, invoke) {
|
|
373
524
|
if (this.config.stream) {
|
|
@@ -412,33 +563,34 @@ export class Gateway {
|
|
|
412
563
|
: {}),
|
|
413
564
|
};
|
|
414
565
|
}
|
|
415
|
-
async sendChunked(channel, msg, output, replyTo) {
|
|
416
|
-
const chunks = chunkMessage(output,
|
|
417
|
-
|
|
566
|
+
async sendChunked(channel, msg, output, replyTo, buttons) {
|
|
567
|
+
const chunks = chunkMessage(output, limitFor(channel, msg));
|
|
568
|
+
const ids = [];
|
|
418
569
|
for (let i = 0; i < chunks.length; i++) {
|
|
419
|
-
|
|
570
|
+
ids.push(await channel.sendText(msg.channelId, chunks[i], {
|
|
420
571
|
...(i === 0 && replyTo ? { replyTo } : {}),
|
|
572
|
+
...(i === chunks.length - 1 && buttons ? { buttons } : {}),
|
|
573
|
+
...(msg.topicId ? { topicId: msg.topicId } : {}),
|
|
421
574
|
format: 'markdown',
|
|
422
|
-
});
|
|
423
|
-
if (i === 0)
|
|
424
|
-
sentId = id;
|
|
575
|
+
}));
|
|
425
576
|
}
|
|
426
|
-
return
|
|
577
|
+
return ids;
|
|
427
578
|
}
|
|
428
|
-
async sendReply(channel, msg, threadId, text, replyTo) {
|
|
579
|
+
async sendReply(channel, msg, threadId, text, replyTo, buttons) {
|
|
429
580
|
await this.hooks?.emit('message:sending', {
|
|
430
581
|
msg,
|
|
431
582
|
threadId,
|
|
432
583
|
text,
|
|
433
584
|
channelId: msg.channelId,
|
|
434
585
|
});
|
|
435
|
-
const
|
|
586
|
+
const ids = await this.sendChunked(channel, msg, text, replyTo, buttons);
|
|
436
587
|
await this.hooks?.emit('message:sent', {
|
|
437
588
|
msg,
|
|
438
589
|
threadId,
|
|
439
590
|
text,
|
|
440
|
-
messageId:
|
|
591
|
+
messageId: ids[0] ?? '',
|
|
441
592
|
});
|
|
593
|
+
return ids;
|
|
442
594
|
}
|
|
443
595
|
async runDirect(agent, msg, channel, threadId, signal, invoke) {
|
|
444
596
|
const replyTo = isScheduled(msg) ? undefined : msg.id;
|
|
@@ -456,7 +608,7 @@ export class Gateway {
|
|
|
456
608
|
await this.hooks?.emit('agent:after_run', { msg, threadId, output: result.output });
|
|
457
609
|
if (signal?.aborted)
|
|
458
610
|
return;
|
|
459
|
-
const output =
|
|
611
|
+
const output = adaptFor(channel, msg, result.output);
|
|
460
612
|
if (output)
|
|
461
613
|
await this.sendReply(channel, msg, threadId, output, replyTo);
|
|
462
614
|
await this.requestApprovals(result, msg, channel, threadId, output ? undefined : replyTo);
|
|
@@ -465,10 +617,41 @@ export class Gateway {
|
|
|
465
617
|
const replyTo = isScheduled(msg) ? undefined : msg.id;
|
|
466
618
|
const streamCfg = {
|
|
467
619
|
...this.streamConfig,
|
|
468
|
-
maxMessageChars: this.streamConfig.maxMessageChars ??
|
|
620
|
+
maxMessageChars: this.streamConfig.maxMessageChars ?? limitFor(channel, msg),
|
|
469
621
|
};
|
|
470
|
-
const
|
|
622
|
+
const stop = signal ? this.stops.get(signal) : undefined;
|
|
623
|
+
const stream = new StreamBuffer(channel, msg.channelId, streamCfg, replyTo, !!channel.sendDraft, (text) => adaptFor(channel, msg, text), {
|
|
624
|
+
...(msg.topicId ? { topicId: msg.topicId } : {}),
|
|
625
|
+
canStop: !!stop && !!channel.onStop && this.streamConfig.stopButton !== false,
|
|
626
|
+
});
|
|
471
627
|
stream.start();
|
|
628
|
+
const stoppable = stop && channel.onStop && this.streamConfig.stopButton !== false && stream.draftId !== null
|
|
629
|
+
? draftKey(channel.type, msg.channelId, stream.draftId)
|
|
630
|
+
: undefined;
|
|
631
|
+
if (stoppable && stop)
|
|
632
|
+
this.stoppableDrafts.set(stoppable, stop);
|
|
633
|
+
try {
|
|
634
|
+
await this.streamRun(agent, msg, channel, threadId, signal, invoke, stream, stop, replyTo);
|
|
635
|
+
}
|
|
636
|
+
finally {
|
|
637
|
+
if (stoppable)
|
|
638
|
+
this.stoppableDrafts.delete(stoppable);
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
/**
|
|
642
|
+
* Streams one run into its buffer. A run the user stopped keeps what it wrote so far as its
|
|
643
|
+
* reply instead of failing.
|
|
644
|
+
*/
|
|
645
|
+
async streamRun(agent, msg, channel, threadId, signal, invoke, stream, stop, replyTo) {
|
|
646
|
+
const stoppedByUser = () => stop?.signal.aborted === true;
|
|
647
|
+
const keepWhatWasWritten = async () => {
|
|
648
|
+
await stream.finish();
|
|
649
|
+
await this.hooks?.emit('stream:finished', {
|
|
650
|
+
msg,
|
|
651
|
+
threadId,
|
|
652
|
+
messageIds: stream.getMessageIds(),
|
|
653
|
+
});
|
|
654
|
+
};
|
|
472
655
|
await this.hooks?.emit('agent:before_run', { msg, threadId, agent: agent.name });
|
|
473
656
|
await this.hooks?.emit('stream:started', { msg, threadId });
|
|
474
657
|
let tokenCount = 0;
|
|
@@ -483,12 +666,20 @@ export class Gateway {
|
|
|
483
666
|
});
|
|
484
667
|
}
|
|
485
668
|
catch (error) {
|
|
669
|
+
if (stoppedByUser()) {
|
|
670
|
+
await keepWhatWasWritten();
|
|
671
|
+
return;
|
|
672
|
+
}
|
|
486
673
|
await stream.abort();
|
|
487
674
|
if (!isResumeRejection(error)) {
|
|
488
675
|
await this.hooks?.emit('agent:error', { msg, threadId, error: toError(error) });
|
|
489
676
|
}
|
|
490
677
|
throw error;
|
|
491
678
|
}
|
|
679
|
+
if (stoppedByUser()) {
|
|
680
|
+
await keepWhatWasWritten();
|
|
681
|
+
return;
|
|
682
|
+
}
|
|
492
683
|
if (signal?.aborted) {
|
|
493
684
|
await stream.abort();
|
|
494
685
|
return;
|
|
@@ -499,7 +690,7 @@ export class Gateway {
|
|
|
499
690
|
}
|
|
500
691
|
else {
|
|
501
692
|
await stream.abort();
|
|
502
|
-
const output =
|
|
693
|
+
const output = adaptFor(channel, msg, result.output);
|
|
503
694
|
if (output) {
|
|
504
695
|
await this.sendChunked(channel, msg, output, replyTo);
|
|
505
696
|
replied = true;
|