Skip to content

Commit 1f6f359

Browse files
committed
Address comments
Signed-off-by: zane-neo <[email protected]>
1 parent 3366c8e commit 1f6f359

32 files changed

+216
-188
lines changed

common/src/main/java/org/opensearch/ml/common/transport/mcpserver/requests/BaseMcpTool.java renamed to common/src/main/java/org/opensearch/ml/common/transport/mcpserver/requests/McpToolBaseInput.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
*/
2828
@Log4j2
2929
@Data
30-
public class BaseMcpTool implements ToXContentObject, Writeable {
30+
public class McpToolBaseInput implements ToXContentObject, Writeable {
3131
public static final String TOOL = "tool";
3232
public static final String TYPE_FIELD = "type";
3333
public static final String NAME_FIELD = "name";
@@ -42,10 +42,8 @@ public class BaseMcpTool implements ToXContentObject, Writeable {
4242
private Map<String, Object> attributes;
4343
private Instant createdTime;
4444
private Instant lastUpdatedTime;
45-
public static final String TYPE_NOT_SHOWN_EXCEPTION_MESSAGE = "type field required";
46-
public static final String NAME_NOT_SHOWN_EXCEPTION_MESSAGE = "name field required";
4745

48-
public BaseMcpTool(StreamInput streamInput) throws IOException {
46+
public McpToolBaseInput(StreamInput streamInput) throws IOException {
4947
type = streamInput.readString();
5048
name = streamInput.readOptionalString();
5149
description = streamInput.readOptionalString();
@@ -60,7 +58,7 @@ public BaseMcpTool(StreamInput streamInput) throws IOException {
6058
version = streamInput.readOptionalLong();
6159
}
6260

63-
public BaseMcpTool(
61+
public McpToolBaseInput(
6462
String name,
6563
String type,
6664
String description,

common/src/main/java/org/opensearch/ml/common/transport/mcpserver/requests/register/MLMcpToolsRegisterNodeRequest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@
2424

2525
@Data
2626
public class MLMcpToolsRegisterNodeRequest extends ActionRequest {
27-
private List<RegisterMcpTool> mcpTools;
27+
private List<McpToolRegisterInput> mcpTools;
2828

2929
public MLMcpToolsRegisterNodeRequest(StreamInput in) throws IOException {
3030
super(in);
31-
this.mcpTools = in.readList(RegisterMcpTool::new);
31+
this.mcpTools = in.readList(McpToolRegisterInput::new);
3232
}
3333

3434
@Override
@@ -37,7 +37,7 @@ public ActionRequestValidationException validate() {
3737
}
3838

3939
@Builder
40-
public MLMcpToolsRegisterNodeRequest(List<RegisterMcpTool> mcpTools) {
40+
public MLMcpToolsRegisterNodeRequest(List<McpToolRegisterInput> mcpTools) {
4141
this.mcpTools = mcpTools;
4242
}
4343

common/src/main/java/org/opensearch/ml/common/transport/mcpserver/requests/register/MLMcpToolsRegisterNodesRequest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@
3333
@Data
3434
@EqualsAndHashCode(callSuper = false)
3535
public class MLMcpToolsRegisterNodesRequest extends BaseNodesRequest<MLMcpToolsRegisterNodesRequest> {
36-
private List<RegisterMcpTool> mcpTools;
36+
private List<McpToolRegisterInput> mcpTools;
3737

3838
public MLMcpToolsRegisterNodesRequest(StreamInput in) throws IOException {
3939
super(in);
40-
this.mcpTools = in.readList(RegisterMcpTool::new);
40+
this.mcpTools = in.readList(McpToolRegisterInput::new);
4141
}
4242

43-
public MLMcpToolsRegisterNodesRequest(String[] nodeIds, List<RegisterMcpTool> mcpTools) {
43+
public MLMcpToolsRegisterNodesRequest(String[] nodeIds, List<McpToolRegisterInput> mcpTools) {
4444
super(nodeIds);
4545
this.mcpTools = mcpTools;
4646
}
@@ -51,7 +51,7 @@ public void writeTo(StreamOutput out) throws IOException {
5151
}
5252

5353
public static MLMcpToolsRegisterNodesRequest parse(XContentParser parser, String[] allNodeIds) throws IOException {
54-
List<RegisterMcpTool> mcpTools = null;
54+
List<McpToolRegisterInput> mcpTools = null;
5555
ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser);
5656
while (parser.nextToken() != XContentParser.Token.END_OBJECT) {
5757
String fieldName = parser.currentName();
@@ -61,7 +61,7 @@ public static MLMcpToolsRegisterNodesRequest parse(XContentParser parser, String
6161
mcpTools = new ArrayList<>();
6262
ensureExpectedToken(XContentParser.Token.START_ARRAY, parser.currentToken(), parser);
6363
while (parser.nextToken() != XContentParser.Token.END_ARRAY) {
64-
mcpTools.add(RegisterMcpTool.parse(parser));
64+
mcpTools.add(McpToolRegisterInput.parse(parser));
6565
}
6666
} else {
6767
parser.skipChildren();

common/src/main/java/org/opensearch/ml/common/transport/mcpserver/requests/register/RegisterMcpTool.java renamed to common/src/main/java/org/opensearch/ml/common/transport/mcpserver/requests/register/McpToolRegisterInput.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import org.opensearch.core.common.io.stream.StreamInput;
1717
import org.opensearch.core.xcontent.XContentParser;
1818
import org.opensearch.ml.common.CommonValue;
19-
import org.opensearch.ml.common.transport.mcpserver.requests.BaseMcpTool;
19+
import org.opensearch.ml.common.transport.mcpserver.requests.McpToolBaseInput;
2020

2121
import lombok.extern.log4j.Log4j2;
2222

@@ -25,15 +25,17 @@
2525
* description, parameters, and schema.
2626
*/
2727
@Log4j2
28-
public class RegisterMcpTool extends BaseMcpTool {
29-
public RegisterMcpTool(StreamInput streamInput) throws IOException {
28+
public class McpToolRegisterInput extends McpToolBaseInput {
29+
public static final String TYPE_NOT_SHOWN_EXCEPTION_MESSAGE = "type field required";
30+
31+
public McpToolRegisterInput(StreamInput streamInput) throws IOException {
3032
super(streamInput);
3133
if (super.getType() == null) {
3234
throw new IllegalArgumentException(TYPE_NOT_SHOWN_EXCEPTION_MESSAGE);
3335
}
3436
}
3537

36-
public RegisterMcpTool(
38+
public McpToolRegisterInput(
3739
String name,
3840
String type,
3941
String description,
@@ -46,9 +48,10 @@ public RegisterMcpTool(
4648
if (type == null) {
4749
throw new IllegalArgumentException(TYPE_NOT_SHOWN_EXCEPTION_MESSAGE);
4850
}
51+
4952
}
5053

51-
public static RegisterMcpTool parse(XContentParser parser) throws IOException {
54+
public static McpToolRegisterInput parse(XContentParser parser) throws IOException {
5255
String type = null;
5356
String name = null;
5457
String description = null;
@@ -88,6 +91,6 @@ public static RegisterMcpTool parse(XContentParser parser) throws IOException {
8891
break;
8992
}
9093
}
91-
return new RegisterMcpTool(name, type, description, params, attributes, createdTime, lastUpdateTime);
94+
return new McpToolRegisterInput(name, type, description, params, attributes, createdTime, lastUpdateTime);
9295
}
9396
}

common/src/main/java/org/opensearch/ml/common/transport/mcpserver/requests/update/MLMcpToolsUpdateNodeRequest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@
2424

2525
@Data
2626
public class MLMcpToolsUpdateNodeRequest extends ActionRequest {
27-
private List<UpdateMcpTool> mcpTools;
27+
private List<McpToolUpdateInput> mcpTools;
2828

2929
public MLMcpToolsUpdateNodeRequest(StreamInput in) throws IOException {
3030
super(in);
31-
this.mcpTools = in.readList(UpdateMcpTool::new);
31+
this.mcpTools = in.readList(McpToolUpdateInput::new);
3232
}
3333

3434
@Override
@@ -37,7 +37,7 @@ public ActionRequestValidationException validate() {
3737
}
3838

3939
@Builder
40-
public MLMcpToolsUpdateNodeRequest(List<UpdateMcpTool> mcpTools) {
40+
public MLMcpToolsUpdateNodeRequest(List<McpToolUpdateInput> mcpTools) {
4141
this.mcpTools = mcpTools;
4242
}
4343

common/src/main/java/org/opensearch/ml/common/transport/mcpserver/requests/update/MLMcpToolsUpdateNodesRequest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@
3333
@Data
3434
@EqualsAndHashCode(callSuper = false)
3535
public class MLMcpToolsUpdateNodesRequest extends BaseNodesRequest<MLMcpToolsUpdateNodesRequest> {
36-
private List<UpdateMcpTool> mcpTools;
36+
private List<McpToolUpdateInput> mcpTools;
3737

3838
public MLMcpToolsUpdateNodesRequest(StreamInput in) throws IOException {
3939
super(in);
40-
this.mcpTools = in.readList(UpdateMcpTool::new);
40+
this.mcpTools = in.readList(McpToolUpdateInput::new);
4141
}
4242

43-
public MLMcpToolsUpdateNodesRequest(String[] nodeIds, List<UpdateMcpTool> mcpTools) {
43+
public MLMcpToolsUpdateNodesRequest(String[] nodeIds, List<McpToolUpdateInput> mcpTools) {
4444
super(nodeIds);
4545
this.mcpTools = mcpTools;
4646
}
@@ -51,7 +51,7 @@ public void writeTo(StreamOutput out) throws IOException {
5151
}
5252

5353
public static MLMcpToolsUpdateNodesRequest parse(XContentParser parser, String[] allNodeIds) throws IOException {
54-
List<UpdateMcpTool> mcpTools = null;
54+
List<McpToolUpdateInput> mcpTools = null;
5555
ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser);
5656
while (parser.nextToken() != XContentParser.Token.END_OBJECT) {
5757
String fieldName = parser.currentName();
@@ -61,7 +61,7 @@ public static MLMcpToolsUpdateNodesRequest parse(XContentParser parser, String[]
6161
mcpTools = new ArrayList<>();
6262
ensureExpectedToken(XContentParser.Token.START_ARRAY, parser.currentToken(), parser);
6363
while (parser.nextToken() != XContentParser.Token.END_ARRAY) {
64-
mcpTools.add(UpdateMcpTool.parse(parser));
64+
mcpTools.add(McpToolUpdateInput.parse(parser));
6565
}
6666
} else {
6767
parser.skipChildren();

common/src/main/java/org/opensearch/ml/common/transport/mcpserver/requests/update/UpdateMcpTool.java renamed to common/src/main/java/org/opensearch/ml/common/transport/mcpserver/requests/update/McpToolUpdateInput.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,19 @@
99
import org.opensearch.core.common.io.stream.StreamInput;
1010
import org.opensearch.core.xcontent.XContentParser;
1111
import org.opensearch.ml.common.CommonValue;
12-
import org.opensearch.ml.common.transport.mcpserver.requests.BaseMcpTool;
12+
import org.opensearch.ml.common.transport.mcpserver.requests.McpToolBaseInput;
1313

14-
public class UpdateMcpTool extends BaseMcpTool {
15-
public UpdateMcpTool(StreamInput streamInput) throws IOException {
14+
public class McpToolUpdateInput extends McpToolBaseInput {
15+
public static final String NAME_NOT_SHOWN_EXCEPTION_MESSAGE = "name field required";
16+
17+
public McpToolUpdateInput(StreamInput streamInput) throws IOException {
1618
super(streamInput);
1719
if (super.getName() == null) {
1820
throw new IllegalArgumentException(NAME_NOT_SHOWN_EXCEPTION_MESSAGE);
1921
}
2022
}
2123

22-
public UpdateMcpTool(
24+
public McpToolUpdateInput(
2325
String name,
2426
String description,
2527
Map<String, Object> parameters,
@@ -33,7 +35,7 @@ public UpdateMcpTool(
3335
}
3436
}
3537

36-
public static UpdateMcpTool parse(XContentParser parser) throws IOException {
38+
public static McpToolUpdateInput parse(XContentParser parser) throws IOException {
3739
String name = null;
3840
String description = null;
3941
Map<String, Object> params = null;
@@ -69,6 +71,6 @@ public static UpdateMcpTool parse(XContentParser parser) throws IOException {
6971
break;
7072
}
7173
}
72-
return new UpdateMcpTool(name, description, params, attributes, createdTime, lastUpdateTime);
74+
return new McpToolUpdateInput(name, description, params, attributes, createdTime, lastUpdateTime);
7375
}
7476
}

common/src/main/java/org/opensearch/ml/common/transport/mcpserver/responses/list/MLMcpToolsListResponse.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,28 @@
99
import org.opensearch.core.xcontent.ToXContentObject;
1010
import org.opensearch.core.xcontent.XContentBuilder;
1111
import org.opensearch.ml.common.agent.MLAgent;
12-
import org.opensearch.ml.common.transport.mcpserver.requests.register.RegisterMcpTool;
12+
import org.opensearch.ml.common.transport.mcpserver.requests.register.McpToolRegisterInput;
1313

1414
import lombok.Getter;
1515

1616
@Getter
1717
public class MLMcpToolsListResponse extends ActionResponse implements ToXContentObject {
18-
private final List<RegisterMcpTool> mcpTools;
18+
private final List<McpToolRegisterInput> mcpTools;
1919

2020
public MLMcpToolsListResponse(StreamInput input) throws IOException {
2121
super(input);
22-
mcpTools = input.readList(RegisterMcpTool::new);
22+
mcpTools = input.readList(McpToolRegisterInput::new);
2323
}
2424

25-
public MLMcpToolsListResponse(List<RegisterMcpTool> mcpTools) {
25+
public MLMcpToolsListResponse(List<McpToolRegisterInput> mcpTools) {
2626
this.mcpTools = mcpTools;
2727
}
2828

2929
@Override
3030
public XContentBuilder toXContent(XContentBuilder xContentBuilder, Params params) throws IOException {
3131
xContentBuilder.startObject();
3232
xContentBuilder.startArray(MLAgent.TOOLS_FIELD);
33-
for (RegisterMcpTool tool : mcpTools) {
33+
for (McpToolRegisterInput tool : mcpTools) {
3434
tool.toXContent(xContentBuilder, params);
3535
}
3636
xContentBuilder.endArray();

common/src/test/java/org/opensearch/ml/common/transport/mcpserver/requests/register/MLMcpToolsRegisterNodeRequestTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@
2626

2727
public class MLMcpToolsRegisterNodeRequestTest {
2828

29-
private List<RegisterMcpTool> sampleTools;
29+
private List<McpToolRegisterInput> sampleTools;
3030

3131
@Before
3232
public void setUp() {
3333
sampleTools = Collections
3434
.singletonList(
35-
new RegisterMcpTool(
35+
new McpToolRegisterInput(
3636
"test_tool",
3737
"test_tool",
3838
"Sample tool",
@@ -101,7 +101,7 @@ public void testValidateMethod() {
101101

102102
@Test
103103
public void testEmptyToolsHandling() throws IOException {
104-
List<RegisterMcpTool> emptyTools = Collections.emptyList();
104+
List<McpToolRegisterInput> emptyTools = Collections.emptyList();
105105
MLMcpToolsRegisterNodeRequest request = new MLMcpToolsRegisterNodeRequest(emptyTools);
106106

107107
BytesStreamOutput output = new BytesStreamOutput();

common/src/test/java/org/opensearch/ml/common/transport/mcpserver/requests/register/MLMcpToolsRegisterNodesRequestTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@
3232

3333
public class MLMcpToolsRegisterNodesRequestTest {
3434

35-
private List<RegisterMcpTool> sampleTools;
35+
private List<McpToolRegisterInput> sampleTools;
3636
private final String[] nodeIds = { "node1", "node2" };
3737

3838
@Before
3939
public void setup() {
4040
sampleTools = List
4141
.of(
42-
new RegisterMcpTool(
42+
new McpToolRegisterInput(
4343
null,
4444
"metric_analyzer",
4545
"System monitoring tool",

common/src/test/java/org/opensearch/ml/common/transport/mcpserver/requests/register/RegisterMcpToolTest.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,15 @@ public class RegisterMcpToolTest {
3939
@Rule
4040
public ExpectedException exceptionRule = ExpectedException.none();
4141

42-
private RegisterMcpTool mcptool;
42+
private McpToolRegisterInput mcptool;
4343
private final String toolName = "weather_tool";
4444
private final String description = "Fetch weather data";
4545
private final Map<String, Object> params = Collections.singletonMap("unit", "celsius");
4646
private final Map<String, Object> attributes = Collections.singletonMap("type", "object");
4747

4848
@Before
4949
public void setUp() {
50-
mcptool = new RegisterMcpTool(toolName, toolName, description, params, attributes, Instant.now(), Instant.now());
50+
mcptool = new McpToolRegisterInput(toolName, toolName, description, params, attributes, Instant.now(), Instant.now());
5151
}
5252

5353
@Test
@@ -80,7 +80,7 @@ public void testParse_AllFields() throws Exception {
8080
);
8181
parser.nextToken();
8282

83-
RegisterMcpTool parsed = RegisterMcpTool.parse(parser);
83+
McpToolRegisterInput parsed = McpToolRegisterInput.parse(parser);
8484
assertEquals("stock_tool", parsed.getType());
8585
assertEquals("Stock data tool", parsed.getDescription());
8686
assertEquals(Collections.singletonMap("exchange", "NYSE"), parsed.getParameters());
@@ -101,7 +101,7 @@ public void testParse_MissingTypeField() throws Exception {
101101

102102
exceptionRule.expect(IllegalArgumentException.class);
103103
exceptionRule.expectMessage("type field required");
104-
RegisterMcpTool.parse(parser);
104+
McpToolRegisterInput.parse(parser);
105105
}
106106

107107
@Test
@@ -118,7 +118,7 @@ public void testToXContent_AllFields() throws Exception {
118118

119119
@Test
120120
public void testToXContent_MinimalFields() throws Exception {
121-
RegisterMcpTool minimalTool = new RegisterMcpTool(null, "minimal_tool", null, null, null, null, null);
121+
McpToolRegisterInput minimalTool = new McpToolRegisterInput(null, "minimal_tool", null, null, null, null, null);
122122
XContentBuilder builder = MediaTypeRegistry.contentBuilder(XContentType.JSON);
123123
minimalTool.toXContent(builder, ToXContent.EMPTY_PARAMS);
124124
String jsonStr = builder.toString();
@@ -135,7 +135,7 @@ public void testStreamInputOutput_Success() throws IOException {
135135
mcptool.writeTo(output);
136136

137137
StreamInput input = output.bytes().streamInput();
138-
RegisterMcpTool parsed = new RegisterMcpTool(input);
138+
McpToolRegisterInput parsed = new McpToolRegisterInput(input);
139139

140140
assertEquals(toolName, parsed.getType());
141141
assertEquals(description, parsed.getDescription());
@@ -145,12 +145,12 @@ public void testStreamInputOutput_Success() throws IOException {
145145

146146
@Test
147147
public void testStreamInputOutput_WithNullFields() throws IOException {
148-
RegisterMcpTool toolWithNulls = new RegisterMcpTool(null, "null_tool", null, null, null, null, null);
148+
McpToolRegisterInput toolWithNulls = new McpToolRegisterInput(null, "null_tool", null, null, null, null, null);
149149
BytesStreamOutput output = new BytesStreamOutput();
150150
toolWithNulls.writeTo(output);
151151

152152
StreamInput input = output.bytes().streamInput();
153-
RegisterMcpTool parsed = new RegisterMcpTool(input);
153+
McpToolRegisterInput parsed = new McpToolRegisterInput(input);
154154

155155
assertEquals("null_tool", parsed.getType());
156156
assertNull(parsed.getDescription());
@@ -167,11 +167,11 @@ public void testComplexParameters() throws Exception {
167167
complexSchema.put("type", "object");
168168
complexSchema.put("properties", Collections.singletonMap("location", Collections.singletonMap("type", "string")));
169169

170-
RegisterMcpTool complexTool = new RegisterMcpTool(null, "complex_tool", null, complexParams, complexSchema, null, null);
170+
McpToolRegisterInput complexTool = new McpToolRegisterInput(null, "complex_tool", null, complexParams, complexSchema, null, null);
171171

172172
BytesStreamOutput output = new BytesStreamOutput();
173173
complexTool.writeTo(output);
174-
RegisterMcpTool parsed = new RegisterMcpTool(output.bytes().streamInput());
174+
McpToolRegisterInput parsed = new McpToolRegisterInput(output.bytes().streamInput());
175175

176176
assertEquals(complexParams, parsed.getParameters());
177177
assertEquals(complexSchema, parsed.getAttributes());

0 commit comments

Comments
 (0)