@tencent-ai/agent-sdk 0.3.10 → 0.3.12

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/cli/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tencent-ai/codebuddy-code",
3
- "version": "2.37.14",
3
+ "version": "2.37.17",
4
4
  "description": "Use CodeBuddy, Tencent's AI assistant, right from your terminal. CodeBuddy can understand your codebase, edit files, run terminal commands, and handle entire workflows for you.",
5
5
  "main": "lib/node/index.js",
6
6
  "typings": "lib/node/index.d.ts",
@@ -323,6 +323,6 @@
323
323
  "BillingNotice": false,
324
324
  "CustomModelsJSON": true
325
325
  },
326
- "commit": "2a20469ac878a07b3ec67dda83875b2ece709d8f",
327
- "date": "2026-01-22T15:28:06.627Z"
326
+ "commit": "a6ef58a049d219e1d18920f28da91ad259861e07",
327
+ "date": "2026-01-23T07:57:18.771Z"
328
328
  }
@@ -325,6 +325,6 @@
325
325
  "BillingNotice": false,
326
326
  "CustomModelsJSON": true
327
327
  },
328
- "commit": "2a20469ac878a07b3ec67dda83875b2ece709d8f",
329
- "date": "2026-01-22T15:28:03.836Z"
328
+ "commit": "a6ef58a049d219e1d18920f28da91ad259861e07",
329
+ "date": "2026-01-23T07:57:16.100Z"
330
330
  }
@@ -535,6 +535,6 @@
535
535
  "BillingNotice": false,
536
536
  "CustomModelsJSON": true
537
537
  },
538
- "commit": "2a20469ac878a07b3ec67dda83875b2ece709d8f",
539
- "date": "2026-01-22T15:28:05.246Z"
538
+ "commit": "a6ef58a049d219e1d18920f28da91ad259861e07",
539
+ "date": "2026-01-23T07:57:17.438Z"
540
540
  }
package/cli/product.json CHANGED
@@ -1044,6 +1044,6 @@
1044
1044
  "description": "tool-structuredoutput-description"
1045
1045
  }
1046
1046
  ],
1047
- "commit": "2a20469ac878a07b3ec67dda83875b2ece709d8f",
1048
- "date": "2026-01-22T15:28:02.441Z"
1047
+ "commit": "a6ef58a049d219e1d18920f28da91ad259861e07",
1048
+ "date": "2026-01-23T07:57:14.774Z"
1049
1049
  }
@@ -205,6 +205,6 @@
205
205
  "BillingNotice": false,
206
206
  "CustomModelsJSON": true
207
207
  },
208
- "commit": "2a20469ac878a07b3ec67dda83875b2ece709d8f",
209
- "date": "2026-01-22T15:28:08.021Z"
208
+ "commit": "a6ef58a049d219e1d18920f28da91ad259861e07",
209
+ "date": "2026-01-23T07:57:20.100Z"
210
210
  }
@@ -9,8 +9,122 @@
9
9
  * Architecture:
10
10
  * Browser -> HTTP -> AcpHttpTransport -> AgentSideConnection -> AcpAgent -> Session
11
11
  */
12
- import type { Agent, AgentSideConnection, InitializeRequest, InitializeResponse, AuthenticateRequest, AuthenticateResponse, NewSessionRequest, NewSessionResponse, LoadSessionRequest, LoadSessionResponse, PromptRequest, PromptResponse, CancelNotification, Implementation } from '@agentclientprotocol/sdk';
12
+ import type { Agent, AgentSideConnection, InitializeRequest, InitializeResponse, AuthenticateRequest, AuthenticateResponse, NewSessionRequest, NewSessionResponse, LoadSessionRequest, LoadSessionResponse, PromptRequest, PromptResponse, CancelNotification, Implementation, SetSessionModeRequest, SetSessionModeResponse, SetSessionModelRequest, SetSessionModelResponse, AgentCapabilities } from '@agentclientprotocol/sdk';
13
13
  import type { Session } from '../types';
