From 3c1543a1049670c227755229a0305613442bcda8 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 29 四月 2026 20:43:13 +0800
Subject: [PATCH] Merge branch 'codex/ai-provider-protocol-gateway'
---
src/main/java/com/zy/ai/controller/AutoTuneConsoleController.java | 43 +++++++++++++++++++++++++++++++++----------
1 files changed, 33 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/zy/ai/controller/AutoTuneConsoleController.java b/src/main/java/com/zy/ai/controller/AutoTuneConsoleController.java
index eff98f5..a629653 100644
--- a/src/main/java/com/zy/ai/controller/AutoTuneConsoleController.java
+++ b/src/main/java/com/zy/ai/controller/AutoTuneConsoleController.java
@@ -14,6 +14,7 @@
import com.zy.ai.service.AutoTuneApplyService;
import com.zy.ai.service.AutoTuneCoordinatorService;
import com.zy.ai.service.AutoTuneSnapshotService;
+import com.zy.ai.utils.AutoTuneWriteBehaviorUtils;
import com.zy.common.web.BaseController;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
@@ -118,9 +119,13 @@
item.put("completionTokens", job.getCompletionTokens());
item.put("totalTokens", job.getTotalTokens());
List<AiAutoTuneMcpCall> mcpCalls = listMcpCalls(job.getId());
+ List<Map<String, Object>> mcpCallSummaries = toMcpCallSummaries(mcpCalls);
+ List<Map<String, Object>> changeSummaries = listChangeSummaries(job, mcpCalls);
+ AutoTuneWriteBehaviorUtils.addWriteBehavior(item,
+ AutoTuneWriteBehaviorUtils.resolveJobWriteBehavior(job, mcpCallSummaries, changeSummaries));
item.put("mcpCallCount", mcpCalls.size());
- item.put("mcpCalls", toMcpCallSummaries(mcpCalls));
- item.put("changes", listChangeSummaries(mcpCalls));
+ item.put("mcpCalls", mcpCallSummaries);
+ item.put("changes", changeSummaries);
return item;
}
@@ -161,6 +166,8 @@
item.put("responseJson", mcpCall.getResponseJson());
item.put("errorMessage", mcpCall.getErrorMessage());
item.put("createTime", mcpCall.getCreateTime());
+ AutoTuneWriteBehaviorUtils.addWriteBehavior(item,
+ AutoTuneWriteBehaviorUtils.resolveMcpWriteBehavior(mcpCall));
return item;
}
@@ -171,9 +178,10 @@
return value == 1;
}
- private List<Map<String, Object>> listChangeSummaries(List<AiAutoTuneMcpCall> mcpCalls) {
+ private List<Map<String, Object>> listChangeSummaries(AiAutoTuneJob job, List<AiAutoTuneMcpCall> mcpCalls) {
List<Map<String, Object>> result = new ArrayList<>();
- List<Long> applyJobIds = collectApplyJobIds(mcpCalls);
+ Map<Long, String> ownerTriggerTypes = collectChangeOwnerTriggerTypes(job, mcpCalls);
+ List<Long> applyJobIds = new ArrayList<>(ownerTriggerTypes.keySet());
if (applyJobIds.isEmpty()) {
return result;
}
@@ -185,28 +193,41 @@
return result;
}
for (AiAutoTuneChange change : changes) {
- result.add(toChangeSummary(change));
+ result.add(toChangeSummary(change, ownerTriggerTypes.get(change.getJobId())));
}
return result;
}
- private List<Long> collectApplyJobIds(List<AiAutoTuneMcpCall> mcpCalls) {
- List<Long> result = new ArrayList<>();
+ private Map<Long, String> collectChangeOwnerTriggerTypes(AiAutoTuneJob job, List<AiAutoTuneMcpCall> mcpCalls) {
+ LinkedHashMap<Long, String> result = new LinkedHashMap<>();
+ if (job != null && job.getId() != null) {
+ result.put(job.getId(), job.getTriggerType());
+ }
if (mcpCalls == null || mcpCalls.isEmpty()) {
return result;
}
for (AiAutoTuneMcpCall mcpCall : mcpCalls) {
Long applyJobId = mcpCall.getApplyJobId();
- if (applyJobId != null && !result.contains(applyJobId)) {
- result.add(applyJobId);
+ if (applyJobId == null || result.containsKey(applyJobId)) {
+ continue;
}
+ result.put(applyJobId, resolveMcpApplyJobTriggerType(mcpCall));
}
return result;
}
- private Map<String, Object> toChangeSummary(AiAutoTuneChange change) {
+ private String resolveMcpApplyJobTriggerType(AiAutoTuneMcpCall mcpCall) {
+ if (mcpCall == null || mcpCall.getToolName() == null) {
+ return null;
+ }
+ String toolName = mcpCall.getToolName().toLowerCase();
+ return toolName.contains("revert_last_auto_tune_job") || toolName.contains("rollback") ? "rollback" : null;
+ }
+
+ private Map<String, Object> toChangeSummary(AiAutoTuneChange change, String ownerTriggerType) {
LinkedHashMap<String, Object> item = new LinkedHashMap<>();
item.put("id", change.getId());
+ item.put("jobId", change.getJobId());
item.put("targetType", change.getTargetType());
item.put("targetId", change.getTargetId());
item.put("targetKey", change.getTargetKey());
@@ -217,6 +238,8 @@
item.put("rejectReason", change.getRejectReason());
item.put("cooldownExpireTime", change.getCooldownExpireTime());
item.put("createTime", change.getCreateTime());
+ AutoTuneWriteBehaviorUtils.addWriteBehavior(item,
+ AutoTuneWriteBehaviorUtils.resolveChangeWriteBehavior(change, ownerTriggerType));
return item;
}
}
--
Gitblit v1.9.1