Skip to content

Commit ef556f7

Browse files
committed
refactor: convert SubagentSelectedData to a record for improved data handling
1 parent 2980897 commit ef556f7

2 files changed

Lines changed: 12 additions & 38 deletions

File tree

src/main/java/com/github/copilot/sdk/events/SubagentSelectedEvent.java

Lines changed: 5 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -32,39 +32,13 @@ public void setData(SubagentSelectedData data) {
3232
}
3333

3434
@JsonIgnoreProperties(ignoreUnknown = true)
35-
public static class SubagentSelectedData {
35+
public record SubagentSelectedData(@JsonProperty("agentName") String agentName,
36+
@JsonProperty("agentDisplayName") String agentDisplayName, @JsonProperty("tools") String[] tools) {
3637

37-
@JsonProperty("agentName")
38-
private String agentName;
39-
40-
@JsonProperty("agentDisplayName")
41-
private String agentDisplayName;
42-
43-
@JsonProperty("tools")
44-
private String[] tools;
45-
46-
public String getAgentName() {
47-
return agentName;
48-
}
49-
50-
public void setAgentName(String agentName) {
51-
this.agentName = agentName;
52-
}
53-
54-
public String getAgentDisplayName() {
55-
return agentDisplayName;
56-
}
57-
58-
public void setAgentDisplayName(String agentDisplayName) {
59-
this.agentDisplayName = agentDisplayName;
60-
}
61-
62-
public String[] getTools() {
38+
/** Returns a defensive copy of the tools array. */
39+
@Override
40+
public String[] tools() {
6341
return tools == null ? null : tools.clone();
6442
}
65-
66-
public void setTools(String[] tools) {
67-
this.tools = tools;
68-
}
6943
}
7044
}

src/test/java/com/github/copilot/sdk/SessionEventParserTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1736,13 +1736,13 @@ void testSubagentSelectedEventAllFields() throws Exception {
17361736
var event = (SubagentSelectedEvent) parseJson(json);
17371737
assertNotNull(event);
17381738
var data = event.getData();
1739-
assertEquals("best-agent", data.getAgentName());
1740-
assertEquals("Best Agent", data.getAgentDisplayName());
1741-
assertNotNull(data.getTools());
1742-
assertEquals(3, data.getTools().length);
1743-
assertEquals("read", data.getTools()[0]);
1744-
assertEquals("write", data.getTools()[1]);
1745-
assertEquals("search", data.getTools()[2]);
1739+
assertEquals("best-agent", data.agentName());
1740+
assertEquals("Best Agent", data.agentDisplayName());
1741+
assertNotNull(data.tools());
1742+
assertEquals(3, data.tools().length);
1743+
assertEquals("read", data.tools()[0]);
1744+
assertEquals("write", data.tools()[1]);
1745+
assertEquals("search", data.tools()[2]);
17461746
}
17471747

17481748
// =========================================================================

0 commit comments

Comments
 (0)