fix(chat): mark aborted permissions
This commit is contained in:
@@ -364,7 +364,7 @@ export const normalizeSessionTodos = (
|
||||
return changed ? nextMessages : messages;
|
||||
};
|
||||
|
||||
export const rejectOpenPermissionsAfterAbort = (
|
||||
export const abortOpenPermissionsAfterAbort = (
|
||||
permissions: AgentPermissionRequest[] | undefined,
|
||||
) => {
|
||||
if (!permissions?.length) return permissions;
|
||||
@@ -380,7 +380,7 @@ export const rejectOpenPermissionsAfterAbort = (
|
||||
changed = true;
|
||||
return {
|
||||
...permission,
|
||||
status: "rejected" as const,
|
||||
status: "aborted" as const,
|
||||
repliedAt: Date.now(),
|
||||
error: undefined,
|
||||
};
|
||||
@@ -415,12 +415,12 @@ export const rejectOpenQuestionsAfterAbort = (
|
||||
export const finalizeAssistantMessageAfterAbort = (message: Message): Message => {
|
||||
const completedProgress = completeRunningProgress(message.progress);
|
||||
const cancelledTodos = cancelRunningTodos(message.todos);
|
||||
const rejectedPermissions = rejectOpenPermissionsAfterAbort(message.permissions);
|
||||
const abortedPermissions = abortOpenPermissionsAfterAbort(message.permissions);
|
||||
const rejectedQuestions = rejectOpenQuestionsAfterAbort(message.questions);
|
||||
const hasVisibleOutput =
|
||||
message.content.trim().length > 0 ||
|
||||
Boolean(message.artifacts?.length) ||
|
||||
Boolean(rejectedPermissions?.length) ||
|
||||
Boolean(abortedPermissions?.length) ||
|
||||
Boolean(rejectedQuestions?.length) ||
|
||||
Boolean(completedProgress?.length) ||
|
||||
Boolean(cancelledTodos);
|
||||
@@ -434,7 +434,7 @@ export const finalizeAssistantMessageAfterAbort = (message: Message): Message =>
|
||||
content: message.content || "⚠️ **请求已中断**",
|
||||
isError: true,
|
||||
progress: completedProgress,
|
||||
permissions: rejectedPermissions,
|
||||
permissions: abortedPermissions,
|
||||
questions: rejectedQuestions,
|
||||
todos: cancelledTodos,
|
||||
};
|
||||
@@ -454,4 +454,3 @@ export const createAssistantMessage = (): Message => ({
|
||||
role: "assistant",
|
||||
content: "",
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user