Update content according to latest spec (#513)
* Update content according to latest spec * Add Title to a bunch of types * Add _meta to lots of types * Address feedback, more cleanup, fix NAOT test failure
This commit is contained in:
parent
28d65470f4
commit
2bcff315f8
1 changed files with 1700 additions and 853 deletions
|
|
@ -218,9 +218,9 @@ public class StreamableHttpServerConformanceTests(ITestOutputHelper outputHelper
|
|||
var response = await HttpClient.PostAsync("", JsonContent(CallTool("throw")), TestContext.Current.CancellationToken);
|
||||
var rpcError = await AssertSingleSseResponseAsync(response);
|
||||
|
||||
var error = AssertType<CallToolResponse>(rpcError.Result);
|
||||
var error = AssertType<CallToolResult>(rpcError.Result);
|
||||
var content = Assert.Single(error.Content);
|
||||
Assert.Contains("'throw'", content.Text);
|
||||
Assert.Contains("'throw'", Assert.IsType<TextContentBlock>(content).Text);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -371,16 +371,15 @@ public class StreamableHttpServerConformanceTests(ITestOutputHelper outputHelper
|
|||
if (currentSseItem <= 10)
|
||||
{
|
||||
var notification = JsonSerializer.Deserialize(sseEvent, GetJsonTypeInfo<JsonRpcNotification>());
|
||||
var progressNotification = AssertType<ProgressNotification>(notification?.Params);
|
||||
var progressNotification = AssertType<ProgressNotificationParams>(notification?.Params);
|
||||
Assert.Equal($"Progress {currentSseItem - 1}", progressNotification.Progress.Message);
|
||||
}
|
||||
else
|
||||
{
|
||||
var rpcResponse = JsonSerializer.Deserialize(sseEvent, GetJsonTypeInfo<JsonRpcResponse>());
|
||||
var callToolResponse = AssertType<CallToolResponse>(rpcResponse?.Result);
|
||||
var callToolResponse = AssertType<CallToolResult>(rpcResponse?.Result);
|
||||
var callToolContent = Assert.Single(callToolResponse.Content);
|
||||
Assert.Equal("text", callToolContent.Type);
|
||||
Assert.Equal("done", callToolContent.Text);
|
||||
Assert.Equal("done", Assert.IsType<TextContentBlock>(callToolContent).Text);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -413,10 +412,9 @@ public class StreamableHttpServerConformanceTests(ITestOutputHelper outputHelper
|
|||
{
|
||||
var response = await HttpClient.PostAsync("", JsonContent(CallTool("async-local-session")), TestContext.Current.CancellationToken);
|
||||
var rpcResponse = await AssertSingleSseResponseAsync(response);
|
||||
var callToolResponse = AssertType<CallToolResponse>(rpcResponse.Result);
|
||||
var callToolResponse = AssertType<CallToolResult>(rpcResponse.Result);
|
||||
var callToolContent = Assert.Single(callToolResponse.Content);
|
||||
Assert.Equal("text", callToolContent.Type);
|
||||
Assert.Equal($"RunSessionHandler ({expectedSessionIndex})", callToolContent.Text);
|
||||
Assert.Equal($"RunSessionHandler ({expectedSessionIndex})", Assert.IsType<TextContentBlock>(callToolContent).Text);
|
||||
}
|
||||
|
||||
await CallAsyncLocalToolAndValidateAsync(expectedSessionIndex: 0);
|
||||
|
|
@ -527,7 +525,7 @@ public class StreamableHttpServerConformanceTests(ITestOutputHelper outputHelper
|
|||
|
||||
private static T AssertType<T>(JsonNode? jsonNode)
|
||||
{
|
||||
var type = JsonSerializer.Deserialize<T>(jsonNode, GetJsonTypeInfo<T>());
|
||||
var type = JsonSerializer.Deserialize(jsonNode, GetJsonTypeInfo<T>());
|
||||
Assert.NotNull(type);
|
||||
return type;
|
||||
}
|
||||
|
|
@ -603,12 +601,11 @@ public class StreamableHttpServerConformanceTests(ITestOutputHelper outputHelper
|
|||
return initializeResult;
|
||||
}
|
||||
|
||||
private static CallToolResponse AssertEchoResponse(JsonRpcResponse rpcResponse)
|
||||
private static CallToolResult AssertEchoResponse(JsonRpcResponse rpcResponse)
|
||||
{
|
||||
var callToolResponse = AssertType<CallToolResponse>(rpcResponse.Result);
|
||||
var callToolResponse = AssertType<CallToolResult>(rpcResponse.Result);
|
||||
var callToolContent = Assert.Single(callToolResponse.Content);
|
||||
Assert.Equal("text", callToolContent.Type);
|
||||
Assert.Equal($"Hello world! ({rpcResponse.Id})", callToolContent.Text);
|
||||
Assert.Equal($"Hello world! ({rpcResponse.Id})", Assert.IsType<TextContentBlock>(callToolContent).Text);
|
||||
return callToolResponse;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue