@qwen-code/channel-base 0.19.6 → 0.19.7
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/AcpBridge.d.ts +12 -1
- package/dist/AcpBridge.js +132 -1
- package/dist/AcpBridge.js.map +1 -1
- package/dist/ChannelAgentBridge.d.ts +16 -0
- package/dist/ChannelBase.d.ts +35 -1
- package/dist/ChannelBase.js +420 -115
- package/dist/ChannelBase.js.map +1 -1
- package/dist/ChannelLoopStore.js +1 -2
- package/dist/ChannelLoopStore.js.map +1 -1
- package/dist/ChannelLoopTools.d.ts +24 -0
- package/dist/ChannelLoopTools.js +152 -0
- package/dist/ChannelLoopTools.js.map +1 -0
- package/dist/SessionRouter.d.ts +2 -1
- package/dist/SessionRouter.js +15 -2
- package/dist/SessionRouter.js.map +1 -1
- package/dist/channel-memory-intent.d.ts +11 -0
- package/dist/channel-memory-intent.js +58 -0
- package/dist/channel-memory-intent.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +10 -0
- package/package.json +1 -1
package/dist/AcpBridge.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { EventEmitter } from 'node:events';
|
|
2
|
-
import type { AvailableCommand, ChannelAgentBridge } from './ChannelAgentBridge.js';
|
|
2
|
+
import type { AvailableCommand, ChannelLoopToolHandler, ChannelAgentBridge } from './ChannelAgentBridge.js';
|
|
3
3
|
export type { AvailableCommand, ToolCallEvent } from './ChannelAgentBridge.js';
|
|
4
4
|
export interface AcpBridgeOptions {
|
|
5
5
|
cliEntryPath: string;
|
|
6
6
|
cwd: string;
|
|
7
7
|
model?: string;
|
|
8
8
|
}
|
|
9
|
+
export declare const ACP_EVENT_LOOP_STALL_RESTART_MS: number;
|
|
9
10
|
/**
|
|
10
11
|
* Read a command's aliases off a raw wire `available_commands_update` entry. ACP
|
|
11
12
|
* carries them in `_meta` (its only extension point); a top-level `altNames` is
|
|
@@ -18,9 +19,14 @@ export declare class AcpBridge extends EventEmitter implements ChannelAgentBridg
|
|
|
18
19
|
private connection;
|
|
19
20
|
private options;
|
|
20
21
|
private _availableCommands;
|
|
22
|
+
private channelLoopMcpServer;
|
|
23
|
+
private readonly channelLoopToolHandlers;
|
|
24
|
+
private channelLoopMcpRegistered;
|
|
25
|
+
private channelLoopMcpRegistration;
|
|
21
26
|
constructor(options: AcpBridgeOptions);
|
|
22
27
|
get availableCommands(): AvailableCommand[];
|
|
23
28
|
start(): Promise<void>;
|
|
29
|
+
registerChannelLoopToolHandler(handler: ChannelLoopToolHandler): void;
|
|
24
30
|
newSession(cwd: string): Promise<string>;
|
|
25
31
|
loadSession(sessionId: string, cwd: string): Promise<string>;
|
|
26
32
|
prompt(sessionId: string, text: string, options?: {
|
|
@@ -32,4 +38,9 @@ export declare class AcpBridge extends EventEmitter implements ChannelAgentBridg
|
|
|
32
38
|
get isConnected(): boolean;
|
|
33
39
|
private handleSessionUpdate;
|
|
34
40
|
private ensureConnection;
|
|
41
|
+
private maybeKillOnEventLoopStall;
|
|
42
|
+
private registerChannelLoopMcpServer;
|
|
43
|
+
private handleExtMethod;
|
|
44
|
+
private handleClientMcpMessage;
|
|
45
|
+
private resolveChannelLoopToolHandler;
|
|
35
46
|
}
|
package/dist/AcpBridge.js
CHANGED
|
@@ -2,6 +2,11 @@ import { spawn } from 'node:child_process';
|
|
|
2
2
|
import { Readable, Writable } from 'node:stream';
|
|
3
3
|
import { EventEmitter } from 'node:events';
|
|
4
4
|
import { ClientSideConnection, ndJsonStream, PROTOCOL_VERSION, } from '@agentclientprotocol/sdk';
|
|
5
|
+
import { CHANNEL_LOOP_MCP_SERVER_NAME, CLIENT_MCP_MESSAGE_METHOD, CLIENT_MCP_OVER_WS_CONFIG_FLAG, ChannelLoopMcpServer, WORKSPACE_MCP_RUNTIME_ADD_METHOD, } from './ChannelLoopTools.js';
|
|
6
|
+
import { sanitizeLogText } from './sanitize.js';
|
|
7
|
+
const MID_TURN_QUEUE_DRAIN_METHOD = 'craft/drainMidTurnQueue';
|
|
8
|
+
export const ACP_EVENT_LOOP_STALL_RESTART_MS = 5 * 60 * 1000;
|
|
9
|
+
const ACP_EVENT_LOOP_STALL_RE = /^\[perf\] acp agent event loop stall: max=(\d+(?:\.\d+)?)ms/m;
|
|
5
10
|
/**
|
|
6
11
|
* Read a command's aliases off a raw wire `available_commands_update` entry. ACP
|
|
7
12
|
* carries them in `_meta` (its only extension point); a top-level `altNames` is
|
|
@@ -31,6 +36,10 @@ export class AcpBridge extends EventEmitter {
|
|
|
31
36
|
connection = null;
|
|
32
37
|
options;
|
|
33
38
|
_availableCommands = [];
|
|
39
|
+
channelLoopMcpServer;
|
|
40
|
+
channelLoopToolHandlers = [];
|
|
41
|
+
channelLoopMcpRegistered = false;
|
|
42
|
+
channelLoopMcpRegistration = null;
|
|
34
43
|
constructor(options) {
|
|
35
44
|
super();
|
|
36
45
|
this.options = options;
|
|
@@ -51,13 +60,14 @@ export class AcpBridge extends EventEmitter {
|
|
|
51
60
|
this.child = spawn(process.execPath, args, {
|
|
52
61
|
cwd,
|
|
53
62
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
54
|
-
env: { ...process.env },
|
|
63
|
+
env: { ...process.env, QWEN_CODE_DISABLE_CRON: '1' },
|
|
55
64
|
shell: false,
|
|
56
65
|
});
|
|
57
66
|
this.child.stderr?.on('data', (data) => {
|
|
58
67
|
const msg = data.toString().trim();
|
|
59
68
|
if (msg) {
|
|
60
69
|
process.stderr.write(`[AcpBridge] ${msg}\n`);
|
|
70
|
+
this.maybeKillOnEventLoopStall(msg);
|
|
61
71
|
}
|
|
62
72
|
});
|
|
63
73
|
this.child.on('exit', (code, signal) => {
|
|
@@ -89,20 +99,35 @@ export class AcpBridge extends EventEmitter {
|
|
|
89
99
|
'proceed_once';
|
|
90
100
|
return { outcome: { outcome: 'selected', optionId } };
|
|
91
101
|
},
|
|
102
|
+
extMethod: async (method, params) => this.handleExtMethod(method, params),
|
|
92
103
|
extNotification: async () => { },
|
|
93
104
|
}), stream);
|
|
94
105
|
await this.connection.initialize({
|
|
95
106
|
protocolVersion: PROTOCOL_VERSION,
|
|
96
107
|
clientCapabilities: {},
|
|
97
108
|
});
|
|
109
|
+
await this.registerChannelLoopMcpServer();
|
|
110
|
+
}
|
|
111
|
+
registerChannelLoopToolHandler(handler) {
|
|
112
|
+
if (!this.channelLoopToolHandlers.includes(handler)) {
|
|
113
|
+
this.channelLoopToolHandlers.push(handler);
|
|
114
|
+
}
|
|
115
|
+
this.channelLoopMcpServer ??= new ChannelLoopMcpServer({
|
|
116
|
+
create: (sessionId, input) => this.resolveChannelLoopToolHandler(sessionId).create(sessionId, input),
|
|
117
|
+
list: (sessionId) => this.resolveChannelLoopToolHandler(sessionId).list(sessionId),
|
|
118
|
+
cancel: (sessionId, id) => this.resolveChannelLoopToolHandler(sessionId).cancel(sessionId, id),
|
|
119
|
+
});
|
|
120
|
+
void this.registerChannelLoopMcpServer();
|
|
98
121
|
}
|
|
99
122
|
async newSession(cwd) {
|
|
100
123
|
const conn = this.ensureConnection();
|
|
124
|
+
await this.registerChannelLoopMcpServer();
|
|
101
125
|
const response = await conn.newSession({ cwd, mcpServers: [] });
|
|
102
126
|
return response.sessionId;
|
|
103
127
|
}
|
|
104
128
|
async loadSession(sessionId, cwd) {
|
|
105
129
|
const conn = this.ensureConnection();
|
|
130
|
+
await this.registerChannelLoopMcpServer();
|
|
106
131
|
const response = await conn.loadSession({
|
|
107
132
|
sessionId,
|
|
108
133
|
cwd,
|
|
@@ -199,5 +224,111 @@ export class AcpBridge extends EventEmitter {
|
|
|
199
224
|
}
|
|
200
225
|
return this.connection;
|
|
201
226
|
}
|
|
227
|
+
maybeKillOnEventLoopStall(stderr) {
|
|
228
|
+
const match = ACP_EVENT_LOOP_STALL_RE.exec(stderr);
|
|
229
|
+
if (!match)
|
|
230
|
+
return;
|
|
231
|
+
const maxMs = Number(match[1]);
|
|
232
|
+
if (!Number.isFinite(maxMs) || maxMs < ACP_EVENT_LOOP_STALL_RESTART_MS) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
const child = this.child;
|
|
236
|
+
if (!child || child.killed || child.exitCode !== null) {
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
process.stderr.write(`[AcpBridge] ACP agent event loop stalled for ${Math.round(maxMs)}ms; killing child process to trigger restart\n`);
|
|
240
|
+
child.kill('SIGKILL');
|
|
241
|
+
}
|
|
242
|
+
async registerChannelLoopMcpServer() {
|
|
243
|
+
if (!this.connection ||
|
|
244
|
+
!this.channelLoopMcpServer ||
|
|
245
|
+
this.channelLoopMcpRegistered) {
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
if (this.channelLoopMcpRegistration) {
|
|
249
|
+
await this.channelLoopMcpRegistration;
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
this.channelLoopMcpRegistration = this.connection
|
|
253
|
+
.extMethod(WORKSPACE_MCP_RUNTIME_ADD_METHOD, {
|
|
254
|
+
name: CHANNEL_LOOP_MCP_SERVER_NAME,
|
|
255
|
+
originatorClientId: 'channel',
|
|
256
|
+
config: {
|
|
257
|
+
type: 'sdk',
|
|
258
|
+
[CLIENT_MCP_OVER_WS_CONFIG_FLAG]: true,
|
|
259
|
+
},
|
|
260
|
+
})
|
|
261
|
+
.then((result) => {
|
|
262
|
+
if (isSkippedMcpRegistration(result)) {
|
|
263
|
+
this.channelLoopMcpRegistered = false;
|
|
264
|
+
process.stderr.write(`[AcpBridge] Channel loop MCP server registration skipped${formatSkippedRegistrationReason(result)}\n`);
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
this.channelLoopMcpRegistered = true;
|
|
268
|
+
})
|
|
269
|
+
.catch((error) => {
|
|
270
|
+
this.channelLoopMcpRegistered = false;
|
|
271
|
+
process.stderr.write(`[AcpBridge] Failed to register channel loop MCP server: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
272
|
+
})
|
|
273
|
+
.finally(() => {
|
|
274
|
+
this.channelLoopMcpRegistration = null;
|
|
275
|
+
});
|
|
276
|
+
await this.channelLoopMcpRegistration;
|
|
277
|
+
}
|
|
278
|
+
async handleExtMethod(method, params) {
|
|
279
|
+
if (method === CLIENT_MCP_MESSAGE_METHOD) {
|
|
280
|
+
return this.handleClientMcpMessage(params);
|
|
281
|
+
}
|
|
282
|
+
if (method === MID_TURN_QUEUE_DRAIN_METHOD) {
|
|
283
|
+
return { messages: [] };
|
|
284
|
+
}
|
|
285
|
+
throw new Error(`Method not found: ${method}`);
|
|
286
|
+
}
|
|
287
|
+
async handleClientMcpMessage(params) {
|
|
288
|
+
if (!this.channelLoopMcpServer) {
|
|
289
|
+
throw new Error('Channel loop MCP server is not registered.');
|
|
290
|
+
}
|
|
291
|
+
const server = params['server'];
|
|
292
|
+
if (server !== CHANNEL_LOOP_MCP_SERVER_NAME) {
|
|
293
|
+
throw new Error(`Unknown client MCP server: ${String(server)}`);
|
|
294
|
+
}
|
|
295
|
+
const payload = params['payload'];
|
|
296
|
+
if (typeof payload !== 'object' || payload === null) {
|
|
297
|
+
throw new Error('Invalid client MCP payload.');
|
|
298
|
+
}
|
|
299
|
+
const sessionId = typeof params['sessionId'] === 'string'
|
|
300
|
+
? params['sessionId']
|
|
301
|
+
: undefined;
|
|
302
|
+
const response = await this.channelLoopMcpServer.handleMessage(payload, { sessionId });
|
|
303
|
+
if (!response) {
|
|
304
|
+
return { payload: { jsonrpc: '2.0', id: 0, result: {} } };
|
|
305
|
+
}
|
|
306
|
+
return { payload: response };
|
|
307
|
+
}
|
|
308
|
+
resolveChannelLoopToolHandler(sessionId) {
|
|
309
|
+
if (this.channelLoopToolHandlers.length === 1 &&
|
|
310
|
+
!this.channelLoopToolHandlers[0].canHandle) {
|
|
311
|
+
return this.channelLoopToolHandlers[0];
|
|
312
|
+
}
|
|
313
|
+
const handler = this.channelLoopToolHandlers.find((candidate) => candidate.canHandle?.(sessionId) === true);
|
|
314
|
+
if (handler)
|
|
315
|
+
return handler;
|
|
316
|
+
throw new Error(this.channelLoopToolHandlers.length === 0
|
|
317
|
+
? 'No channel loop tool handler is registered.'
|
|
318
|
+
: `No channel loop handler matched session ${sessionId}.`);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
function isSkippedMcpRegistration(result) {
|
|
322
|
+
return (typeof result === 'object' &&
|
|
323
|
+
result !== null &&
|
|
324
|
+
result.skipped === true);
|
|
325
|
+
}
|
|
326
|
+
function formatSkippedRegistrationReason(result) {
|
|
327
|
+
if (typeof result !== 'object' || result === null)
|
|
328
|
+
return '.';
|
|
329
|
+
const reason = result.reason;
|
|
330
|
+
return typeof reason === 'string' && reason.length > 0
|
|
331
|
+
? `: ${sanitizeLogText(reason, 256)}`
|
|
332
|
+
: '.';
|
|
202
333
|
}
|
|
203
334
|
//# sourceMappingURL=AcpBridge.js.map
|
package/dist/AcpBridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcpBridge.js","sourceRoot":"","sources":["../src/AcpBridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AcpBridge.js","sourceRoot":"","sources":["../src/AcpBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,21 @@ export interface ToolCallEvent {
|
|
|
18
18
|
status: string;
|
|
19
19
|
rawInput?: Record<string, unknown>;
|
|
20
20
|
}
|
|
21
|
+
export interface ChannelLoopToolCreateInput {
|
|
22
|
+
cron: string;
|
|
23
|
+
prompt: string;
|
|
24
|
+
recurring?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface ChannelLoopToolResult {
|
|
27
|
+
text: string;
|
|
28
|
+
isError?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface ChannelLoopToolHandler {
|
|
31
|
+
canHandle?(sessionId: string): boolean;
|
|
32
|
+
create(sessionId: string, input: ChannelLoopToolCreateInput): Promise<string | ChannelLoopToolResult>;
|
|
33
|
+
list(sessionId: string): Promise<string | ChannelLoopToolResult>;
|
|
34
|
+
cancel(sessionId: string, id: string): Promise<string | ChannelLoopToolResult>;
|
|
35
|
+
}
|
|
21
36
|
export interface SessionDiedEvent {
|
|
22
37
|
sessionId: string;
|
|
23
38
|
reason?: string;
|
|
@@ -50,5 +65,6 @@ export interface ChannelAgentBridge {
|
|
|
50
65
|
aborted: boolean;
|
|
51
66
|
}>;
|
|
52
67
|
listSessions?(): BridgeSessionInfo[];
|
|
68
|
+
registerChannelLoopToolHandler?(handler: ChannelLoopToolHandler): void;
|
|
53
69
|
}
|
|
54
70
|
export {};
|
package/dist/ChannelBase.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChannelConfig, ChannelMemoryCallbacks, ChannelRuntimeIdentity, ChannelRuntimeMemoryScope, ChannelTaskLifecycleEvent, Envelope, SessionTarget } from './types.js';
|
|
1
|
+
import type { ChannelConfig, ChannelMemoryCallbacks, ChannelMemoryIntentClassifier, ChannelRuntimeIdentity, ChannelRuntimeMemoryScope, ChannelTaskLifecycleEvent, Envelope, SessionTarget } from './types.js';
|
|
2
2
|
import { GroupGate } from './GroupGate.js';
|
|
3
3
|
import { SenderGate } from './SenderGate.js';
|
|
4
4
|
import { SessionRouter } from './SessionRouter.js';
|
|
@@ -17,6 +17,7 @@ export interface ChannelBaseOptions {
|
|
|
17
17
|
router?: SessionRouter;
|
|
18
18
|
proxy?: string;
|
|
19
19
|
channelMemory?: ChannelMemoryCallbacks;
|
|
20
|
+
memoryIntentClassifier?: ChannelMemoryIntentClassifier;
|
|
20
21
|
/**
|
|
21
22
|
* Set when a channel owns a supplied router and should consume bridge
|
|
22
23
|
* events directly.
|
|
@@ -52,6 +53,7 @@ export declare abstract class ChannelBase {
|
|
|
52
53
|
/** Resolved proxy URL, available to subclasses for adapter-specific clients. */
|
|
53
54
|
protected proxy?: string;
|
|
54
55
|
private readonly channelMemory?;
|
|
56
|
+
private readonly memoryIntentClassifier?;
|
|
55
57
|
private groupHistory;
|
|
56
58
|
private readonly loopController?;
|
|
57
59
|
private instructedSessions;
|
|
@@ -65,12 +67,15 @@ export declare abstract class ChannelBase {
|
|
|
65
67
|
* so a cleared session can't be resurrected by an already-queued prompt.
|
|
66
68
|
*/
|
|
67
69
|
private sessionGenerations;
|
|
70
|
+
private pendingClears;
|
|
68
71
|
/** Per-session active prompt tracking for dispatch modes. */
|
|
69
72
|
private activePrompts;
|
|
70
73
|
/** Per-session message buffer for collect mode. */
|
|
71
74
|
private collectBuffers;
|
|
75
|
+
private readonly preflightedEnvelopes;
|
|
72
76
|
private readonly bridgeToolCallListener;
|
|
73
77
|
private readonly bridgeSessionDiedListener;
|
|
78
|
+
private readonly channelLoopToolHandler;
|
|
74
79
|
dispatchToolCall(event: ToolCallEvent): void;
|
|
75
80
|
constructor(name: string, config: ChannelConfig, bridge: ChannelAgentBridge, options?: ChannelBaseOptions);
|
|
76
81
|
abstract connect(): Promise<void>;
|
|
@@ -103,6 +108,9 @@ export declare abstract class ChannelBase {
|
|
|
103
108
|
private runLoopBridgePrompt;
|
|
104
109
|
private cancelTimedOutLoopPrompt;
|
|
105
110
|
protected requestActivePromptCancellation(sessionId: string, reason?: 'cancel_command' | 'clear' | 'steer'): Promise<boolean>;
|
|
111
|
+
private dropCollectBuffer;
|
|
112
|
+
private notifyPromptBufferDrained;
|
|
113
|
+
private collectBufferMessageIds;
|
|
106
114
|
private logCancelSessionFailure;
|
|
107
115
|
private settleCancelRequested;
|
|
108
116
|
onToolCall(_chatId: string, _event: ToolCallEvent): void;
|
|
@@ -115,6 +123,9 @@ export declare abstract class ChannelBase {
|
|
|
115
123
|
* Not called for buffered messages (collect mode) or gated/blocked messages.
|
|
116
124
|
*/
|
|
117
125
|
protected onPromptStart(_chatId: string, _sessionId: string, _messageId?: string): void;
|
|
126
|
+
protected onPromptBuffered(_chatId: string, _sessionId: string, _messageId?: string): void;
|
|
127
|
+
protected onPromptBufferDrained(_chatId: string, _sessionId: string, _messageIds: string[]): void;
|
|
128
|
+
protected onPromptBufferDropped(_chatId: string, _sessionId: string, _messageIds: string[]): void;
|
|
118
129
|
/**
|
|
119
130
|
* Called when a prompt finishes (response sent or cancelled).
|
|
120
131
|
* Override to hide the working indicator.
|
|
@@ -143,6 +154,9 @@ export declare abstract class ChannelBase {
|
|
|
143
154
|
private registerSharedCommands;
|
|
144
155
|
private handleLoopCommand;
|
|
145
156
|
private handleLoopAdd;
|
|
157
|
+
private createLoopFromTool;
|
|
158
|
+
private listLoopsFromTool;
|
|
159
|
+
private cancelLoopFromTool;
|
|
146
160
|
private handleLoopList;
|
|
147
161
|
private handleLoopInspect;
|
|
148
162
|
private formatLoopListLine;
|
|
@@ -150,6 +164,8 @@ export declare abstract class ChannelBase {
|
|
|
150
164
|
private formatNextFireTime;
|
|
151
165
|
private handleLoopCancel;
|
|
152
166
|
private loopTargetFromEnvelope;
|
|
167
|
+
private normalizeLoopTarget;
|
|
168
|
+
private loopToolTarget;
|
|
153
169
|
private isStoredLoopTargetAuthorized;
|
|
154
170
|
/** Check if a message text matches a registered local command. */
|
|
155
171
|
protected isLocalCommand(text: string): boolean;
|
|
@@ -161,6 +177,11 @@ export declare abstract class ChannelBase {
|
|
|
161
177
|
private isSenderAuthorizedForChannelMemory;
|
|
162
178
|
private ensureChannelMemoryAuthorized;
|
|
163
179
|
private getChannelMemory;
|
|
180
|
+
private handleChannelMemoryIntent;
|
|
181
|
+
private shouldClassifyChannelMemoryIntent;
|
|
182
|
+
private clearPendingKey;
|
|
183
|
+
private setPendingClear;
|
|
184
|
+
private classifyChannelMemoryIntent;
|
|
164
185
|
private channelMemoryErrorMessage;
|
|
165
186
|
private channelMemoryUserErrorMessage;
|
|
166
187
|
private logChannelMemoryError;
|
|
@@ -182,6 +203,9 @@ export declare abstract class ChannelBase {
|
|
|
182
203
|
* gate can't drift; each caller sends its own rejection wording.
|
|
183
204
|
*/
|
|
184
205
|
private isAuthorizedForSharedSession;
|
|
206
|
+
private isAuthorizedForSharedSessionTarget;
|
|
207
|
+
private isAuthorizedForSharedSessionToolCall;
|
|
208
|
+
private toolCallerName;
|
|
185
209
|
private stopActiveStreaming;
|
|
186
210
|
/**
|
|
187
211
|
* Cancel the active turn and wait (bounded) for it to wind down. Stops the
|
|
@@ -249,7 +273,17 @@ export declare abstract class ChannelBase {
|
|
|
249
273
|
private drainPendingGroupHistory;
|
|
250
274
|
private clearPendingGroupHistory;
|
|
251
275
|
private prependGroupHistoryContext;
|
|
276
|
+
protected preflightInbound(envelope: Envelope): boolean | Promise<boolean>;
|
|
252
277
|
handleInbound(envelope: Envelope): Promise<void>;
|
|
278
|
+
protected markPreflighted(envelope: Envelope): void;
|
|
279
|
+
/**
|
|
280
|
+
* Process an inbound message after preflight gates have passed.
|
|
281
|
+
*
|
|
282
|
+
* This method does not run group gating, sender allowlisting, or pairing
|
|
283
|
+
* checks. Callers must run preflightInbound() first unless the envelope was
|
|
284
|
+
* already preflighted, such as during collect-buffer drain.
|
|
285
|
+
*/
|
|
286
|
+
protected processInbound(envelope: Envelope): Promise<void>;
|
|
253
287
|
protected onPairingRequired(chatId: string, code: string | null): Promise<void>;
|
|
254
288
|
}
|
|
255
289
|
export {};
|