@qwen-code/channel-base 0.19.7 → 0.19.8-nightly.20260711.0ef3a76bd

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,4 +1,5 @@
1
1
  import { EventEmitter } from 'node:events';
2
+ import type { RequestPermissionResponse } from '@agentclientprotocol/sdk';
2
3
  import type { AvailableCommand, ChannelLoopToolHandler, ChannelAgentBridge } from './ChannelAgentBridge.js';
3
4
  export type { AvailableCommand, ToolCallEvent } from './ChannelAgentBridge.js';
4
5
  export interface AcpBridgeOptions {
@@ -7,6 +8,7 @@ export interface AcpBridgeOptions {
7
8
  model?: string;
8
9
  }
9
10
  export declare const ACP_EVENT_LOOP_STALL_RESTART_MS: number;
11
+ export declare const ACP_PERMISSION_RESPONSE_TIMEOUT_MS: number;
10
12
  /**
11
13
  * Read a command's aliases off a raw wire `available_commands_update` entry. ACP
12
14
  * carries them in `_meta` (its only extension point); a top-level `altNames` is
@@ -23,6 +25,7 @@ export declare class AcpBridge extends EventEmitter implements ChannelAgentBridg
23
25
  private readonly channelLoopToolHandlers;
24
26
  private channelLoopMcpRegistered;
25
27
  private channelLoopMcpRegistration;
28
+ private readonly pendingPermissions;
26
29
  constructor(options: AcpBridgeOptions);
27
30
  get availableCommands(): AvailableCommand[];
28
31
  start(): Promise<void>;
@@ -34,10 +37,14 @@ export declare class AcpBridge extends EventEmitter implements ChannelAgentBridg
34
37
  imageMimeType?: string;
35
38
  }): Promise<string>;
36
39
  cancelSession(sessionId: string): Promise<void>;
40
+ respondToPermission(requestId: string, response: RequestPermissionResponse): Promise<boolean>;
37
41
  stop(): void;
38
42
  get isConnected(): boolean;
39
43
  private handleSessionUpdate;
40
44
  private ensureConnection;
45
+ private requestPermission;
46
+ private emitResponseBoundary;
47
+ private resolvePendingPermissions;
41
48
  private maybeKillOnEventLoopStall;
42
49
  private registerChannelLoopMcpServer;
43
50
  private handleExtMethod;
package/dist/AcpBridge.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { spawn } from 'node:child_process';
2
+ import { randomUUID } from 'node:crypto';
2
3
  import { Readable, Writable } from 'node:stream';
3
4
  import { EventEmitter } from 'node:events';
4
5
  import { ClientSideConnection, ndJsonStream, PROTOCOL_VERSION, } from '@agentclientprotocol/sdk';
@@ -6,6 +7,7 @@ import { CHANNEL_LOOP_MCP_SERVER_NAME, CLIENT_MCP_MESSAGE_METHOD, CLIENT_MCP_OVE
6
7
  import { sanitizeLogText } from './sanitize.js';
7
8
  const MID_TURN_QUEUE_DRAIN_METHOD = 'craft/drainMidTurnQueue';
8
9
  export const ACP_EVENT_LOOP_STALL_RESTART_MS = 5 * 60 * 1000;
10
+ export const ACP_PERMISSION_RESPONSE_TIMEOUT_MS = 5 * 60 * 1000;
9
11
  const ACP_EVENT_LOOP_STALL_RE = /^\[perf\] acp agent event loop stall: max=(\d+(?:\.\d+)?)ms/m;
10
12
  /**
11
13
  * Read a command's aliases off a raw wire `available_commands_update` entry. ACP
@@ -40,6 +42,7 @@ export class AcpBridge extends EventEmitter {
40
42
  channelLoopToolHandlers = [];
41
43
  channelLoopMcpRegistered = false;
42
44
  channelLoopMcpRegistration = null;
45
+ pendingPermissions = new Map();
43
46
  constructor(options) {
44
47
  super();
45
48
  this.options = options;
@@ -66,7 +69,7 @@ export class AcpBridge extends EventEmitter {
66
69
  this.child.stderr?.on('data', (data) => {
67
70
  const msg = data.toString().trim();
68
71
  if (msg) {
69
- process.stderr.write(`[AcpBridge] ${msg}\n`);
72
+ process.stderr.write(`[AcpBridge] ${sanitizeLogText(msg, 4096)}\n`);
70
73
  this.maybeKillOnEventLoopStall(msg);
71
74
  }
72
75
  });
@@ -74,6 +77,7 @@ export class AcpBridge extends EventEmitter {
74
77
  process.stderr.write(`[AcpBridge] Process exited (code=${code}, signal=${signal})\n`);
75
78
  // Do not emit sessionDied here: a full ACP process exit is handled by
76
79
  // channel start crash recovery, which reloads the persisted sessions.
80
+ this.resolvePendingPermissions();
77
81
  this.connection = null;
78
82
  this.child = null;
79
83
  this.emit('disconnected', code, signal);
@@ -91,14 +95,7 @@ export class AcpBridge extends EventEmitter {
91
95
  this.handleSessionUpdate(params);
92
96
  return Promise.resolve();
93
97
  },
94
- requestPermission: async (params) => {
95
- // Auto-approve for now; Phase 5 will add interactive approval
96
- const options = Array.isArray(params.options) ? params.options : [];
97
- const optionId = options.find((o) => o.optionId === 'proceed_once')?.optionId ||
98
- options[0]?.optionId ||
99
- 'proceed_once';
100
- return { outcome: { outcome: 'selected', optionId } };
101
- },
98
+ requestPermission: async (params) => this.requestPermission(params),
102
99
  extMethod: async (method, params) => this.handleExtMethod(method, params),
103
100
  extNotification: async () => { },
104
101
  }), stream);
@@ -142,7 +139,12 @@ export class AcpBridge extends EventEmitter {
142
139
  if (sid === sessionId)
143
140
  chunks.push(chunk);
144
141
  };
142
+ const clearChunks = (sid) => {
143
+ if (sid === sessionId)
144
+ chunks.length = 0;
145
+ };
145
146
  this.on('textChunk', onChunk);
147
+ this.on('responseBoundary', clearChunks);
146
148
  const prompt = [];
147
149
  if (options?.imageBase64 && options.imageMimeType) {
148
150
  prompt.push({
@@ -160,14 +162,35 @@ export class AcpBridge extends EventEmitter {
160
162
  }
161
163
  finally {
162
164
  this.off('textChunk', onChunk);
165
+ this.off('responseBoundary', clearChunks);
163
166
  }
164
167
  return chunks.join('');
165
168
  }
166
169
  async cancelSession(sessionId) {
167
170
  const conn = this.ensureConnection();
168
- await conn.cancel({ sessionId });
171
+ try {
172
+ await conn.cancel({ sessionId });
173
+ }
174
+ finally {
175
+ this.resolvePendingPermissions(sessionId);
176
+ }
177
+ }
178
+ async respondToPermission(requestId, response) {
179
+ const pending = this.pendingPermissions.get(requestId);
180
+ if (!pending) {
181
+ return false;
182
+ }
183
+ clearTimeout(pending.timeout);
184
+ this.pendingPermissions.delete(requestId);
185
+ pending.resolve(response);
186
+ this.emit('permissionResolved', {
187
+ requestId,
188
+ outcome: response.outcome,
189
+ });
190
+ return true;
169
191
  }
170
192
  stop() {
193
+ this.resolvePendingPermissions();
171
194
  if (this.child) {
172
195
  this.child.kill();
173
196
  this.child = null;
@@ -200,9 +223,16 @@ export class AcpBridge extends EventEmitter {
200
223
  status: update['status'] || 'pending',
201
224
  rawInput: update['rawInput'],
202
225
  };
226
+ if (event.status === 'pending' || event.status === 'in_progress') {
227
+ this.emitResponseBoundary(sessionId);
228
+ }
203
229
  this.emit('toolCall', event);
204
230
  break;
205
231
  }
232
+ case 'plan': {
233
+ this.emitResponseBoundary(sessionId);
234
+ break;
235
+ }
206
236
  case 'available_commands_update': {
207
237
  if (Array.isArray(update['availableCommands'])) {
208
238
  this._availableCommands = update['availableCommands'].map((cmd) => {
@@ -224,6 +254,58 @@ export class AcpBridge extends EventEmitter {
224
254
  }
225
255
  return this.connection;
226
256
  }
257
+ requestPermission(request) {
258
+ const requestId = `acp-permission-${randomUUID()}`;
259
+ const sessionId = typeof request.sessionId === 'string' && request.sessionId.length > 0
260
+ ? request.sessionId
261
+ : request.toolCall.toolCallId;
262
+ return new Promise((resolve) => {
263
+ const timeout = setTimeout(() => {
264
+ const pending = this.pendingPermissions.get(requestId);
265
+ if (!pending) {
266
+ return;
267
+ }
268
+ process.stderr.write(`[AcpBridge] permission request ${sanitizeLogText(requestId, 128)} timed out after ${ACP_PERMISSION_RESPONSE_TIMEOUT_MS}ms (session=${sanitizeLogText(pending.sessionId, 128)})\n`);
269
+ this.pendingPermissions.delete(requestId);
270
+ const response = {
271
+ outcome: { outcome: 'cancelled' },
272
+ };
273
+ pending.resolve(response);
274
+ this.emit('permissionResolved', {
275
+ requestId,
276
+ outcome: response.outcome,
277
+ });
278
+ }, ACP_PERMISSION_RESPONSE_TIMEOUT_MS);
279
+ timeout.unref?.();
280
+ this.pendingPermissions.set(requestId, { sessionId, resolve, timeout });
281
+ this.emitResponseBoundary(sessionId);
282
+ this.emit('permissionRequest', {
283
+ requestId,
284
+ sessionId,
285
+ request,
286
+ });
287
+ });
288
+ }
289
+ emitResponseBoundary(sessionId) {
290
+ this.emit('responseBoundary', sessionId);
291
+ }
292
+ resolvePendingPermissions(sessionId) {
293
+ const response = {
294
+ outcome: { outcome: 'cancelled' },
295
+ };
296
+ for (const [requestId, pending] of this.pendingPermissions) {
297
+ if (sessionId !== undefined && pending.sessionId !== sessionId) {
298
+ continue;
299
+ }
300
+ clearTimeout(pending.timeout);
301
+ this.pendingPermissions.delete(requestId);
302
+ pending.resolve(response);
303
+ this.emit('permissionResolved', {
304
+ requestId,
305
+ outcome: response.outcome,
306
+ });
307
+ }
308
+ }
227
309
  maybeKillOnEventLoopStall(stderr) {
228
310
  const match = ACP_EVENT_LOOP_STALL_RE.exec(stderr);
229
311
  if (!match)
@@ -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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"}
@@ -1,3 +1,4 @@
1
+ import type { RequestPermissionRequest, RequestPermissionResponse } from '@agentclientprotocol/sdk';
1
2
  export interface AvailableCommand {
2
3
  name: string;
3
4
  description: string;
@@ -37,28 +38,44 @@ export interface SessionDiedEvent {
37
38
  sessionId: string;
38
39
  reason?: string;
39
40
  }
41
+ export interface PermissionRequestEvent {
42
+ requestId: string;
43
+ sessionId: string;
44
+ request: RequestPermissionRequest;
45
+ }
46
+ export interface PermissionResolvedEvent {
47
+ requestId: string;
48
+ outcome?: RequestPermissionResponse['outcome'];
49
+ }
40
50
  interface ChannelAgentBridgeEventMap {
41
51
  sessionDied: [SessionDiedEvent];
42
52
  textChunk: [sessionId: string, chunk: string];
53
+ responseBoundary: [sessionId: string];
43
54
  toolCall: [ToolCallEvent];
55
+ permissionRequest: [PermissionRequestEvent];
56
+ permissionResolved: [PermissionResolvedEvent];
44
57
  }
45
58
  export interface BridgeSessionInfo {
46
59
  sessionId: string;
47
60
  workspaceCwd: string;
48
61
  hasActivePrompt: boolean;
49
62
  }
63
+ export interface ChannelAgentBridgeSessionOptions {
64
+ approvalMode?: string;
65
+ }
50
66
  export interface ChannelAgentBridge {
51
67
  readonly availableCommands: AvailableCommand[];
52
68
  getAvailableCommands?(sessionId: string): AvailableCommand[];
53
69
  on<K extends keyof ChannelAgentBridgeEventMap>(eventName: K, listener: (...args: ChannelAgentBridgeEventMap[K]) => void): unknown;
54
70
  off<K extends keyof ChannelAgentBridgeEventMap>(eventName: K, listener: (...args: ChannelAgentBridgeEventMap[K]) => void): unknown;
55
- newSession(cwd: string): Promise<string>;
56
- loadSession(sessionId: string, cwd: string): Promise<string>;
71
+ newSession(cwd: string, options?: ChannelAgentBridgeSessionOptions): Promise<string>;
72
+ loadSession(sessionId: string, cwd: string, options?: ChannelAgentBridgeSessionOptions): Promise<string>;
57
73
  prompt(sessionId: string, text: string, options?: {
58
74
  imageBase64?: string;
59
75
  imageMimeType?: string;
60
76
  }): Promise<string>;
61
77
  cancelSession(sessionId: string): Promise<void>;
78
+ respondToPermission?(requestId: string, response: RequestPermissionResponse): Promise<boolean>;
62
79
  shellCommand?(sessionId: string, command: string, signal?: AbortSignal): Promise<{
63
80
  exitCode: number | null;
64
81
  output: string;
@@ -1,9 +1,11 @@
1
1
  import type { ChannelConfig, ChannelMemoryCallbacks, ChannelMemoryIntentClassifier, ChannelRuntimeIdentity, ChannelRuntimeMemoryScope, ChannelTaskLifecycleEvent, Envelope, SessionTarget } from './types.js';
2
2
  import { GroupGate } from './GroupGate.js';
3
+ import { DmGate } from './DmGate.js';
3
4
  import { SenderGate } from './SenderGate.js';
4
5
  import { SessionRouter } from './SessionRouter.js';
5
- import type { ChannelAgentBridge, ToolCallEvent } from './ChannelAgentBridge.js';
6
+ import type { ChannelAgentBridge, PermissionRequestEvent, PermissionResolvedEvent, ToolCallEvent } from './ChannelAgentBridge.js';
6
7
  import type { ChannelLoop, ChannelLoopInput } from './ChannelLoopStore.js';
8
+ import type { ChannelWebhookRunOptions, ChannelWebhookTask } from './ChannelWebhookTask.js';
7
9
  /**
8
10
  * Max time /clear waits for a cancelled in-flight turn to wind down before
9
11
  * purging anyway. A wedged ACP child (stuck tool call, not reading stdin, or
@@ -44,6 +46,7 @@ export declare abstract class ChannelBase {
44
46
  protected config: ChannelConfig;
45
47
  protected bridge: ChannelAgentBridge;
46
48
  protected groupGate: GroupGate;
49
+ protected dmGate: DmGate;
47
50
  protected gate: SenderGate;
48
51
  protected router: SessionRouter;
49
52
  protected name: string;
@@ -75,8 +78,15 @@ export declare abstract class ChannelBase {
75
78
  private readonly preflightedEnvelopes;
76
79
  private readonly bridgeToolCallListener;
77
80
  private readonly bridgeSessionDiedListener;
81
+ private readonly bridgePermissionRequestListener;
82
+ private readonly bridgePermissionResolvedListener;
83
+ private readonly pendingPermissions;
84
+ private readonly pendingPermissionsByChat;
78
85
  private readonly channelLoopToolHandler;
79
86
  dispatchToolCall(event: ToolCallEvent): void;
87
+ dispatchPermissionRequest(event: PermissionRequestEvent): Promise<void>;
88
+ private permissionTargetForEvent;
89
+ dispatchPermissionResolved(event: PermissionResolvedEvent): void;
80
90
  constructor(name: string, config: ChannelConfig, bridge: ChannelAgentBridge, options?: ChannelBaseOptions);
81
91
  abstract connect(): Promise<void>;
82
92
  abstract sendMessage(chatId: string, text: string): Promise<void>;
@@ -102,9 +112,15 @@ export declare abstract class ChannelBase {
102
112
  supportsProactiveSend(): boolean;
103
113
  protected supportsProactiveTarget(target: SessionTarget): boolean;
104
114
  protected pushProactive(target: SessionTarget, text: string): Promise<void>;
115
+ private prependUnattendedSessionContext;
116
+ private drainCollectBufferForCurrentPrompt;
105
117
  /** Replace the bridge instance (used after crash recovery restart). */
106
118
  setBridge(bridge: ChannelAgentBridge): void;
107
119
  runLoopPrompt(job: ChannelLoop, options?: ChannelLoopPromptOptions): Promise<string | undefined>;
120
+ validateWebhookTask(task: ChannelWebhookTask): void;
121
+ private resolveWebhookTaskTarget;
122
+ runWebhookTask(task: ChannelWebhookTask, options?: ChannelWebhookRunOptions): Promise<string | undefined>;
123
+ private webhookRoutingThreadId;
108
124
  private runLoopBridgePrompt;
109
125
  private cancelTimedOutLoopPrompt;
110
126
  protected requestActivePromptCancellation(sessionId: string, reason?: 'cancel_command' | 'clear' | 'steer'): Promise<boolean>;
@@ -137,12 +153,18 @@ export declare abstract class ChannelBase {
137
153
  * Default: no-op (chunks are collected internally and delivered via onResponseComplete).
138
154
  */
139
155
  protected onResponseChunk(_chatId: string, _chunk: string, _sessionId: string): void;
156
+ /**
157
+ * Called when the agent starts a new response segment for the same prompt.
158
+ * Override to clear adapter-owned streaming buffers.
159
+ */
160
+ protected onResponseBoundary(_chatId: string, _sessionId: string): void;
161
+ protected sendResponseMessage(chatId: string, text: string, _sessionId: string): Promise<void>;
140
162
  /**
141
163
  * Called when the agent's full response is ready.
142
164
  * Override to customize delivery (e.g., finalize an AI card).
143
- * Default: calls sendMessage() with the full response text.
165
+ * Default: sends the full response text.
144
166
  */
145
- protected onResponseComplete(chatId: string, fullText: string, _sessionId: string): Promise<void>;
167
+ protected onResponseComplete(chatId: string, fullText: string, sessionId: string): Promise<void>;
146
168
  /**
147
169
  * Register a slash command handler. Subclasses can call this to add
148
170
  * platform-specific commands (e.g., /start for Telegram).
@@ -150,6 +172,20 @@ export declare abstract class ChannelBase {
150
172
  */
151
173
  protected registerCommand(name: string, handler: CommandHandler): void;
152
174
  protected registerCancelCommand(name?: string): void;
175
+ private permissionChatKey;
176
+ private pendingPermissionIdsForChatKey;
177
+ private removePendingPermission;
178
+ private removePendingPermissionsForSession;
179
+ private clearPendingPermissions;
180
+ private pendingPermissionForEnvelope;
181
+ private canEnvelopeAnswerPendingPermission;
182
+ private formatPermissionRequest;
183
+ private approvalOptionId;
184
+ private approvalAlwaysOption;
185
+ private findScopedAlwaysOption;
186
+ private approvalAlwaysLabel;
187
+ private denialResponse;
188
+ private handlePermissionResponseCommand;
153
189
  /** Register shared slash commands. Called from constructor. */
154
190
  private registerSharedCommands;
155
191
  private handleLoopCommand;
@@ -171,11 +207,10 @@ export declare abstract class ChannelBase {
171
207
  protected isLocalCommand(text: string): boolean;
172
208
  private findActiveSessionId;
173
209
  private channelMemoryTarget;
210
+ private formatChannelMemoryContext;
211
+ private shouldInjectChannelMemory;
174
212
  private invalidateSessionContext;
175
213
  private dropQueuedTurnIfStale;
176
- private isAuthorizedForChannelMemory;
177
- private isSenderAuthorizedForChannelMemory;
178
- private ensureChannelMemoryAuthorized;
179
214
  private getChannelMemory;
180
215
  private handleChannelMemoryIntent;
181
216
  private shouldClassifyChannelMemoryIntent;
@@ -274,6 +309,8 @@ export declare abstract class ChannelBase {
274
309
  private clearPendingGroupHistory;
275
310
  private prependGroupHistoryContext;
276
311
  protected preflightInbound(envelope: Envelope): boolean | Promise<boolean>;
312
+ protected logPreflightRejected(reason: string): void;
313
+ protected logDebugPayload(platform: string, payload: unknown): void;
277
314
  handleInbound(envelope: Envelope): Promise<void>;
278
315
  protected markPreflighted(envelope: Envelope): void;
279
316
  /**