refs #737: move game query planning into ADB MCP tool

This commit is contained in:
devmrko
2026-07-27 16:39:58 +09:00
parent 8dffa2f515
commit 00a939f9a1
6 changed files with 263 additions and 288 deletions

View File

@@ -262,7 +262,7 @@ class McpSseServiceTest {
.contains("\"status\" : \"PARTIAL\"")
.contains("\"gameKey\" : \"SUPPORTED_GAME\"")
.contains("\"mention\" : \"Unknown game\"")
.contains("\"reasonCode\" : \"NO_CATALOG_IDENTITY_MATCH\"");
.contains("\"reasonCode\" : \"LLM_NO_CANDIDATE_MATCH\"");
}
private ObjectNode request(int id, String method) {
@@ -370,41 +370,24 @@ class McpSseServiceTest {
}
@Override
public Resolution resolve(String token, String question, int topK) {
GameCandidate supported = new GameCandidate(
"SUPPORTED_GAME",
"SUPPORTED_GAME_ID",
"SUPPORTED_PREFIX",
"Supported game",
"Supported",
0.1
);
GameCandidate nearestUnknownCandidate = new GameCandidate(
"OTHER_GAME",
"OTHER_GAME_ID",
"OTHER_PREFIX",
"Other game",
"Other",
0.6
);
return new Resolution(
"MULTI_GAME",
java.util.List.of(supported),
java.util.List.of(
new MentionResolution(
"Supported game",
"MATCHED",
supported,
java.util.List.of(supported)
),
new MentionResolution(
"Unknown game",
"UNMATCHED",
null,
java.util.List.of(nearestUnknownCandidate)
)
)
);
public ObjectNode queryPlan(String token, String question, int topK) {
ObjectNode plan = new ObjectMapper().createObjectNode();
plan.put("scopeType", "MULTI_GAME");
plan.put("status", "PARTIAL");
plan.putArray("matchedGames")
.addObject()
.put("gameKey", "SUPPORTED_GAME");
plan.putArray("mentionResults");
plan.putArray("supportedGames")
.addObject()
.put("gameKey", "SUPPORTED_GAME");
plan.putArray("unmatchedGames")
.addObject()
.put("mention", "Unknown game")
.put("reasonCode", "LLM_NO_CANDIDATE_MATCH");
plan.put("nextAction", "CALL_FEWSHOT_PER_GAME");
plan.put("executionMode", "FAN_OUT");
return plan;
}
}
}