AX Agent 레거시 plan 도구와 상태 배지 노출을 추가 정리
Some checks failed
Release Gate / gate (push) Has been cancelled
Some checks failed
Release Gate / gate (push) Has been cancelled
- code 탭에서 enter_plan_mode/exit_plan_mode 도구를 항상 비활성화해 레거시 설정값이 런타임을 흔들지 않도록 정리 - queue/재시도 대기만 남은 상태에서는 RuntimeActivityBadge와 상단 strip이 기본 노출되지 않게 조정 - idle Cowork/Code 헤더 소음을 줄이도록 ChatWindow 상태 표시 조건을 추가 보정 - README와 DEVELOPMENT 문서에 2026-04-05 20:48 (KST) 기준 변경 내역 반영 - 검증: 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:
@@ -21,11 +21,10 @@ internal static class AgentTabSettingsResolver
|
||||
|
||||
public static IEnumerable<string> EnumerateCodeTabDisabledTools(CodeSettings code)
|
||||
{
|
||||
if (!code.EnablePlanModeTools)
|
||||
{
|
||||
yield return "enter_plan_mode";
|
||||
yield return "exit_plan_mode";
|
||||
}
|
||||
// Plan mode tools are legacy compatibility only and stay disabled
|
||||
// regardless of any persisted value.
|
||||
yield return "enter_plan_mode";
|
||||
yield return "exit_plan_mode";
|
||||
|
||||
if (!code.EnableWorktreeTools)
|
||||
{
|
||||
|
||||
@@ -544,9 +544,7 @@ public sealed class AppStateService
|
||||
var latestDeniedPermission = GetLatestDeniedPermission();
|
||||
|
||||
var showRuntimeBadge = taskSummary.HasActiveTasks
|
||||
|| queueSummary.QueuedCount > 0
|
||||
|| queueSummary.RunningCount > 0
|
||||
|| queueSummary.BlockedCount > 0
|
||||
|| taskSummary.PendingPermissionCount > 0
|
||||
|| backgroundSummary.ActiveCount > 0;
|
||||
|
||||
var runtimeLabel = taskSummary.PendingPermissionCount > 0
|
||||
@@ -582,20 +580,6 @@ public sealed class AppStateService
|
||||
stripKind = "failed_run";
|
||||
stripText = $"최근 실패 {FormatDate(taskSummary.LatestFailedRun.UpdatedAt)}";
|
||||
}
|
||||
else if (queueSummary.RunningCount > 0 || queueSummary.QueuedCount > 0)
|
||||
{
|
||||
stripKind = "queue";
|
||||
stripText = queueSummary.RunningCount > 0
|
||||
? $"큐 실행 중 {queueSummary.RunningCount} · 다음 {Truncate(queueSummary.NextItem?.Text, 24)}"
|
||||
: $"대기열 {queueSummary.QueuedCount} · 다음 {Truncate(queueSummary.NextItem?.Text, 24)}";
|
||||
}
|
||||
else if (queueSummary.BlockedCount > 0)
|
||||
{
|
||||
stripKind = "queue_blocked";
|
||||
stripText = queueSummary.NextReadyAt.HasValue
|
||||
? $"재시도 대기 {queueSummary.BlockedCount} · {FormatDate(queueSummary.NextReadyAt.Value)}"
|
||||
: $"재시도 대기 {queueSummary.BlockedCount}";
|
||||
}
|
||||
else if (backgroundSummary.ActiveCount > 0)
|
||||
{
|
||||
stripKind = "background";
|
||||
|
||||
@@ -9275,9 +9275,11 @@ public partial class ChatWindow : Window
|
||||
private void UpdateTaskSummaryIndicators()
|
||||
{
|
||||
var status = _appState.GetOperationalStatus(_activeTab);
|
||||
var hasLiveRuntimeActivity = !string.Equals(_activeTab, "Chat", StringComparison.OrdinalIgnoreCase)
|
||||
&& (_runningConversationCount > 0 || _appState.ActiveTasks.Count > 0);
|
||||
|
||||
if (RuntimeActivityBadge != null)
|
||||
RuntimeActivityBadge.Visibility = status.ShowRuntimeBadge
|
||||
RuntimeActivityBadge.Visibility = status.ShowRuntimeBadge && hasLiveRuntimeActivity
|
||||
? Visibility.Visible
|
||||
: Visibility.Collapsed;
|
||||
|
||||
@@ -17913,8 +17915,6 @@ public partial class ChatWindow : Window
|
||||
|
||||
private void UpdateAgentProgressBar(AgentEvent evt)
|
||||
{
|
||||
var isDebugLogLevel = string.Equals(_settings.Settings.Llm.AgentLogLevel, "debug", StringComparison.OrdinalIgnoreCase);
|
||||
|
||||
switch (evt.Type)
|
||||
{
|
||||
case AgentEventType.Planning when evt.Steps is { Count: > 0 }:
|
||||
|
||||
Reference in New Issue
Block a user