14
+ /**
15
+ * Extension method for tool input requests (e.g., AskUserQuestion).
16
+ * Matches ExtensionMethod.QUESTION from agent-client-protocol.
17
+ */
18
+ export declare const ACP_EXT_METHOD_QUESTION = "_codebuddy.ai/question";
19
+ /**
20
+ * Question option structure.
21
+ * Matches QuestionOption from agent-client-protocol.
22
+ */
23
+ export interface QuestionOption {
24
+ /** Display text (1-5 words) */
25
+ label: string;
26
+ /** Option description */
27
+ description: string;
28
+ }
29
+ /**
30
+ * Single question structure.
31
+ * Matches UserQuestion from agent-client-protocol.
32
+ */
33
+ export interface UserQuestion {
34
+ /** Question ID */
35
+ id: string;
36
+ /** Question text */
37
+ question: string;
38
+ /** Short label (max 12 chars) */
39
+ header?: string;
40
+ /** Available options (2-4) */
41
+ options: QuestionOption[];
42
+ /** Allow multiple selections */
43
+ multiSelect?: boolean;
44
+ }
45
+ /**
46
+ * Schema for 'question' inputType.
47
+ * Matches QuestionInputSchema from agent-client-protocol.
48
+ */
49
+ export interface QuestionInputSchema {
50
+ /** Questions to ask (1-4) */
51
+ questions: UserQuestion[];
52
+ }
53
+ /**
54
+ * Tool input request sent to client via extMethod.
55
+ * Matches ToolInputRequest from agent-client-protocol.
56
+ */
57
+ export interface ToolInputRequest {
58
+ /** Session ID */
59
+ sessionId: string;
60
+ /** Associated tool call ID (links extMethod to tool_call for UI) */
61
+ toolCallId: string;
62
+ /** Type of input being requested */
63
+ inputType: 'question';
64
+ /** Input schema */
65
+ schema: QuestionInputSchema;
66
+ /** Request timeout in ms */
67
+ timeout?: number;
68
+ /** Additional metadata */
69
+ _meta?: Record<string, unknown>;
70
+ }
71
+ /**
72
+ * Tool input response from client.
73
+ * Matches ToolInputResponse from agent-client-protocol.
74
+ */
75
+ export interface ToolInputResponse {
76
+ /** Response outcome */
77
+ outcome: {
78
+ outcome: 'submitted';
79
+ data: QuestionInputData;
80
+ } | {
81
+ outcome: 'cancelled';
82
+ reason?: string;
83
+ };
84
+ /** Additional metadata */
85
+ _meta?: Record<string, unknown>;
86
+ }
87
+ /**
88
+ * Response data for 'question' inputType.
89
+ * Matches QuestionInputData from agent-client-protocol.
90
+ */
91
+ export interface QuestionInputData {
92
+ /** User's answers keyed by question ID */
93
+ answers: Record<string, string | string[]>;
94
+ }
95
+ /**
96
+ * AskUserQuestion request parameters.
97
+ * This is a higher-level wrapper around ToolInputRequest for convenience.
98
+ */
99
+ export interface AskUserQuestionRequest {
100
+ /** Session ID */
101
+ sessionId: string;
102
+ /** Tool use ID for tracking */
103
+ toolUseId: string;
104
+ /** Questions to ask the user */
105
+ questions: Array<{
106
+ question: string;
107
+ header: string;
108
+ options: Array<{
109
+ label: string;
110
+ description: string;
111
+ }>;
112
+ multiSelect: boolean;
113
+ }>;
114
+ }
115
+ /**
116
+ * AskUserQuestion response.
117
+ * This is a higher-level wrapper around ToolInputResponse for convenience.
118
+ */
119
+ export interface AskUserQuestionResponse {
120
+ /** User answers keyed by question text */
121
+ answers: Record<string, string>;
122
+ }
123
+ /**
124
+ * Handler type for custom AskUserQuestion processing.
125
+ * Return null to deny the question request.
126
+ */
127
+ export type OnAskUserQuestion = (request: AskUserQuestionRequest) => Promise<AskUserQuestionResponse | null>;
14
128
  /**
15
129
  * Handler for creating sessions when session/new is called.
16
130
  * The sessionId is provided so the session can be stored for later loading.
@@ -47,16 +161,29 @@ export interface AcpAgentOptions {
47
161
  */
