AX Agent 최종 응답 커밋 흐름을 엔진으로 통합
Some checks failed
Release Gate / gate (push) Has been cancelled

- AxAgentExecutionEngine에 FinalizeAssistantTurn을 추가해 assistant 최종 내용 정규화, Cowork/Code 실행 로그 접힘, 메시지 커밋을 한 메서드로 통합함

- SendMessageAsync와 SendRegenerateAsync가 동일한 엔진 마무리 경로를 타도록 정리해 UI 쪽 중복 후처리를 줄임

- 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ 경고 0 / 오류 0
This commit is contained in:
2026-04-05 12:26:51 +09:00
parent 67961f280f
commit 660f4e5a32
4 changed files with 22 additions and 9 deletions

View File

@@ -133,6 +133,21 @@ public sealed class AxAgentExecutionEngine
return assistant;
}
public string FinalizeAssistantTurn(
ChatSessionStateService? session,
ChatConversation conversation,
string tab,
string? content,
ChatStorageService? storage = null)
{
var normalized = NormalizeAssistantContent(conversation, tab, content);
if (tab is "Cowork" or "Code")
conversation.ShowExecutionHistory = false;
CommitAssistantMessage(session, conversation, tab, normalized, storage);
return normalized;
}
public string NormalizeAssistantContent(
ChatConversation conversation,
string runTab,

View File

@@ -8465,14 +8465,10 @@ public partial class ChatWindow : Window
SetStatusIdle();
}
assistantContent = _chatEngine.NormalizeAssistantContent(conv, runTab, assistantContent);
if (runTab is "Cowork" or "Code")
conv.ShowExecutionHistory = false;
lock (_convLock)
{
var session = ChatSession;
_chatEngine.CommitAssistantMessage(session, conv, runTab, assistantContent, _storage);
assistantContent = _chatEngine.FinalizeAssistantTurn(session, conv, runTab, assistantContent, _storage);
_currentConversation = session?.CurrentConversation ?? conv;
conv = _currentConversation!;
}
@@ -11022,13 +11018,10 @@ public partial class ChatWindow : Window
SetStatusIdle();
}
assistantContent = _chatEngine.NormalizeAssistantContent(conv, runTab, assistantContent);
if (runTab is "Cowork" or "Code")
conv.ShowExecutionHistory = false;
lock (_convLock)
{
var session = ChatSession;
_chatEngine.CommitAssistantMessage(session, conv, runTab, assistantContent, _storage);
assistantContent = _chatEngine.FinalizeAssistantTurn(session, conv, runTab, assistantContent, _storage);
_currentConversation = session?.CurrentConversation ?? conv;
conv = _currentConversation!;
}