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