Adds the anthropic tokenizer that delegates token counting to the
Anthropic endpoint POST /v1/messages/count_tokens. Since the endpoint
only supports counting, tokenize and detokenize operate on a plain
codepoint list instead of real model tokens.
The local anthropic test profile now uses the new tokenizer.
Uses GET /v1/models to list models and read advertised capabilities.
supportsToolCalling and extended-thinking requests honor the listed
capabilities (including tool_use/tool_calling on compatible servers).
Model listing is cached per profile; unreachable endpoints or missing
capabilities skip the checks rather than failing requests.
Adds AnthropicClient with tool use, SSE streaming, and extended
thinking behind an optional AnthropicDialect bean, plus ANTHROPIC
model provider, request-shaping unit tests, and integration tests
against an Anthropic-compatible server.
- Updated ModelProfile to include OAI_RESPONSES in the ModelProvider enum.
- Created CompletionClientTest to validate text and chat completion functionalities.
- Added ResponsesApiClientTest to test Responses API interactions, including model listing and conversation handling.
- Implemented ResponsesApiDialectTestConfiguration for managing reasoning efforts in tests.
- Updated application-test.properties to include a new profile for responses.
- Added local-responses.properties configuration for the Responses API.
- Added OpenRouterModelDiscovery class for managing model listings and metadata resolution.
- Introduced OpenRouterModelEndpointsResponse and OpenRouterModelsResponse classes for handling API responses.
- Created OpenRouterModelQuery class to encapsulate query parameters for model listing.
- Updated ModelProfile to include OPENROUTER as a model provider.
- Enhanced ModelProfileService to handle default values for maxTokens and maxContextLength.
- Added OpenRouterClientTest for testing model discovery and chat completion functionalities.
- Configured application-test.properties and local-openrouter-chatcompletion.properties for OpenRouter integration.
- Added OllamaClient to handle conversations with the Ollama API.
- Introduced OllamaDialect for managing thinking modes.
- Created data classes: OllamaFunctionCall, OllamaListedModel, OllamaMessage, OllamaShowRequest, OllamaShowResponse, OllamaTagsResponse, OllamaToolCall, OllamaToolDefinition, and OllamaToolFunction for structured API communication.
- Developed unit tests for OllamaClient to validate model listing, chat completion, streaming responses, and tool calling capabilities.
- Configured test properties for local Ollama instance.