diff --git a/src/AnthropicClient/AnthropicApiClient.cs b/src/AnthropicClient/AnthropicApiClient.cs index 48ea518..9a92093 100644 --- a/src/AnthropicClient/AnthropicApiClient.cs +++ b/src/AnthropicClient/AnthropicApiClient.cs @@ -33,6 +33,21 @@ public interface IAnthropicApiClient /// The count message tokens request. /// A task that represents the asynchronous operation. The task result contains the response as an where T is . Task> CountMessageTokensAsync(CountMessageTokensRequest request); + + /// + /// Lists the models asynchronously. + /// + /// The paging request to use for listing the models. + /// A task that represents the asynchronous operation. The task result contains the response as an where T is where T is . + Task>> ListModelsAsync(PagingRequest request); + + /// + /// Lists the models asynchronously. + /// + /// The maximum number of models to return in each page. + /// An asynchronous enumerable that yields the response as an where T is where T is . + /// + IAsyncEnumerable>> ListModelsAsync(int limit = 20); } /// @@ -76,7 +91,7 @@ public class AnthropicApiClient : IAnthropicApiClient } } - /// + /// public async Task> CreateMessageAsync(MessageRequest request) { var response = await SendRequestAsync(MessagesEndpoint, request); @@ -99,7 +114,7 @@ public class AnthropicApiClient : IAnthropicApiClient return AnthropicResult.Success(msgResponse, anthropicHeaders); } - /// + /// public async IAsyncEnumerable CreateMessageAsync(StreamMessageRequest request) { var response = await SendRequestAsync(MessagesEndpoint, request); @@ -263,7 +278,7 @@ public class AnthropicApiClient : IAnthropicApiClient } while (true); } - /// + /// public async Task> CountMessageTokensAsync(CountMessageTokensRequest request) { var response = await SendRequestAsync(CountTokensEndpoint, request); @@ -309,4 +324,16 @@ public class AnthropicApiClient : IAnthropicApiClient private string Serialize(T obj) => JsonSerializer.Serialize(obj, JsonSerializationOptions.DefaultOptions); private T? Deserialize(string json) => JsonSerializer.Deserialize(json, JsonSerializationOptions.DefaultOptions); + + /// + public Task>> ListModelsAsync(PagingRequest request) + { + throw new NotImplementedException(); + } + + /// + public IAsyncEnumerable>> ListModelsAsync(int limit = 20) + { + throw new NotImplementedException(); + } } \ No newline at end of file