48
162
  onLoadSession?: OnLoadSession;
49
163
  /**
50
- * Custom capabilities configuration.
51
- * These will be merged with the default capabilities (agent, streaming, loadSession).
164
+ * Custom handler for AskUserQuestion tool.
165
+ * If not provided, uses ACP extMethod '_codebuddy.ai/ask_user_question'.
166
+ *
167
+ * Return null from the handler to deny the question request.
168
+ *
169
+ * @example
170
+ * ```typescript
171
+ * const agent = new AcpAgent(connection, null, {
172
+ * onAskUserQuestion: async (request) => {
173
+ * const answers = await showQuestionDialog(request.questions);
174
+ * return { answers };
175
+ * },
176
+ * });
177
+ * ```
178
+ */
179
+ onAskUserQuestion?: OnAskUserQuestion;
180
+ /**
181
+ * Agent capabilities to advertise during initialization.
182
+ * Uses the official ACP AgentCapabilities type.
183
+ * These will be merged with the default capabilities.
52
184
  * User-provided values will override defaults.
53
185
  */
54
- capabilities?: {
55
- agent?: boolean;
56
- streaming?: boolean;
57
- loadSession?: boolean;
58
- [key: string]: unknown;
59
- };
186
+ capabilities?: Partial<AgentCapabilities>;
60
187
  /**
61
188
  * Available permission modes configuration.
62
189
  * If not provided, defaults to basic 'default' and 'plan' modes.
@@ -66,6 +193,12 @@ export interface AcpAgentOptions {
66
193
  name: string;
67
194
  description: string;
68
195
  }>;
196
+ /**
197
+ * Maximum number of sessions to keep in memory.
198
+ * When exceeded, oldest inactive sessions will be removed.
199
+ * Default: no limit (undefined).
200
+ */
201
+ maxSessions?: number;
69
202
  }
70
203
  /**
71
204
  * AcpAgent - Implements the official ACP Agent interface
@@ -91,6 +224,10 @@ export declare class AcpAgent implements Agent {
91
224
  private options;
92
225
  private activePromptSessionId;
93
226
  private promptAbortController;
227
+ /** Per-session converters for proper state management */
228
+ private sessionConverters;
229
+ /** Track session last activity time for LRU eviction */
230
+ private sessionLastActivity;
94
231
  /**
95
232
  * Create an AcpAgent.
96
233
  *
@@ -135,6 +272,20 @@ export declare class AcpAgent implements Agent {
135
272
  * Cancel an ongoing prompt.
136
273
  */
137
274
  cancel(params: CancelNotification): Promise<void>;
275
+ /**
276
+ * Set the operational mode for a session.
277
+ *
278
+ * Maps ACP SessionModeId to SDK PermissionMode and delegates to Session.setPermissionMode().
279
+ */
280
+ setSessionMode(params: SetSessionModeRequest): Promise<SetSessionModeResponse>;
281
+ /**
282
+ * Set the model for a session.
283
+ *
284
+ * Delegates to Session.setModel().
285
+ *
286
+ * @experimental This capability is not part of the spec yet.
287
+ */
288
+ unstable_setSessionModel(params: SetSessionModelRequest): Promise<SetSessionModelResponse>;
138
289
  extMethod?(_method: string, _params: Record<string, unknown>): Promise<Record<string, unknown>>;
139
290
  extNotification?(_method: string, _params: Record<string, unknown>): Promise<void>;
140
291
  /**
@@ -149,6 +300,43 @@ export declare class AcpAgent implements Agent {
149
300
  * Get all session IDs.
150
301
  */
151
302
  getSessionIds(): string[];
