Skip to content

Commit d70bb9e

Browse files
committed
feat(amazonqFeatureDev): include stop generation based on token cancellation
1 parent c733e26 commit d70bb9e

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

packages/core/src/amazonqFeatureDev/session/session.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ export class Session {
132132
telemetry: this.telemetry,
133133
tokenSource: this.state.tokenSource,
134134
uploadHistory: this.state.uploadHistory,
135+
tokenSource: this.state.tokenSource,
135136
})
136137

137138
if (resp.nextState) {

packages/core/src/amazonqFeatureDev/session/sessionState.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,12 @@ export class CodeGenState extends CodeGenBase implements SessionState {
300300
credentialStartUrl: AuthUtil.instance.startUrl,
301301
})
302302

303+
action.tokenSource?.token.onCancellationRequested(() => {
304+
if (action.tokenSource) {
305+
this.tokenSource = action.tokenSource
306+
}
307+
})
308+
303309
action.telemetry.setGenerateCodeIteration(this.currentIteration)
304310
action.telemetry.setGenerateCodeLastInvocationTime()
305311
const codeGenerationId = randomUUID()
@@ -363,10 +369,10 @@ export class CodeGenState extends CodeGenBase implements SessionState {
363369
this.currentIteration + 1,
364370
this.codeGenerationRemainingIterationCount,
365371
this.codeGenerationTotalIterationCount,
366-
this.tokenSource,
367372
this.currentCodeGenerationId,
368373
action.uploadHistory,
369-
codeGenerationId
374+
codeGenerationId,
375+
this.tokenSource
370376
)
371377
return {
372378
nextState,
@@ -489,10 +495,10 @@ export class PrepareCodeGenState implements SessionState {
489495

490496
public codeGenerationRemainingIterationCount?: number,
491497
public codeGenerationTotalIterationCount?: number,
492-
public superTokenSource?: vscode.CancellationTokenSource,
493498
public currentCodeGenerationId?: string,
494499
public uploadHistory: UploadHistory = {},
495-
public codeGenerationId?: string
500+
public codeGenerationId?: string,
501+
public superTokenSource?: vscode.CancellationTokenSource
496502
) {
497503
this.tokenSource = superTokenSource || new vscode.CancellationTokenSource()
498504
this.uploadId = config.uploadId

packages/core/src/amazonqFeatureDev/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@ export interface SessionStateAction {
8888
messenger: Messenger
8989
fs: VirtualFileSystem
9090
telemetry: TelemetryHelper
91-
tokenSource?: CancellationTokenSource
9291
uploadHistory?: UploadHistory
92+
tokenSource?: CancellationTokenSource
9393
}
9494

9595
export type NewFileZipContents = { zipFilePath: string; fileContent: string }

0 commit comments

Comments
 (0)