Fix CreateMessageRule.Role to be of type Role (#264)
This commit is contained in:
parent
77871c5aac
commit
45dcfe07ca
11 changed files with 13 additions and 13 deletions
|
|
@ -926,7 +926,7 @@ public static class McpClientExtensions
|
||||||
{
|
{
|
||||||
Content = content,
|
Content = content,
|
||||||
Model = chatResponse.ModelId ?? "unknown",
|
Model = chatResponse.ModelId ?? "unknown",
|
||||||
Role = lastMessage?.Role == ChatRole.User ? "user" : "assistant",
|
Role = lastMessage?.Role == ChatRole.User ? Role.User : Role.Assistant,
|
||||||
StopReason = chatResponse.FinishReason == ChatFinishReason.Length ? "maxTokens" : "endTurn",
|
StopReason = chatResponse.FinishReason == ChatFinishReason.Length ? "maxTokens" : "endTurn",
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -50,5 +50,5 @@ public class CreateMessageResult
|
||||||
/// Gets or sets the role of the user who generated the message.
|
/// Gets or sets the role of the user who generated the message.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[JsonPropertyName("role")]
|
[JsonPropertyName("role")]
|
||||||
public required string Role { get; init; }
|
public required Role Role { get; init; }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -142,7 +142,7 @@ public static class McpServerExtensions
|
||||||
ModelPreferences = modelPreferences,
|
ModelPreferences = modelPreferences,
|
||||||
}, cancellationToken).ConfigureAwait(false);
|
}, cancellationToken).ConfigureAwait(false);
|
||||||
|
|
||||||
return new(new ChatMessage(new(result.Role), [result.Content.ToAIContent()]))
|
return new(new ChatMessage(result.Role is Role.User ? ChatRole.User : ChatRole.Assistant, [result.Content.ToAIContent()]))
|
||||||
{
|
{
|
||||||
ModelId = result.Model,
|
ModelId = result.Model,
|
||||||
FinishReason = result.StopReason switch
|
FinishReason = result.StopReason switch
|
||||||
|
|
|
||||||
|
|
@ -219,7 +219,7 @@ public class SseServerIntegrationTests : LoggedTest, IClassFixture<SseServerInte
|
||||||
return new CreateMessageResult
|
return new CreateMessageResult
|
||||||
{
|
{
|
||||||
Model = "test-model",
|
Model = "test-model",
|
||||||
Role = "assistant",
|
Role = Role.Assistant,
|
||||||
Content = new Content
|
Content = new Content
|
||||||
{
|
{
|
||||||
Type = "text",
|
Type = "text",
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ public class TestServerTransport : ITransport
|
||||||
await WriteMessageAsync(new JsonRpcResponse
|
await WriteMessageAsync(new JsonRpcResponse
|
||||||
{
|
{
|
||||||
Id = request.Id,
|
Id = request.Id,
|
||||||
Result = JsonSerializer.SerializeToNode(new CreateMessageResult { Content = new(), Model = "model", Role = "role" }),
|
Result = JsonSerializer.SerializeToNode(new CreateMessageResult { Content = new(), Model = "model", Role = Role.Assistant }),
|
||||||
}, cancellationToken);
|
}, cancellationToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ public class McpClientExtensionsTests : ClientServerTestBase
|
||||||
Assert.NotNull(result);
|
Assert.NotNull(result);
|
||||||
Assert.Equal("Hello, World!", result.Content.Text);
|
Assert.Equal("Hello, World!", result.Content.Text);
|
||||||
Assert.Equal("test-model", result.Model);
|
Assert.Equal("test-model", result.Model);
|
||||||
Assert.Equal("assistant", result.Role);
|
Assert.Equal(Role.Assistant, result.Role);
|
||||||
Assert.Equal("endTurn", result.StopReason);
|
Assert.Equal("endTurn", result.StopReason);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -139,7 +139,7 @@ public class McpClientExtensionsTests : ClientServerTestBase
|
||||||
Assert.NotNull(result);
|
Assert.NotNull(result);
|
||||||
Assert.Equal(expectedData, result.Content.Data);
|
Assert.Equal(expectedData, result.Content.Data);
|
||||||
Assert.Equal("test-model", result.Model);
|
Assert.Equal("test-model", result.Model);
|
||||||
Assert.Equal("assistant", result.Role);
|
Assert.Equal(Role.Assistant, result.Role);
|
||||||
Assert.Equal("endTurn", result.StopReason);
|
Assert.Equal("endTurn", result.StopReason);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -201,7 +201,7 @@ public class McpClientExtensionsTests : ClientServerTestBase
|
||||||
// Assert
|
// Assert
|
||||||
Assert.NotNull(result);
|
Assert.NotNull(result);
|
||||||
Assert.Equal("test-model", result.Model);
|
Assert.Equal("test-model", result.Model);
|
||||||
Assert.Equal(ChatRole.Assistant.ToString(), result.Role);
|
Assert.Equal(Role.Assistant, result.Role);
|
||||||
Assert.Equal("endTurn", result.StopReason);
|
Assert.Equal("endTurn", result.StopReason);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ public class McpClientFactoryTests
|
||||||
new CreateMessageResult {
|
new CreateMessageResult {
|
||||||
Content = new Content { Text = "result" },
|
Content = new Content { Text = "result" },
|
||||||
Model = "test-model",
|
Model = "test-model",
|
||||||
Role = "test-role",
|
Role = Role.User,
|
||||||
StopReason = "endTurn"
|
StopReason = "endTurn"
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -374,7 +374,7 @@ public class ClientIntegrationTests : LoggedTest, IClassFixture<ClientIntegratio
|
||||||
return Task.FromResult(new CreateMessageResult
|
return Task.FromResult(new CreateMessageResult
|
||||||
{
|
{
|
||||||
Model = "test-model",
|
Model = "test-model",
|
||||||
Role = "assistant",
|
Role = Role.Assistant,
|
||||||
Content = new Content
|
Content = new Content
|
||||||
{
|
{
|
||||||
Type = "text",
|
Type = "text",
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@ public class DockerEverythingServerTests(ITestOutputHelper testOutputHelper) : L
|
||||||
return Task.FromResult(new CreateMessageResult
|
return Task.FromResult(new CreateMessageResult
|
||||||
{
|
{
|
||||||
Model = "test-model",
|
Model = "test-model",
|
||||||
Role = "assistant",
|
Role = Role.Assistant,
|
||||||
Content = new Content
|
Content = new Content
|
||||||
{
|
{
|
||||||
Type = "text",
|
Type = "text",
|
||||||
|
|
|
||||||
|
|
@ -601,7 +601,7 @@ public class McpServerTests : LoggedTest
|
||||||
{
|
{
|
||||||
Content = new() { Text = "The Eiffel Tower.", Type = "text" },
|
Content = new() { Text = "The Eiffel Tower.", Type = "text" },
|
||||||
Model = "amazingmodel",
|
Model = "amazingmodel",
|
||||||
Role = "assistant",
|
Role = Role.Assistant,
|
||||||
StopReason = "endTurn",
|
StopReason = "endTurn",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ public class TestServerTransport : ITransport
|
||||||
await WriteMessageAsync(new JsonRpcResponse
|
await WriteMessageAsync(new JsonRpcResponse
|
||||||
{
|
{
|
||||||
Id = request.Id,
|
Id = request.Id,
|
||||||
Result = JsonSerializer.SerializeToNode(new CreateMessageResult { Content = new(), Model = "model", Role = "role" }),
|
Result = JsonSerializer.SerializeToNode(new CreateMessageResult { Content = new(), Model = "model", Role = Role.User }),
|
||||||
}, cancellationToken);
|
}, cancellationToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue