agent-gear 1.1.4 → 1.1.6

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.
@@ -5,6 +5,7 @@ import { AcpSpawner } from './spawner.js';
5
5
  export interface AcpBridgeOptions {
6
6
  sessionId: string;
7
7
  cwd: string;
8
+ additionalDirectories?: string[];
8
9
  mcpServers?: Array<{
9
10
  name: string;
10
11
  command: string;
@@ -15,21 +16,82 @@ export interface AcpBridgeOptions {
15
16
  }>;
16
17
  }>;
17
18
  }
19
+ export interface SessionConfigOptionData {
20
+ id: string;
21
+ name: string;
22
+ description?: string | null;
23
+ category?: string | null;
24
+ type: 'select' | 'boolean';
25
+ currentValue: string | null;
26
+ options: Array<{
27
+ value: string;
28
+ name?: string;
29
+ }>;
30
+ }
31
+ export interface AcpAuthMethodData {
32
+ id: string;
33
+ kind: 'env_var' | 'terminal' | 'agent' | null;
34
+ description?: string | null;
35
+ url?: string | null;
36
+ }
37
+ export interface AcpInitializedPayload {
38
+ sessionId: string;
39
+ acpSessionId: string | null;
40
+ modes: Array<{
41
+ id: string;
42
+ name: string;
43
+ description?: string;
44
+ }>;
45
+ currentModeId: string | null;
46
+ currentModel: {
47
+ id: string;
48
+ name: string;
49
+ provider?: string;
50
+ } | null;
51
+ availableModels: Array<{
52
+ id: string;
53
+ name: string;
54
+ provider?: string;
55
+ }>;
56
+ currentModelId: string | null;
57
+ configOptions: SessionConfigOptionData[];
58
+ promptCapabilities: {
59
+ image: boolean;
60
+ audio: boolean;
61
+ embeddedContext: boolean;
62
+ } | null;
63
+ agentInfo: {
64
+ name: string;
65
+ version?: string | null;
66
+ } | null;
67
+ authMethods: AcpAuthMethodData[];
68
+ supportsAdditionalDirectories: boolean;
69
+ protocolVersion?: number | null;
70
+ }
71
+ export declare function extractConfigOptions(configOptions: acp.SessionConfigOption[] | null | undefined): SessionConfigOptionData[];
18
72
  export declare class AcpSessionBridge extends EventEmitter implements acp.Client {
19
73
  private spawner;
20
74
  private socket;
21
75
  private sessionId;
22
76
  private cwd;
77
+ private additionalDirectories;
23
78
  private mcpServers;
24
79
  private connection;
25
80
  private acpSessionId;
26
81
  private activePrompt;
27
82
  private inputQueue;
28
83
  private textChunkBuffer;
84
+ private textChunkMessageId;
29
85
  private textChunkTimer;
30
86
  private initializing;
31
87
  private stopped;
32
88
  private pendingPermissions;
89
+ private configOptions;
90
+ private promptCapabilities;
91
+ private agentInfo;
92
+ private authMethods;
93
+ private supportsAdditionalDirectories;
94
+ private agentProtocolVersion;
33
95
  constructor(socket: Socket, options: AcpBridgeOptions, spawner?: AcpSpawner);
34
96
  start(): Promise<void>;
35
97
  resume(externalSessionId: string): Promise<void>;
@@ -37,16 +99,21 @@ export declare class AcpSessionBridge extends EventEmitter implements acp.Client
37
99
  cancel(): void;
38
100
  setMode(modeId: string): Promise<void>;
39
101
  setModel(modelId: string): Promise<void>;
102
+ setConfigOption(configId: string, value: string | boolean): Promise<acp.SetSessionConfigOptionResponse>;
103
+ authenticate(methodId: string): Promise<void>;
104
+ logout(): Promise<void>;
105
+ deleteSession(): Promise<void>;
106
+ getConfigOptions(): SessionConfigOptionData[];
107
+ getSupportsAdditionalDirectories(): boolean;
40
108
  sendInput(message: {
41
109
  type: string;
42
110
  content: string;
111
+ attachments?: Array<Record<string, unknown>>;
43
112
  }): void;
44
113
  private processPrompt;
45
114
  private initConnection;
115
+ private buildInitializedPayload;
46
116
  private flushInputQueue;
47
- private extractModes;
48
- private extractCurrentModel;
49
- private extractAvailableModels;
50
117
  sessionUpdate(params: acp.SessionNotification): Promise<void>;
51
118
  requestPermission(params: acp.RequestPermissionRequest): Promise<acp.RequestPermissionResponse>;
52
119
  handlePermissionResponse(requestId: string, outcome: acp.RequestPermissionOutcome): void;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/acp/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CACtH;AAgBD,qBAAa,gBAAiB,SAAQ,YAAa,YAAW,GAAG,CAAC,MAAM;IACtE,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,kBAAkB,CAGrB;gBAEO,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,UAAU;IASrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BtB,MAAM,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDhD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B,MAAM,IAAI,IAAI;IAMR,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;YAQ7C,aAAa;YA8Bb,cAAc;IAe5B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,sBAAsB;IAUxB,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB7D,iBAAiB,CACrB,MAAM,EAAE,GAAG,CAAC,wBAAwB,GACnC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAsBzC,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,wBAAwB,GAAG,IAAI;IAcxF,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,WAAW;CAepB"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/acp/bridge.ts"],"names":[],"mappings":"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"}
