diff --git a/src/AnthropicClient/AnthropicApiClient.cs b/src/AnthropicClient/AnthropicApiClient.cs index faa1353..48ea518 100644 --- a/src/AnthropicClient/AnthropicApiClient.cs +++ b/src/AnthropicClient/AnthropicApiClient.cs @@ -263,6 +263,24 @@ public class AnthropicApiClient : IAnthropicApiClient } while (true); } + /// + public async Task> CountMessageTokensAsync(CountMessageTokensRequest request) + { + var response = await SendRequestAsync(CountTokensEndpoint, request); + var anthropicHeaders = new AnthropicHeaders(response.Headers); + var responseContent = await response.Content.ReadAsStringAsync(); + + if (response.IsSuccessStatusCode is false) + { + var error = Deserialize(responseContent) ?? new AnthropicError(); + return AnthropicResult.Failure(error, anthropicHeaders); + } + + var msgResponse = Deserialize(responseContent) ?? new TokenCountResponse(); + + return AnthropicResult.Success(msgResponse, anthropicHeaders); + } + private ToolCall? GetToolCall(MessageResponse response, List tools) { var toolUse = response.Content.OfType().FirstOrDefault(); @@ -282,24 +300,6 @@ public class AnthropicApiClient : IAnthropicApiClient return new ToolCall(tool, toolUse); } - /// - public async Task> CountMessageTokensAsync(CountMessageTokensRequest request) - { - var response = await SendRequestAsync(CountTokensEndpoint, request); - var anthropicHeaders = new AnthropicHeaders(response.Headers); - var responseContent = await response.Content.ReadAsStringAsync(); - - if (response.IsSuccessStatusCode is false) - { - var error = Deserialize(responseContent) ?? new AnthropicError(); - return AnthropicResult.Failure(error, anthropicHeaders); - } - - var msgResponse = Deserialize(responseContent) ?? new TokenCountResponse(); - - return AnthropicResult.Success(msgResponse, anthropicHeaders); - } - private async Task SendRequestAsync(string endpoint, T request) { var requestJson = Serialize(request);