@@ -122,7 +122,7 @@ declare module 'vscode' {
122122 /**
123123 * Statistics about the chat session.
124124 */
125- statistics ?: {
125+ changes ?: readonly ChatSessionChangedFile [ ] | {
126126 /**
127127 * Number of files edited during the session.
128128 */
@@ -140,6 +140,30 @@ declare module 'vscode' {
140140 } ;
141141 }
142142
143+ export class ChatSessionChangedFile {
144+ /**
145+ * URI of the file.
146+ */
147+ modifiedUri : Uri ;
148+
149+ /**
150+ * File opened when the user takes the 'compare' action.
151+ */
152+ originalUri ?: Uri ;
153+
154+ /**
155+ * Number of insertions made during the session.
156+ */
157+ insertions : number ;
158+
159+ /**
160+ * Number of deletions made during the session.
161+ */
162+ deletions : number ;
163+
164+ constructor ( modifiedUri : Uri , insertions : number , deletions : number , originalUri ?: Uri ) ;
165+ }
166+
143167 export interface ChatSession {
144168 /**
145169 * The full history of the session
@@ -179,10 +203,39 @@ declare module 'vscode' {
179203 readonly requestHandler : ChatRequestHandler | undefined ;
180204 }
181205
206+ /**
207+ * Event fired when chat session options change.
208+ */
209+ export interface ChatSessionOptionChangeEvent {
210+ /**
211+ * Identifier of the chat session being updated.
212+ */
213+ readonly resource : Uri ;
214+ /**
215+ * Collection of option identifiers and their new values. Only the options that changed are included.
216+ */
217+ readonly updates : ReadonlyArray < {
218+ /**
219+ * Identifier of the option that changed (for example `model`).
220+ */
221+ readonly optionId : string ;
222+
223+ /**
224+ * The new value assigned to the option. When `undefined`, the option is cleared.
225+ */
226+ readonly value : string | ChatSessionProviderOptionItem ;
227+ } > ;
228+ }
229+
182230 /**
183231 * Provides the content for a chat session rendered using the native chat UI.
184232 */
185233 export interface ChatSessionContentProvider {
234+ /**
235+ * Event that the provider can fire to signal that the options for a chat session have changed.
236+ */
237+ readonly onDidChangeChatSessionOptions ?: Event < ChatSessionOptionChangeEvent > ;
238+
186239 /**
187240 * Provides the chat session content for a given uri.
188241 *
@@ -275,12 +328,22 @@ declare module 'vscode' {
275328 */
276329 readonly name : string ;
277330
331+ /**
332+ * Optional description shown in tooltips.
333+ */
334+ readonly description ?: string ;
335+
278336 /**
279337 * When true, this option is locked and cannot be changed by the user.
280338 * The option will still be visible in the UI but will be disabled.
281339 * Use this when an option is set but cannot be hot-swapped (e.g., model already initialized).
282340 */
283341 readonly locked ?: boolean ;
342+
343+ /**
344+ * An icon for the option item shown in UI.
345+ */
346+ readonly icon ?: ThemeIcon ;
284347 }
285348
286349 /**
0 commit comments