parent
36a70a03f8
commit
5cc7c00456
1 changed files with 480 additions and 22 deletions
|
|
@ -39,9 +39,11 @@ public class TestServerTransport : ITransport
|
|||
if (message is JsonRpcRequest request)
|
||||
{
|
||||
if (request.Method == RequestMethods.RootsList)
|
||||
await ListRoots(request, cancellationToken);
|
||||
await ListRootsAsync(request, cancellationToken);
|
||||
else if (request.Method == RequestMethods.SamplingCreateMessage)
|
||||
await Sampling(request, cancellationToken);
|
||||
await SamplingAsync(request, cancellationToken);
|
||||
else if (request.Method == RequestMethods.ElicitationCreate)
|
||||
await ElicitAsync(request, cancellationToken);
|
||||
else
|
||||
await WriteMessageAsync(request, cancellationToken);
|
||||
}
|
||||
|
|
@ -53,7 +55,7 @@ public class TestServerTransport : ITransport
|
|||
OnMessageSent?.Invoke(message);
|
||||
}
|
||||
|
||||
private async Task ListRoots(JsonRpcRequest request, CancellationToken cancellationToken)
|
||||
private async Task ListRootsAsync(JsonRpcRequest request, CancellationToken cancellationToken)
|
||||
{
|
||||
await WriteMessageAsync(new JsonRpcResponse
|
||||
{
|
||||
|
|
@ -65,7 +67,7 @@ public class TestServerTransport : ITransport
|
|||
}, cancellationToken);
|
||||
}
|
||||
|
||||
private async Task Sampling(JsonRpcRequest request, CancellationToken cancellationToken)
|
||||
private async Task SamplingAsync(JsonRpcRequest request, CancellationToken cancellationToken)
|
||||
{
|
||||
await WriteMessageAsync(new JsonRpcResponse
|
||||
{
|
||||
|
|
@ -74,6 +76,15 @@ public class TestServerTransport : ITransport
|
|||
}, cancellationToken);
|
||||
}
|
||||
|
||||
private async Task ElicitAsync(JsonRpcRequest request, CancellationToken cancellationToken)
|
||||
{
|
||||
await WriteMessageAsync(new JsonRpcResponse
|
||||
{
|
||||
Id = request.Id,
|
||||
Result = JsonSerializer.SerializeToNode(new ElicitResult { Action = "decline" }, McpJsonUtilities.DefaultOptions),
|
||||
}, cancellationToken);
|
||||
}
|
||||
|
||||
private async Task WriteMessageAsync(JsonRpcMessage message, CancellationToken cancellationToken = default)
|
||||
{
|
||||
await _messageChannel.Writer.WriteAsync(message, cancellationToken);
|
||||
|
|
|
|||
Loading…
Reference in a new issue