- Introduced AgentConfigSnapshot structure to encapsulate agent configuration settings, including model metadata, tool preferences, and automation options. - Updated AgentChatHistoryCodec to support serialization and deserialization of agent configuration, warnings, and model metadata. - Enhanced AgentChatHistoryPopup with provider filtering and message pinning functionality for improved user experience. - Added new methods for managing agent settings and builder workflows, facilitating better integration of agent configurations into the chat interface. - Documented the new Agent Builder workflow in README for clarity on usage and features.
33 lines
1.0 KiB
C++
33 lines
1.0 KiB
C++
#ifndef YAZE_CLI_SERVICE_AI_SERVICE_FACTORY_H_
|
|
#define YAZE_CLI_SERVICE_AI_SERVICE_FACTORY_H_
|
|
|
|
#include <memory>
|
|
#include <string>
|
|
|
|
#include "absl/status/statusor.h"
|
|
#include "cli/service/ai/ai_service.h"
|
|
|
|
namespace yaze {
|
|
namespace cli {
|
|
|
|
struct AIServiceConfig {
|
|
std::string provider = "auto"; // "auto" (try gemini→ollama→mock), "gemini", "ollama", or "mock"
|
|
std::string model; // Provider-specific model name
|
|
std::string gemini_api_key; // For Gemini
|
|
std::string ollama_host = "http://localhost:11434"; // For Ollama
|
|
bool verbose = false; // Enable debug logging
|
|
};
|
|
|
|
// Create AI service using command-line flags
|
|
std::unique_ptr<AIService> CreateAIService();
|
|
|
|
// Create AI service with explicit configuration
|
|
std::unique_ptr<AIService> CreateAIService(const AIServiceConfig& config);
|
|
absl::StatusOr<std::unique_ptr<AIService>> CreateAIServiceStrict(
|
|
const AIServiceConfig& config);
|
|
|
|
} // namespace cli
|
|
} // namespace yaze
|
|
|
|
#endif // YAZE_CLI_SERVICE_AI_SERVICE_FACTORY_H_
|