303
+ /**
304
+ * Get the number of active sessions.
305
+ */
306
+ getSessionCount(): number;
307
+ /**
308
+ * Remove a session by ID and free associated resources.
309
+ * @param sessionId - The session ID to remove
310
+ * @param closeSession - Whether to close the session (default: true)
311
+ * @returns true if the session was removed, false if not found
312
+ */
313
+ removeSession(sessionId: string, closeSession?: boolean): boolean;
314
+ /**
315
+ * Remove all sessions and free resources.
316
+ * @param closeSessions - Whether to close sessions (default: true)
317
+ */
318
+ removeAllSessions(closeSessions?: boolean): void;
319
+ /**
320
+ * Get memory statistics for debugging.
321
+ */
322
+ getMemoryStats(): {
323
+ sessionCount: number;
324
+ converterCount: number;
325
+ oldestSessionAge: number | null;
326
+ };
327
+ /**
328
+ * Register a session with memory management.
329
+ * Injects canUseTool handler for AskUserQuestion support.
330
+ */
331
+ private registerSession;
332
+ /**
333
+ * Update session activity timestamp.
334
+ */
335
+ private touchSession;
336
+ /**
337
+ * Evict the oldest inactive session (LRU).
338
+ */
339
+ private evictOldestSession;
152
340
  /**
153
341
  * Get session modes configuration.
154
342
  * Returns the available modes and current mode from the given session.
@@ -158,13 +346,18 @@ export declare class AcpAgent implements Agent {
158
346
  /**
159
347
  * Get session models configuration.
160
348
  * Returns the available models and current model from the given session.
161
- * @param session - Optional session to get current model from.
349
+ * Fetches available models from the session if supported.
350
+ * @param session - Optional session to get current model and available models from.
162
351
  */
163
352
  private getSessionModels;
164
353
  /**
165
354
  * Extract prompt text from ACP content blocks.
166
355
  */
167
356
  private extractPromptText;
357
+ /**
358
+ * Get or create a converter for a session.
359
+ */
360
+ private getSessionConverter;
168
361
  /**
169
362
  * Send session updates to the client via AgentSideConnection.
170
363
  */
@@ -172,7 +365,7 @@ export declare class AcpAgent implements Agent {
172
365
  /**
173
366
  * Send a single session update notification.
174
367
  *
175
- * Handles the unified 'session/update' format from AcpTransformer:
368
+ * Handles the unified 'session/update' format from AcpConverter:
176
369
  * - tool_call: New tool call started
177
370
  * - tool_call_update: Tool call status/result update
178
371
  * - agent_message_chunk: Text content from the agent
@@ -180,8 +373,30 @@ export declare class AcpAgent implements Agent {
180
373
  * Preserves all params fields including _meta and other metadata.
181
374
  */
182
375
  private sendSessionUpdate;
376
+ /**
377
+ * Create a canUseTool handler that wraps the original handler
378
+ * and intercepts AskUserQuestion requests.
379
+ *
380
+ * @param sessionId - The session ID for this handler
381
+ * @param originalHandler - Optional original canUseTool handler to delegate to
382
+ * @returns A wrapped canUseTool handler
383
+ */
384
+ private createCanUseToolHandler;
385
+ /**
386
+ * Handle AskUserQuestion tool requests.
387
+ *
388
+ * If onAskUserQuestion is provided, uses that handler.
389
+ * Otherwise, sends the request to the client via ACP extMethod (_codebuddy.ai/question).
390
+ *
391
+ * @param sessionId - The session ID
392
+ * @param input - The tool input (AskUserQuestionInput)
393
+ * @param options - Permission options including toolUseID
394
+ * @returns Permission result with answers or denial
395
+ */
396
+ private handleAskUserQuestion;
183
397
  /**
184
398
  * Clean up when the connection closes.
399
+ * Removes all sessions and frees memory.
185
400
  */
186
401
  private cleanup;
187
402
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/acp/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/acp/agent.ts"],"names":[],"mappings":"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"}