Files
yaze/src/cli/service/ai/service_factory.h
scawful 8635660d9d feat: enhance agent configuration and chat history management
- 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.
2025-11-16 17:48:30 -05:00

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_