@@ -10,26 +10,105 @@ function toMcpServers(servers) {
10
10
  env: s.env ?? [],
11
11
  }));
12
12
  }
13
+ export function extractConfigOptions(configOptions) {
14
+ if (!configOptions)
15
+ return [];
16
+ return configOptions.map((opt) => {
17
+ const base = {
18
+ id: opt.id,
19
+ name: opt.name,
20
+ description: opt.description ?? null,
21
+ category: opt.category ?? null,
22
+ };
23
+ if (opt.type === 'boolean') {
24
+ return {
25
+ ...base,
26
+ type: 'boolean',
27
+ currentValue: String(opt.currentValue),
28
+ options: [],
29
+ };
30
+ }
31
+ const options = Array.isArray(opt.options)
32
+ ? opt.options.flatMap((o) => 'group' in o
33
+ ? o.options.map((inner) => ({ value: inner.value, name: `${o.name}/${inner.name}` }))
34
+ : [{ value: o.value, name: o.name }])
35
+ : [];
36
+ return {
37
+ ...base,
38
+ type: 'select',
39
+ currentValue: opt.currentValue,
40
+ options,
41
+ };
42
+ });
43
+ }
44
+ function findConfigByCategory(configOptions, category) {
45
+ return configOptions.find((o) => o.category === category) ?? null;
46
+ }
47
+ function extractConfigModes(configOptions) {
48
+ const opt = findConfigByCategory(configOptions, 'mode');
49
+ if (!opt || opt.type !== 'select')
50
+ return null;
51
+ return {
52
+ modes: opt.options.map((o) => ({ id: o.value, name: o.name ?? o.value })),
53
+ currentModeId: opt.currentValue,
54
+ };
55
+ }
56
+ function extractConfigModels(configOptions) {
57
+ const opt = findConfigByCategory(configOptions, 'model');
58
+ if (!opt || opt.type !== 'select')
59
+ return null;
60
+ const availableModels = opt.options.map((o) => ({ id: o.value, name: o.name ?? o.value }));
61
+ const currentModelId = opt.currentValue;
62
+ const current = availableModels.find((m) => m.id === currentModelId) ?? null;
63
+ return { availableModels, currentModelId, currentModel: current };
64
+ }
65
+ function toAuthMethods(authMethods) {
66
+ if (!authMethods || authMethods.length === 0)
67
+ return [];
68
+ return authMethods.map((m) => {
69
+ if ('type' in m) {
70
+ const kind = m.type === 'env_var' ? 'env_var' : m.type === 'terminal' ? 'terminal' : 'agent';
71
+ return {
72
+ id: m.id,
73
+ kind,
74
+ description: m.description ?? null,
75
+ url: m.url ?? null,
76
+ };
77
+ }
78
+ // AuthMethodAgent 无 type 字段(SDK 1.3.0),是默认认证方式
79
+ return { id: m.id, kind: 'agent', description: null, url: null };
80
+ });
81
+ }
13
82
  export class AcpSessionBridge extends EventEmitter {
14
83
  spawner;
15
84
  socket;
16
85
  sessionId;
17
86
  cwd;
87
+ additionalDirectories;
18
88
  mcpServers;
19
89
  connection = null;
20
90
  acpSessionId = null;
21
91
  activePrompt = null;
22
92
  inputQueue = [];
23
93
  textChunkBuffer = '';
94
+ textChunkMessageId;
24
95
  textChunkTimer = null;
25
96
  initializing = false;
26
97
  stopped = false;
27
98
  pendingPermissions = new Map();
99
+ // Capability snapshot from initialize / session/new / resume
100
+ configOptions = [];
101
+ promptCapabilities = null;
102
+ agentInfo = null;
103
+ authMethods = [];
104
+ supportsAdditionalDirectories = false;
105
+ agentProtocolVersion = null;
28
106
  constructor(socket, options, spawner) {
29
107
  super();
30
108
  this.socket = socket;
31
109
  this.sessionId = options.sessionId;
32
110
  this.cwd = options.cwd;
111
+ this.additionalDirectories = options.additionalDirectories ?? [];
33
112
  this.mcpServers = options.mcpServers;
34
113
  this.spawner = spawner ?? new AcpSpawner({ sessionId: options.sessionId, cwd: options.cwd });
35
114
  }
@@ -43,18 +122,11 @@ export class AcpSessionBridge extends EventEmitter {
43
122
  const result = await this.connection.newSession({
44
123
  cwd: this.cwd,
45
124
  mcpServers: toMcpServers(this.mcpServers),
125
+ additionalDirectories: this.additionalDirectories.length > 0 ? this.additionalDirectories : undefined,
46
126
  });
47
127
  this.acpSessionId = result.sessionId;
48
128
  this.initializing = false;
49
- this.emit('acp:initialized', {
50
- sessionId: this.sessionId,
51
- acpSessionId: this.acpSessionId,
52
- modes: this.extractModes(result.modes),
53
- currentModeId: result.modes?.currentModeId ?? null,
54
- currentModel: this.extractCurrentModel(result.models),
55
- availableModels: this.extractAvailableModels(result.models),
56
- currentModelId: result.models?.currentModelId ?? null,
57
- });
129
+ this.emit('acp:initialized', this.buildInitializedPayload(result));
58
130
  this.flushInputQueue();
59
131
  }
60
132
  catch (error) {
@@ -72,18 +144,11 @@ export class AcpSessionBridge extends EventEmitter {
72
144
  const result = await this.connection.resumeSession({
73
145
  sessionId: externalSessionId,
74
146
  cwd: this.cwd,
147
+ additionalDirectories: this.additionalDirectories.length > 0 ? this.additionalDirectories : undefined,
75
148
  });
76
149
  this.acpSessionId = externalSessionId;
77
150
  this.initializing = false;
78
- this.emit('acp:initialized', {
79
- sessionId: this.sessionId,
80
- acpSessionId: this.acpSessionId,
81
- modes: this.extractModes(result.modes),
82
- currentModeId: result.modes?.currentModeId ?? null,
83
- currentModel: this.extractCurrentModel(result.models),
84
- availableModels: this.extractAvailableModels(result.models),
85
- currentModelId: result.models?.currentModelId ?? null,
86
- });
151
+ this.emit('acp:initialized', this.buildInitializedPayload(result));
87
152
  }
88
153
  catch (error) {
89
154
  // resumeSession may fail if agent doesn't support session.resume
@@ -92,18 +157,11 @@ export class AcpSessionBridge extends EventEmitter {
92
157
  const result = await this.connection.newSession({
93
158
  cwd: this.cwd,
94
159
  mcpServers: toMcpServers(this.mcpServers),
160
+ additionalDirectories: this.additionalDirectories.length > 0 ? this.additionalDirectories : undefined,
95
161
  });
96
162
  this.acpSessionId = result.sessionId;
97
163
  this.initializing = false;
98
- this.emit('acp:initialized', {
99
- sessionId: this.sessionId,
100
- acpSessionId: this.acpSessionId,
101
- modes: this.extractModes(result.modes),
102
- currentModeId: result.modes?.currentModeId ?? null,
103
- currentModel: this.extractCurrentModel(result.models),
104
- availableModels: this.extractAvailableModels(result.models),
105
- currentModelId: result.models?.currentModelId ?? null,
106
- });
164
+ this.emit('acp:initialized', this.buildInitializedPayload(result));
107
165
  }
108
166
  catch (fallbackError) {
109
167
  this.initializing = false;
@@ -132,6 +190,16 @@ export class AcpSessionBridge extends EventEmitter {
132
190
  async setMode(modeId) {
133
191
  if (!this.connection || !this.acpSessionId)
134
192
  return;
193
+ const modeConfig = findConfigByCategory(this.configOptions, 'mode');
194
+ if (modeConfig) {
195
+ // 配置项通道:Agent 提供 configOptions 时以配置项为准
196
+ await this.connection.setSessionConfigOption({
197
+ sessionId: this.acpSessionId,
198
+ configId: modeConfig.id,
199
+ value: modeId,
200
+ });
201
+ return;
202
+ }
135
203
  await this.connection.setSessionMode({
136
204
  sessionId: this.acpSessionId,
137
205
  modeId,
@@ -140,10 +208,61 @@ export class AcpSessionBridge extends EventEmitter {
140
208
  async setModel(modelId) {
141
209
  if (!this.connection || !this.acpSessionId)
142
210
  return;
143
- await this.connection.unstable_setSessionModel({
211
+ const modelConfig = findConfigByCategory(this.configOptions, 'model');
212
+ if (modelConfig) {
213
+ await this.connection.setSessionConfigOption({
214
+ sessionId: this.acpSessionId,
215
+ configId: modelConfig.id,
216
+ value: modelId,
217
+ });
218
+ return;
219
+ }
220
+ // SDK 1.x 已移除 unstable_setSessionModel:无 configOptions 的旧 Agent 无法走配置项通道。
221
+ // 模型切换暂不支持,由上层提示(不保留 unstable 调用)。
222
+ throw new Error('Model switching is not supported: agent does not expose a model config option');
223
+ }
224
+ async setConfigOption(configId, value) {
225
+ if (!this.connection || !this.acpSessionId) {
226
+ throw new Error('ACP bridge is not initialized');
227
+ }
228
+ const response = await this.connection.setSessionConfigOption({
144
229
  sessionId: this.acpSessionId,
145
- modelId,
230
+ configId,
231
+ ...(typeof value === 'boolean' ? { value, type: 'boolean' } : { value }),
146
232
  });
233
+ if (response.configOptions) {
234
+ // SDK 1.3.0:set_config_option 响应携带全量快照,与 config_option_update 通知同源
235
+ this.configOptions = extractConfigOptions(response.configOptions);
236
+ this.socket.emit('acp:config-options', {
237
+ sessionId: this.sessionId,
238
+ configOptions: this.configOptions,
239
+ });
240
+ }
241
+ return response;
242
+ }
243
+ async authenticate(methodId) {
244
+ if (!this.connection) {
245
+ throw new Error('ACP bridge is not initialized');
246
+ }
247
+ await this.connection.authenticate({ methodId });
248
+ }
249
+ async logout() {
250
+ if (!this.connection) {
251
+ throw new Error('ACP bridge is not initialized');
252
+ }
253
+ await this.connection.logout({});
254
+ }
255
+ async deleteSession() {
256
+ if (!this.connection || !this.acpSessionId) {
257
+ throw new Error('ACP bridge is not initialized');
258
+ }
259
+ await this.connection.deleteSession({ sessionId: this.acpSessionId });
260
+ }
261
+ getConfigOptions() {
262
+ return this.configOptions;
263
+ }
264
+ getSupportsAdditionalDirectories() {
265
+ return this.supportsAdditionalDirectories;
147
266
  }
148
267
  sendInput(message) {
149
268
  if (this.activePrompt) {
@@ -155,9 +274,14 @@ export class AcpSessionBridge extends EventEmitter {
155
274
  async processPrompt(message) {
156
275
  if (!this.connection || !this.acpSessionId || this.stopped)
157
276
  return;
277
+ const prompt = [];
278
+ for (const attachment of message.attachments ?? []) {
279
+ prompt.push(attachment);
280
+ }
281
+ prompt.push({ type: 'text', text: message.content });
158
282
  this.activePrompt = this.connection.prompt({
159
283
  sessionId: this.acpSessionId,
160
- prompt: [{ type: 'text', text: message.content }],
284
+ prompt,
161
285
  });
162
286
  this.socket.emit('acp:prompt:start', { sessionId: this.sessionId });
163
287
  let stopReason = 'end_turn';
@@ -186,53 +310,121 @@ export class AcpSessionBridge extends EventEmitter {
186
310
  const output = this.spawner.stdout;
187
311
  const stream = acp.ndJsonStream(input, output);
188
312
  this.connection = new acp.ClientSideConnection(() => this, stream);
189
- await this.connection.initialize({
313
+ const result = await this.connection.initialize({
190
314
  protocolVersion: ACP_PROTOCOL_VERSION,
191
- clientCapabilities: {},
315
+ clientCapabilities: {
316
+ session: {
317
+ configOptions: { boolean: {} },
318
+ },
319
+ },
192
320
  clientInfo: {
193
321
  name: 'agent-gear',
194
- version: '1.0.0',
322
+ version: '1.1.5',
195
323
  },
196
324
  });
325
+ this.agentProtocolVersion = result.protocolVersion ?? null;
326
+ if (result.protocolVersion != null && result.protocolVersion !== ACP_PROTOCOL_VERSION) {
327
+ // 版本不兼容:不断连,由上层提示用户
328
+ this.socket.emit('acp:protocol-version-mismatch', {
329
+ sessionId: this.sessionId,
330
+ expectedVersion: ACP_PROTOCOL_VERSION,
331
+ agentVersion: result.protocolVersion,
332
+ });
333
+ }
334
+ this.promptCapabilities = result.agentCapabilities?.promptCapabilities
335
+ ? {
336
+ image: result.agentCapabilities.promptCapabilities.image ?? false,
337
+ audio: result.agentCapabilities.promptCapabilities.audio ?? false,
338
+ embeddedContext: result.agentCapabilities.promptCapabilities.embeddedContext ?? false,
339
+ }
340
+ : null;
341
+ this.agentInfo = result.agentInfo
342
+ ? { name: result.agentInfo.name, version: result.agentInfo.version ?? null }
343
+ : null;
344
+ this.authMethods = toAuthMethods(result.authMethods);
345
+ this.supportsAdditionalDirectories =
346
+ result.agentCapabilities?.sessionCapabilities?.additionalDirectories !== undefined &&
347
+ result.agentCapabilities?.sessionCapabilities?.additionalDirectories !== null;
348
+ if (this.authMethods.length > 0) {
349
+ this.socket.emit('acp:auth:required', {
350
+ sessionId: this.sessionId,
351
+ authMethods: this.authMethods,
352
+ });
353
+ }
354
+ }
355
+ buildInitializedPayload(result) {
356
+ const configOptions = extractConfigOptions(result.configOptions);
357
+ this.configOptions = configOptions.length > 0 ? configOptions : this.configOptions;
358
+ // 协议要求:响应含 configOptions 时以其为准(忽略 modes)
359
+ const configModes = extractConfigModes(this.configOptions);
360
+ const configModels = extractConfigModels(this.configOptions);
361
+ let modes = [];
362
+ let currentModeId = null;
363
+ if (configModes) {
364
+ modes = configModes.modes;
365
+ currentModeId = configModes.currentModeId;
366
+ }
367
+ else if (result.modes?.availableModes) {
368
+ modes = result.modes.availableModes.map((m) => ({
369
+ id: m.id,
370
+ name: m.name,
371
+ description: m.description ?? undefined,
372
+ }));
373
+ currentModeId = result.modes.currentModeId ?? null;
374
+ }
375
+ let currentModel = null;
376
+ let availableModels = [];
377
+ let currentModelId = null;
378
+ if (configModels) {
379
+ availableModels = configModels.availableModels;
380
+ currentModelId = configModels.currentModelId;
381
+ currentModel = configModels.currentModel;
382
+ }
383
+ return {
384
+ sessionId: this.sessionId,
385
+ acpSessionId: this.acpSessionId,
386
+ modes,
387
+ currentModeId,
388
+ currentModel,
389
+ availableModels,
390
+ currentModelId,
391
+ configOptions: this.configOptions,
392
+ promptCapabilities: this.promptCapabilities,
393
+ agentInfo: this.agentInfo,
394
+ authMethods: this.authMethods,
395
+ supportsAdditionalDirectories: this.supportsAdditionalDirectories,
396
+ protocolVersion: this.agentProtocolVersion,
397
+ };
197
398
  }
198
399
  flushInputQueue() {
199
400
  while (this.inputQueue.length > 0) {
200
401
  this.processPrompt(this.inputQueue.shift());
201
402
  }
202
403
  }
203
- extractModes(modes) {
204
- if (!modes?.availableModes)
205
- return [];
206
- return modes.availableModes.map((m) => ({
207
- id: m.id,
208
- name: m.name,
209
- description: m.description ?? undefined,
210
- }));
211
- }
212
- extractCurrentModel(models) {
213
- if (!models?.availableModels || !models.currentModelId)
214
- return null;
215
- const found = models.availableModels.find((m) => m.modelId === models.currentModelId);
216
- if (!found)
217
- return null;
218
- return { id: found.modelId, name: found.name };
219
- }
220
- extractAvailableModels(models) {
221
- if (!models?.availableModels)
222
- return [];
223
- return models.availableModels.map((m) => ({
224
- id: m.modelId,
225
- name: m.name,
226
- }));
227
- }
228
404
  // ── acp.Client implementation ──
229
405
  async sessionUpdate(params) {
230
406
  const update = params.update;
231
407
  switch (update.sessionUpdate) {
232
408
  case 'agent_message_chunk':
233
409
  if (update.content.type === 'text') {
410
+ if (this.textChunkBuffer && this.textChunkMessageId !== update.messageId) {
411
+ // messageId 边界:不同消息立即 flush
412
+ this.flushTextBuffer();
413
+ }
234
414
  this.textChunkBuffer += update.content.text;
235
- this.scheduleTextFlush();
415
+ this.textChunkMessageId = update.messageId;
416
+ if (update.messageId) {
417
+ // 有 messageId 时跳过 50ms debounce 猜测,按 ID 边界 flush
418
+ this.flushTextBuffer();
419
+ }
420
+ else {
421
+ this.scheduleTextFlush();
422
+ }
423
+ }
424
+ else {
425
+ // 非 text chunk(image/audio/resource)原样透传
426
+ this.flushTextBuffer();
427
+ this.sendUpdate(update);
236
428
  }
237
429
  break;
238
430
  case 'tool_call':
@@ -242,6 +434,14 @@ export class AcpSessionBridge extends EventEmitter {
242
434
  this.flushTextBuffer();
243
435
  this.sendUpdate(update);
244
436
  break;
437
+ case 'config_option_update':
438
+ this.flushTextBuffer();
439
+ this.configOptions = extractConfigOptions(update.configOptions);
440
+ this.socket.emit('acp:config-options', {
441
+ sessionId: this.sessionId,
442
+ configOptions: this.configOptions,
443
+ });
444
+ break;
245
445
  case 'user_message_chunk':
246
446
  break;
247
447
  default:
@@ -292,8 +492,10 @@ export class AcpSessionBridge extends EventEmitter {
292
492
  this.sendUpdate({
293
493
  sessionUpdate: 'agent_message_chunk',
294
494
  content: { type: 'text', text: this.textChunkBuffer },
495
+ ...(this.textChunkMessageId ? { messageId: this.textChunkMessageId } : {}),
295
496
  });
296
497
  this.textChunkBuffer = '';
498
+ this.textChunkMessageId = undefined;
297
499
  }
298
500
  }
299
501
  // ── socket forwarding ──
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/acp/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/acp/bridge.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ vi.mock('@agentclientprotocol/sdk', () => ({
10
10
  cancel: vi.fn().mockResolvedValue(undefined),
11
11
  closeSession: vi.fn().mockResolvedValue({}),
12
12
  setSessionMode: vi.fn().mockResolvedValue({}),
13
- unstable_setSessionModel: vi.fn().mockResolvedValue({}),
13
+ setSessionConfigOption: vi.fn().mockResolvedValue({}),
14
14
  };
15
15
  }),
16
16
  }));