@tencent-ai/agent-sdk 0.3.41 → 0.3.43
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/CHANGELOG.md +56 -0
- package/cli/dist/codebuddy.js +6 -6
- package/cli/package.json +1 -1
- package/cli/product.cloudhosted.json +20 -7
- package/cli/product.internal.json +20 -7
- package/cli/product.ioa.json +28 -6
- package/cli/product.json +49 -8
- package/cli/product.selfhosted.json +16 -3
- package/lib/index.d.ts +1 -11
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -18
- package/lib/index.js.map +1 -1
- package/lib/query.d.ts.map +1 -1
- package/lib/query.js +7 -21
- package/lib/query.js.map +1 -1
- package/lib/session.d.ts +7 -9
- package/lib/session.d.ts.map +1 -1
- package/lib/session.js +28 -25
- package/lib/session.js.map +1 -1
- package/lib/transport/process-transport.d.ts.map +1 -1
- package/lib/transport/process-transport.js +9 -0
- package/lib/transport/process-transport.js.map +1 -1
- package/lib/types.d.ts +8 -9
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/stream.d.ts +19 -0
- package/lib/utils/stream.d.ts.map +1 -1
- package/lib/utils/stream.js +31 -0
- package/lib/utils/stream.js.map +1 -1
- package/package.json +1 -1
- package/lib/acp/agent.d.ts +0 -427
- package/lib/acp/agent.d.ts.map +0 -1
- package/lib/acp/agent.js +0 -835
- package/lib/acp/agent.js.map +0 -1
- package/lib/acp/converter.d.ts +0 -179
- package/lib/acp/converter.d.ts.map +0 -1
- package/lib/acp/converter.js +0 -1094
- package/lib/acp/converter.js.map +0 -1
- package/lib/acp/index.d.ts +0 -11
- package/lib/acp/index.d.ts.map +0 -1
- package/lib/acp/index.js +0 -20
- package/lib/acp/index.js.map +0 -1
- package/lib/acp/server.d.ts +0 -70
- package/lib/acp/server.d.ts.map +0 -1
- package/lib/acp/server.js +0 -364
- package/lib/acp/server.js.map +0 -1
- package/lib/acp/session-manager.d.ts +0 -33
- package/lib/acp/session-manager.d.ts.map +0 -1
- package/lib/acp/session-manager.js +0 -106
- package/lib/acp/session-manager.js.map +0 -1
- package/lib/acp/session.d.ts +0 -67
- package/lib/acp/session.d.ts.map +0 -1
- package/lib/acp/session.js +0 -263
- package/lib/acp/session.js.map +0 -1
package/lib/utils/stream.d.ts
CHANGED
|
@@ -28,5 +28,24 @@ export declare class Stream<T, TReturn = void> implements AsyncGenerator<T, TRet
|
|
|
28
28
|
* Returns the current number of items in the queue.
|
|
29
29
|
*/
|
|
30
30
|
get length(): number;
|
|
31
|
+
/**
|
|
32
|
+
* Reset the stream state to allow re-iteration.
|
|
33
|
+
*
|
|
34
|
+
* This is needed when the stream's iterator is closed (e.g., by early loop exit
|
|
35
|
+
* or cancel operation) but the underlying data source (process, connection) is
|
|
36
|
+
* still active. After reset(), the stream can be iterated again.
|
|
37
|
+
*
|
|
38
|
+
* Note: This clears any queued values to ensure fresh state for new iteration.
|
|
39
|
+
* The previous turn's messages (like result messages from cancel) are discarded.
|
|
40
|
+
*/
|
|
41
|
+
reset(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Check if the stream has been started (iterated).
|
|
44
|
+
*/
|
|
45
|
+
get isStarted(): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Check if the stream is done.
|
|
48
|
+
*/
|
|
49
|
+
get isFinished(): boolean;
|
|
31
50
|
}
|
|
32
51
|
//# sourceMappingURL=stream.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/utils/stream.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CACrC,YAAW,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;IAE1C,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,WAAW,CAAC,CAA+C;IACnE,OAAO,CAAC,UAAU,CAAC,CAAyB;IAC5C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,CAAQ;IACzB,OAAO,CAAC,OAAO,CAAS;gBAEZ,QAAQ,CAAC,EAAE,MAAM,IAAI;IAIjC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;IAQ7D,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAsB3C,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAWvB,IAAI,IAAI,IAAI;IAUZ,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAUzB,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAQ7C,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAMrD;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;CACJ"}
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/utils/stream.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CACrC,YAAW,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;IAE1C,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,WAAW,CAAC,CAA+C;IACnE,OAAO,CAAC,UAAU,CAAC,CAAyB;IAC5C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,CAAQ;IACzB,OAAO,CAAC,OAAO,CAAS;gBAEZ,QAAQ,CAAC,EAAE,MAAM,IAAI;IAIjC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;IAQ7D,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAsB3C,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAWvB,IAAI,IAAI,IAAI;IAUZ,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAUzB,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAQ7C,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAMrD;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;;;;OASG;IACH,KAAK,IAAI,IAAI;IAUb;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;CACJ"}
|
package/lib/utils/stream.js
CHANGED
|
@@ -92,6 +92,37 @@ class Stream {
|
|
|
92
92
|
get length() {
|
|
93
93
|
return this.queue.length;
|
|
94
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Reset the stream state to allow re-iteration.
|
|
97
|
+
*
|
|
98
|
+
* This is needed when the stream's iterator is closed (e.g., by early loop exit
|
|
99
|
+
* or cancel operation) but the underlying data source (process, connection) is
|
|
100
|
+
* still active. After reset(), the stream can be iterated again.
|
|
101
|
+
*
|
|
102
|
+
* Note: This clears any queued values to ensure fresh state for new iteration.
|
|
103
|
+
* The previous turn's messages (like result messages from cancel) are discarded.
|
|
104
|
+
*/
|
|
105
|
+
reset() {
|
|
106
|
+
this.started = false;
|
|
107
|
+
this.isDone = false;
|
|
108
|
+
this.hasError = undefined;
|
|
109
|
+
this.readResolve = undefined;
|
|
110
|
+
this.readReject = undefined;
|
|
111
|
+
// Clear queue to discard stale messages from previous turn (e.g., result from cancel)
|
|
112
|
+
this.queue = [];
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Check if the stream has been started (iterated).
|
|
116
|
+
*/
|
|
117
|
+
get isStarted() {
|
|
118
|
+
return this.started;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Check if the stream is done.
|
|
122
|
+
*/
|
|
123
|
+
get isFinished() {
|
|
124
|
+
return this.isDone;
|
|
125
|
+
}
|
|
95
126
|
}
|
|
96
127
|
exports.Stream = Stream;
|
|
97
128
|
//# sourceMappingURL=stream.js.map
|
package/lib/utils/stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/utils/stream.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/utils/stream.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/lib/acp/agent.d.ts
DELETED
|
@@ -1,427 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AcpAgent - Implementation of the official ACP Agent interface
|
|
3
|
-
*
|
|
4
|
-
* This class bridges the @agentclientprotocol/sdk Agent interface with
|
|
5
|
-
* the Genie Session for handling ACP protocol requests.
|
|
6
|
-
*
|
|
7
|
-
* Usage: Create via session.asAcpAgent(connection)
|
|
8
|
-
*
|
|
9
|
-
* Architecture:
|
|
10
|
-
* Browser -> HTTP -> AcpHttpTransport -> AgentSideConnection -> AcpAgent -> Session
|
|
11
|
-
*/
|
|
12
|
-
import type { Agent, AgentCapabilities, AgentSideConnection, AuthenticateRequest, AuthenticateResponse, CancelNotification, Implementation, InitializeRequest, InitializeResponse, LoadSessionRequest, LoadSessionResponse, NewSessionRequest, NewSessionResponse, PromptRequest, PromptResponse, SessionUpdate, SetSessionModelRequest, SetSessionModelResponse, SetSessionModeRequest, SetSessionModeResponse } from '@agentclientprotocol/sdk';
|
|
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>;
|
|
128
|
-
/**
|
|
129
|
-
* Handler for creating sessions when session/new is called.
|
|
130
|
-
*
|
|
131
|
-
* Session auto-generates its own sessionId internally, which can be accessed
|
|
132
|
-
* via session.sessionId after creation. The AcpAgent will use this sessionId
|
|
133
|
-
* when returning the NewSessionResponse.
|
|
134
|
-
*/
|
|
135
|
-
export type OnNewSession = (params: NewSessionRequest) => Session | Promise<Session>;
|
|
136
|
-
export type OnLoadSession = (params: LoadSessionRequest) => Session | Promise<Session>;
|
|
137
|
-
/**
|
|
138
|
-
* Options for creating an AcpAgent
|
|
139
|
-
*/
|
|
140
|
-
export interface AcpAgentOptions {
|
|
141
|
-
/**
|
|
142
|
-
* Agent information returned in initialize response
|
|
143
|
-
*/
|
|
144
|
-
agentInfo?: Implementation;
|
|
145
|
-
/**
|
|
146
|
-
* Protocol version to report (default: 1)
|
|
147
|
-
*/
|
|
148
|
-
protocolVersion?: number;
|
|
149
|
-
/**
|
|
150
|
-
* Handler for creating new sessions when session/new is called.
|
|
151
|
-
* If provided, session will be created via this handler.
|
|
152
|
-
* If not provided, the session passed to constructor will be used.
|
|
153
|
-
*/
|
|
154
|
-
onNewSession?: OnNewSession;
|
|
155
|
-
/**
|
|
156
|
-
* Handler for loading/resuming existing sessions when session/load is called.
|
|
157
|
-
* If provided, loadSession() will use this to resume sessions.
|
|
158
|
-
* The handler receives the sessionId and should return a resumed session.
|
|
159
|
-
*/
|
|
160
|
-
onLoadSession?: OnLoadSession;
|
|
161
|
-
/**
|
|
162
|
-
* Custom handler for AskUserQuestion tool.
|
|
163
|
-
* If not provided, uses ACP extMethod '_codebuddy.ai/ask_user_question'.
|
|
164
|
-
*
|
|
165
|
-
* Return null from the handler to deny the question request.
|
|
166
|
-
*
|
|
167
|
-
* @example
|
|
168
|
-
* ```typescript
|
|
169
|
-
* const agent = new AcpAgent(connection, null, {
|
|
170
|
-
* onAskUserQuestion: async (request) => {
|
|
171
|
-
* const answers = await showQuestionDialog(request.questions);
|
|
172
|
-
* return { answers };
|
|
173
|
-
* },
|
|
174
|
-
* });
|
|
175
|
-
* ```
|
|
176
|
-
*/
|
|
177
|
-
onAskUserQuestion?: OnAskUserQuestion;
|
|
178
|
-
/**
|
|
179
|
-
* Agent capabilities to advertise during initialization.
|
|
180
|
-
* Uses the official ACP AgentCapabilities type.
|
|
181
|
-
* These will be merged with the default capabilities.
|
|
182
|
-
* User-provided values will override defaults.
|
|
183
|
-
*/
|
|
184
|
-
capabilities?: Partial<AgentCapabilities>;
|
|
185
|
-
/**
|
|
186
|
-
* Available permission modes configuration.
|
|
187
|
-
* If not provided, defaults to basic 'default' and 'plan' modes.
|
|
188
|
-
*/
|
|
189
|
-
availableModes?: Array<{
|
|
190
|
-
id: string;
|
|
191
|
-
name: string;
|
|
192
|
-
description: string;
|
|
193
|
-
}>;
|
|
194
|
-
/**
|
|
195
|
-
* Maximum number of sessions to keep in memory.
|
|
196
|
-
* When exceeded, oldest inactive sessions will be removed.
|
|
197
|
-
* Default: no limit (undefined).
|
|
198
|
-
*/
|
|
199
|
-
maxSessions?: number;
|
|
200
|
-
/**
|
|
201
|
-
* Callback invoked when a session update is about to be sent.
|
|
202
|
-
* Use this to intercept and broadcast updates to multiple connections.
|
|
203
|
-
* If not provided, updates are sent only to the agent's own connection.
|
|
204
|
-
*
|
|
205
|
-
* @param sessionId - The session ID
|
|
206
|
-
* @param update - The SessionUpdate to send
|
|
207
|
-
* @param meta - Optional metadata including mode ('stream' | 'history')
|
|
208
|
-
*/
|
|
209
|
-
onSessionUpdate?: (sessionId: string, update: SessionUpdate, meta?: {
|
|
210
|
-
mode?: string;
|
|
211
|
-
toolName?: string;
|
|
212
|
-
requestId?: string;
|
|
213
|
-
}) => void;
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* AcpAgent - Implements the official ACP Agent interface
|
|
217
|
-
*
|
|
218
|
-
* Created via session.asAcpAgent(connection). The session must be
|
|
219
|
-
* created and connected before creating the AcpAgent.
|
|
220
|
-
*
|
|
221
|
-
* @example
|
|
222
|
-
* ```typescript
|
|
223
|
-
* const session = createSession({ cwd: '/workspace' });
|
|
224
|
-
* await session.connect();
|
|
225
|
-
*
|
|
226
|
-
* const connection = new AgentSideConnection(
|
|
227
|
-
* (conn) => session.asAcpAgent(conn),
|
|
228
|
-
* stream
|
|
229
|
-
* );
|
|
230
|
-
* ```
|
|
231
|
-
*/
|
|
232
|
-
export declare class AcpAgent implements Agent {
|
|
233
|
-
private connection;
|
|
234
|
-
private defaultSession;
|
|
235
|
-
private sessions;
|
|
236
|
-
private options;
|
|
237
|
-
private activePromptSessionId;
|
|
238
|
-
private promptAbortController;
|
|
239
|
-
/** Per-session converters for proper state management */
|
|
240
|
-
private sessionConverters;
|
|
241
|
-
/** Track session last activity time for LRU eviction */
|
|
242
|
-
private sessionLastActivity;
|
|
243
|
-
/** Track in-progress session loading to prevent race conditions */
|
|
244
|
-
private sessionLoadingPromises;
|
|
245
|
-
/** Track commands notification handlers per session for cleanup */
|
|
246
|
-
private sessionCommandsHandlers;
|
|
247
|
-
/**
|
|
248
|
-
* Create an AcpAgent.
|
|
249
|
-
*
|
|
250
|
-
* @param connection - The AgentSideConnection for communication
|
|
251
|
-
* @param session - Optional default session. If provided, it will be returned by newSession().
|
|
252
|
-
* If null, onNewSession must be provided in options.
|
|
253
|
-
* @param options - Configuration options including optional onNewSession
|
|
254
|
-
*/
|
|
255
|
-
constructor(connection: AgentSideConnection, session: Session | null, options?: AcpAgentOptions);
|
|
256
|
-
/**
|
|
257
|
-
* Initialize the connection with the client.
|
|
258
|
-
* Returns protocol version and agent capabilities.
|
|
259
|
-
*/
|
|
260
|
-
initialize(_params: InitializeRequest): Promise<InitializeResponse>;
|
|
261
|
-
/**
|
|
262
|
-
* Authenticate the client.
|
|
263
|
-
* Currently a no-op as we don't require authentication.
|
|
264
|
-
*/
|
|
265
|
-
authenticate(_params: AuthenticateRequest): Promise<AuthenticateResponse | void>;
|
|
266
|
-
/**
|
|
267
|
-
* Create or return a session.
|
|
268
|
-
*
|
|
269
|
-
* Behavior depends on configuration:
|
|
270
|
-
* 1. If onNewSession is provided: Creates a new session via factory
|
|
271
|
-
* 2. If defaultSession is provided: Returns the first registered session
|
|
272
|
-
* 3. Otherwise: Throws an error
|
|
273
|
-
*/
|
|
274
|
-
newSession(params: NewSessionRequest): Promise<NewSessionResponse>;
|
|
275
|
-
loadSession(params: LoadSessionRequest): Promise<LoadSessionResponse>;
|
|
276
|
-
/**
|
|
277
|
-
* Process a prompt request.
|
|
278
|
-
* Sends the prompt to the session and streams updates back to the client.
|
|
279
|
-
*/
|
|
280
|
-
prompt(params: PromptRequest): Promise<PromptResponse>;
|
|
281
|
-
/**
|
|
282
|
-
* Cancel an ongoing prompt.
|
|
283
|
-
*/
|
|
284
|
-
cancel(params: CancelNotification): Promise<void>;
|
|
285
|
-
/**
|
|
286
|
-
* Set the operational mode for a session.
|
|
287
|
-
*
|
|
288
|
-
* Maps ACP SessionModeId to SDK PermissionMode and delegates to Session.setPermissionMode().
|
|
289
|
-
* Errors are silently ignored - the mode just won't take effect.
|
|
290
|
-
*/
|
|
291
|
-
setSessionMode(params: SetSessionModeRequest): Promise<SetSessionModeResponse>;
|
|
292
|
-
/**
|
|
293
|
-
* Set the model for a session.
|
|
294
|
-
*
|
|
295
|
-
* Delegates to Session.setModel().
|
|
296
|
-
* Errors are silently ignored - the model just won't take effect.
|
|
297
|
-
*
|
|
298
|
-
* @experimental This capability is not part of the spec yet.
|
|
299
|
-
*/
|
|
300
|
-
unstable_setSessionModel(params: SetSessionModelRequest): Promise<SetSessionModelResponse>;
|
|
301
|
-
extMethod?(_method: string, _params: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
302
|
-
extNotification?(_method: string, _params: Record<string, unknown>): Promise<void>;
|
|
303
|
-
/**
|
|
304
|
-
* Get a session by ID, or the first session if no ID provided.
|
|
305
|
-
*/
|
|
306
|
-
getSession(sessionId?: string): Session | undefined;
|
|
307
|
-
/**
|
|
308
|
-
* Alias for getSession() for compatibility.
|
|
309
|
-
*/
|
|
310
|
-
getCurrentSession(): Session | undefined;
|
|
311
|
-
/**
|
|
312
|
-
* Get all session IDs.
|
|
313
|
-
*/
|
|
314
|
-
getSessionIds(): string[];
|
|
315
|
-
/**
|
|
316
|
-
* Get the number of active sessions.
|
|
317
|
-
*/
|
|
318
|
-
getSessionCount(): number;
|
|
319
|
-
/**
|
|
320
|
-
* Remove a session by ID and free associated resources.
|
|
321
|
-
* @param sessionId - The session ID to remove
|
|
322
|
-
* @param closeSession - Whether to close the session (default: true)
|
|
323
|
-
* @returns true if the session was removed, false if not found
|
|
324
|
-
*/
|
|
325
|
-
removeSession(sessionId: string, closeSession?: boolean): boolean;
|
|
326
|
-
/**
|
|
327
|
-
* Remove all sessions and free resources.
|
|
328
|
-
* @param closeSessions - Whether to close sessions (default: true)
|
|
329
|
-
*/
|
|
330
|
-
removeAllSessions(closeSessions?: boolean): void;
|
|
331
|
-
/**
|
|
332
|
-
* Get memory statistics for debugging.
|
|
333
|
-
*/
|
|
334
|
-
getMemoryStats(): {
|
|
335
|
-
sessionCount: number;
|
|
336
|
-
converterCount: number;
|
|
337
|
-
oldestSessionAge: number | null;
|
|
338
|
-
};
|
|
339
|
-
/**
|
|
340
|
-
* Register a session with memory management.
|
|
341
|
-
* Injects canUseTool handler for AskUserQuestion support.
|
|
342
|
-
*/
|
|
343
|
-
private registerSession;
|
|
344
|
-
/**
|
|
345
|
-
* Update session activity timestamp.
|
|
346
|
-
*/
|
|
347
|
-
private touchSession;
|
|
348
|
-
/**
|
|
349
|
-
* Evict the oldest inactive session (LRU).
|
|
350
|
-
*/
|
|
351
|
-
private evictOldestSession;
|
|
352
|
-
/**
|
|
353
|
-
* Get session modes configuration.
|
|
354
|
-
* Returns the available modes and current mode from the given session.
|
|
355
|
-
* @param session - Optional session to get current mode from. If not provided, uses default.
|
|
356
|
-
*/
|
|
357
|
-
private getSessionModes;
|
|
358
|
-
/**
|
|
359
|
-
* Get session models configuration.
|
|
360
|
-
* Returns the available models and current model from the given session.
|
|
361
|
-
* Fetches available models from the session if supported.
|
|
362
|
-
* Full raw model configurations are included in _meta['codebuddy.ai'].availableModels.
|
|
363
|
-
* @param session - Optional session to get current model and available models from.
|
|
364
|
-
*/
|
|
365
|
-
private getSessionModels;
|
|
366
|
-
/**
|
|
367
|
-
* Subscribe to commands channel and forward all updates to ACP client.
|
|
368
|
-
* Sets up a persistent listener that sends available_commands_update for each notification.
|
|
369
|
-
* This ensures no updates are missed when commands change multiple times.
|
|
370
|
-
* @param sessionId - The session ID to send the updates for
|
|
371
|
-
* @param session - The session to subscribe to commands channel
|
|
372
|
-
*/
|
|
373
|
-
private subscribeToCommands;
|
|
374
|
-
/**
|
|
375
|
-
* Convert ACP ContentBlock[] to SDK UserMessage.
|
|
376
|
-
* Delegates to AcpConverter for the actual content block conversion.
|
|
377
|
-
*/
|
|
378
|
-
private convertAcpPromptToUserMessage;
|
|
379
|
-
/**
|
|
380
|
-
* Get or create a converter for a session.
|
|
381
|
-
*/
|
|
382
|
-
private getSessionConverter;
|
|
383
|
-
/**
|
|
384
|
-
* Send session updates to the client via AgentSideConnection.
|
|
385
|
-
*
|
|
386
|
-
* @param sessionId - Session ID
|
|
387
|
-
* @param message - SDK message to convert and send
|
|
388
|
-
* @param mode - Conversion mode: 'stream' for prompt(), 'history' for loadSession()
|
|
389
|
-
*/
|
|
390
|
-
private sendUpdates;
|
|
391
|
-
/**
|
|
392
|
-
* Send system info notification when CLI reports model/permissionMode.
|
|
393
|
-
* Uses custom notification '_codebuddy.ai/system_init' with model and permissionMode.
|
|
394
|
-
*/
|
|
395
|
-
private sendSystemInfoNotification;
|
|
396
|
-
/**
|
|
397
|
-
* Filter history messages: only keep the last topic message.
|
|
398
|
-
*/
|
|
399
|
-
private filterHistoryMessages;
|
|
400
|
-
/**
|
|
401
|
-
* Create a canUseTool handler that wraps the original handler
|
|
402
|
-
* and intercepts AskUserQuestion requests.
|
|
403
|
-
*
|
|
404
|
-
* @param sessionId - The session ID for this handler
|
|
405
|
-
* @param originalHandler - Optional original canUseTool handler to delegate to
|
|
406
|
-
* @returns A wrapped canUseTool handler
|
|
407
|
-
*/
|
|
408
|
-
private createCanUseToolHandler;
|
|
409
|
-
/**
|
|
410
|
-
* Handle AskUserQuestion tool requests.
|
|
411
|
-
*
|
|
412
|
-
* If onAskUserQuestion is provided, uses that handler.
|
|
413
|
-
* Otherwise, sends the request to the client via ACP extMethod (_codebuddy.ai/question).
|
|
414
|
-
*
|
|
415
|
-
* @param sessionId - The session ID
|
|
416
|
-
* @param input - The tool input (AskUserQuestionInput)
|
|
417
|
-
* @param options - Permission options including toolUseID
|
|
418
|
-
* @returns Permission result with answers or denial
|
|
419
|
-
*/
|
|
420
|
-
private handleAskUserQuestion;
|
|
421
|
-
/**
|
|
422
|
-
* Clean up when the connection closes.
|
|
423
|
-
* Removes all sessions and frees memory.
|
|
424
|
-
*/
|
|
425
|
-
private cleanup;
|
|
426
|
-
}
|
|
427
|
-
//# sourceMappingURL=agent.d.ts.map
|
package/lib/acp/agent.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/acp/agent.ts"],"names":[],"mappings":"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"}
|