35 std::string base_url{
"https://api.openai.com/v1"};
61 std::string base_url{
"https://api.anthropic.com"};
64 std::string api_version{
"2023-06-01"};
67 std::size_t default_max_output_tokens{1024};
87 std::string base_url{
"https://generativelanguage.googleapis.com/v1beta"};
131 std::unique_ptr<Impl> impl_;
149 std::unique_ptr<Impl> impl_;
167 std::unique_ptr<Impl> impl_;
185 std::unique_ptr<Impl> impl_;
189[[nodiscard]] NEURALPLUS_API std::unique_ptr<AIClient>
193[[nodiscard]] NEURALPLUS_API std::unique_ptr<AIClient>
197[[nodiscard]] NEURALPLUS_API std::unique_ptr<AIClient>
201[[nodiscard]] NEURALPLUS_API std::unique_ptr<AIClient>
Anthropic Messages API client.
Definition providers.hpp:135
AnthropicClient(AnthropicConfig config, const ClientOptions &options={})
Creates an Anthropic Messages API client.
Google Gemini generateContent API client.
Definition providers.hpp:153
GeminiClient(GeminiConfig config, const ClientOptions &options={})
Creates a Google Gemini generateContent client.
OpenAI Responses API client.
Definition providers.hpp:117
OpenAIClient(OpenAIConfig config, const ClientOptions &options={})
Creates an OpenAI Responses API client.
Generic OpenAI-compatible Chat Completions client.
Definition providers.hpp:171
OpenAICompatibleClient(OpenAICompatibleConfig config, const ClientOptions &options={})
Creates an OpenAI-compatible Chat Completions client.
NEURALPLUS_API std::unique_ptr< AIClient > make_client(OpenAIConfig config, const ClientOptions &options={})
Creates an OpenAI client. Credentials resolve as explicit value, environment, error.
Immutable snapshot passed to one provider round.
Definition types.hpp:372
Normalized response returned by both one provider round and the full tool loop.
Definition types.hpp:393
Definition providers.hpp:50
ModelDescriptor model
Model ID, capabilities, limits, and data-driven provider options.
Definition providers.hpp:55
std::optional< std::string > api_key
Explicit API key. When empty, ANTHROPIC_API_KEY is read once.
Definition providers.hpp:58
std::vector< HttpHeader > extra_headers
Additional or replacement headers; mark credential values sensitive.
Definition providers.hpp:70
AnthropicConfig(std::string model_id)
Creates Anthropic configuration for model_id.
Dependencies and behavior shared by all AIClient implementations.
Definition client.hpp:25
Definition providers.hpp:76
std::vector< HttpHeader > extra_headers
Additional or replacement headers; mark credential values sensitive.
Definition providers.hpp:90
ModelDescriptor model
Model ID, capabilities, limits, and data-driven provider options.
Definition providers.hpp:81
std::optional< std::string > api_key
Explicit key, otherwise GEMINI_API_KEY then GOOGLE_API_KEY is read once.
Definition providers.hpp:84
GeminiConfig(std::string model_id)
Creates Gemini configuration for model_id.
Data-driven model description; no C++ subclass is needed per model name.
Definition types.hpp:315
Definition providers.hpp:96
ModelDescriptor model
Model ID, capabilities, limits, and data-driven provider options.
Definition providers.hpp:101
OpenAICompatibleConfig(std::string model_id, std::string base_url)
Creates compatible-server configuration for a model and server root.
std::vector< HttpHeader > extra_headers
Additional or replacement headers; mark credential values sensitive.
Definition providers.hpp:113
std::string base_url
Server root, normally including /v1.
Definition providers.hpp:110
std::optional< std::string > api_key_environment
Optional environment-variable name used when api_key is absent.
Definition providers.hpp:107
std::optional< std::string > api_key
Optional explicit bearer token.
Definition providers.hpp:104
Definition providers.hpp:24
std::string organization
Optional OpenAI organization identifier.
Definition providers.hpp:38
std::vector< HttpHeader > extra_headers
Additional or replacement headers; mark credential values sensitive.
Definition providers.hpp:44
std::optional< std::string > api_key
Explicit API key. When empty, OPENAI_API_KEY is read once.
Definition providers.hpp:32
OpenAIConfig(std::string model_id)
Creates OpenAI configuration for model_id.
std::string project
Optional OpenAI project identifier.
Definition providers.hpp:41
ModelDescriptor model
Model ID, capabilities, limits, and data-driven provider options.
Definition providers.hpp:29