Skip to content

Commit bd35d8f

Browse files
committed
refactor: SessionManager.appendDeferredPermissionPrompt
1 parent 82c700a commit bd35d8f

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

src/session.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1275,7 +1275,9 @@ ${skillMd}
12751275
permissionOverrides: permissionPrompt?.permissions,
12761276
messagePermissions: pendingToolCallMessage.message?.meta?.permissions,
12771277
});
1278-
permissionPrompt = await this.appendDeferredPermissionPrompt(sessionId, permissionPrompt, sessionController);
1278+
await this.appendDeferredPermissionPrompt(sessionId, permissionPrompt, sessionController);
1279+
// Permission replies are one-shot: do not reuse decisions or append the deferred user prompt again on later tool-call batches.
1280+
permissionPrompt = undefined;
12791281
if (this.isInterrupted(sessionId)) {
12801282
return;
12811283
}
@@ -2298,17 +2300,17 @@ ${skillMd}
22982300
sessionId: string,
22992301
userPrompt: UserPromptContent | undefined,
23002302
controller: AbortController
2301-
): Promise<UserPromptContent | undefined> {
2303+
): Promise<void> {
23022304
if (!userPrompt || this.isContinuePrompt(userPrompt)) {
2303-
return undefined;
2305+
return;
23042306
}
23052307
const text = userPrompt.text ?? "";
23062308
const hasUserContent =
23072309
text.trim().length > 0 ||
23082310
(Array.isArray(userPrompt.imageUrls) && userPrompt.imageUrls.length > 0) ||
23092311
(Array.isArray(userPrompt.skills) && userPrompt.skills.length > 0);
23102312
if (!hasUserContent) {
2311-
return undefined;
2313+
return;
23122314
}
23132315
this.reportNewPrompt();
23142316
const signal = controller.signal;
@@ -2343,7 +2345,6 @@ ${skillMd}
23432345
this.onAssistantMessage(skillMessage, true);
23442346
}
23452347
}
2346-
return undefined;
23472348
}
23482349

23492350
private buildToolParamsSnippet(toolFunction: unknown | null): string {

0 commit comments

Comments
 (0)