@@ -125,6 +125,16 @@ declare module 'vscode' {
125125 * Optional URI to navigate to when clicking on the file.
126126 */
127127 goToFileUri ?: Uri ;
128+
129+ /**
130+ * Added data (e.g. line numbers) to show in the UI
131+ */
132+ added ?: number ;
133+
134+ /**
135+ * Removed data (e.g. line numbers) to show in the UI
136+ */
137+ removed ?: number ;
128138 }
129139
130140 /**
@@ -149,7 +159,7 @@ declare module 'vscode' {
149159 constructor ( value : ChatResponseDiffEntry [ ] , title : string ) ;
150160 }
151161
152- export type ExtendedChatResponsePart = ChatResponsePart | ChatResponseTextEditPart | ChatResponseNotebookEditPart | ChatResponseConfirmationPart | ChatResponseCodeCitationPart | ChatResponseReferencePart2 | ChatResponseMovePart | ChatResponseExtensionsPart | ChatResponsePullRequestPart | ChatPrepareToolInvocationPart | ChatToolInvocationPart | ChatResponseMultiDiffPart ;
162+ export type ExtendedChatResponsePart = ChatResponsePart | ChatResponseTextEditPart | ChatResponseNotebookEditPart | ChatResponseConfirmationPart | ChatResponseCodeCitationPart | ChatResponseReferencePart2 | ChatResponseMovePart | ChatResponseExtensionsPart | ChatResponsePullRequestPart | ChatPrepareToolInvocationPart | ChatToolInvocationPart | ChatResponseMultiDiffPart | ChatResponseThinkingProgressPart ;
153163 export class ChatResponseWarningPart {
154164 value : MarkdownString ;
155165 constructor ( value : string | MarkdownString ) ;
@@ -161,6 +171,23 @@ declare module 'vscode' {
161171 constructor ( value : string , task ?: ( progress : Progress < ChatResponseWarningPart | ChatResponseReferencePart > ) => Thenable < string | void > ) ;
162172 }
163173
174+ /**
175+ * A specialized progress part for displaying thinking/reasoning steps.
176+ */
177+ export class ChatResponseThinkingProgressPart {
178+ value : string | string [ ] ;
179+ id ?: string ;
180+ metadata ?: { readonly [ key : string ] : any } ;
181+ task ?: ( progress : Progress < LanguageModelThinkingPart > ) => Thenable < string | void > ;
182+
183+ /**
184+ * Creates a new thinking progress part.
185+ * @param value An initial progress message
186+ * @param task A task that will emit thinking parts during its execution
187+ */
188+ constructor ( value : string | string [ ] , id ?: string , metadata ?: { readonly [ key : string ] : any } , task ?: ( progress : Progress < LanguageModelThinkingPart > ) => Thenable < string | void > ) ;
189+ }
190+
164191 export class ChatResponseReferencePart2 {
165192 /**
166193 * The reference target.
@@ -256,6 +283,8 @@ declare module 'vscode' {
256283 */
257284 progress ( value : string , task ?: ( progress : Progress < ChatResponseWarningPart | ChatResponseReferencePart > ) => Thenable < string | void > ) : void ;
258285
286+ thinkingProgress ( thinkingDelta : ThinkingDelta ) : void ;
287+
259288 textEdit ( target : Uri , edits : TextEdit | TextEdit [ ] ) : void ;
260289
261290 textEdit ( target : Uri , isDone : true ) : void ;
@@ -298,6 +327,8 @@ declare module 'vscode' {
298327 prepareToolInvocation ( toolName : string ) : void ;
299328
300329 push ( part : ExtendedChatResponsePart ) : void ;
330+
331+ clearToPreviousToolInvocation ( reason : ChatResponseClearToPreviousToolInvocationReason ) : void ;
301332 }
302333
303334 export enum ChatResponseReferencePartStatusKind {
@@ -306,6 +337,26 @@ declare module 'vscode' {
306337 Omitted = 3
307338 }
308339
340+ export type ThinkingDelta = {
341+ text ?: string | string [ ] ;
342+ id : string ;
343+ metadata ?: { readonly [ key : string ] : any } ;
344+ } | {
345+ text ?: string | string [ ] ;
346+ id ?: string ;
347+ metadata : { readonly [ key : string ] : any } ;
348+ } |
349+ {
350+ text : string | string [ ] ;
351+ id ?: string ;
352+ metadata ?: { readonly [ key : string ] : any } ;
353+ } ;
354+
355+ export enum ChatResponseClearToPreviousToolInvocationReason {
356+ NoReason = 0 ,
357+ FilteredContentRetry = 1 ,
358+ CopyrightContentRetry = 2 ,
359+ }
309360
310361 /**
311362 * Does this piggy-back on the existing ChatRequest, or is it a different type of request entirely?
@@ -527,6 +578,8 @@ declare module 'vscode' {
527578 kind : 'chatEditingHunkAction' ;
528579 uri : Uri ;
529580 lineCount : number ;
581+ linesAdded : number ;
582+ linesRemoved : number ;
530583 outcome : ChatEditingSessionActionOutcome ;
531584 hasRemainingEdits : boolean ;
532585 }
@@ -547,6 +600,11 @@ declare module 'vscode' {
547600 * TODO Needed for now to drive the variableName-type reference, but probably both of these should go away in the future.
548601 */
549602 readonly name : string ;
603+
604+ /**
605+ * The list of tools were referenced in the value of the reference
606+ */
607+ readonly toolReferences ?: readonly ChatLanguageModelToolReference [ ] ;
550608 }
551609
552610 export interface ChatResultFeedback {
@@ -589,5 +647,6 @@ declare module 'vscode' {
589647
590648 export interface ChatRequest {
591649 modeInstructions ?: string ;
650+ modeInstructionsToolReferences ?: readonly ChatLanguageModelToolReference [ ] ;
592651 }
593652}
0 commit comments