1#ifndef YAZE_SRC_CLI_SERVICE_AGENT_CONVERSATIONAL_AGENT_SERVICE_H_
2#define YAZE_SRC_CLI_SERVICE_AGENT_CONVERSATIONAL_AGENT_SERVICE_H_
10#include "absl/status/status.h"
11#include "absl/status/statusor.h"
12#include "absl/time/time.h"
40 std::vector<std::vector<std::string>>
rows;
100 absl::StatusOr<ChatMessage>
SendMessage(
const std::string& message);
103 const std::vector<ChatMessage>&
GetHistory()
const;
124 std::function<void(
const std::vector<ChatMessage>& history)>;
132 TodoManager& todo_manager() {
return todo_manager_; }
135 void EnableContextInjection(
bool enable) { inject_learned_context_ = enable; }
136 void EnablePretraining(
bool enable) { inject_pretraining_ = enable; }
156 std::string BuildEnhancedPrompt(
const std::string& user_message);
157 std::string InjectLearnedContext(
const std::string& message);
158 std::string InjectPretraining();
162 const std::string& user_message);
182 bool inject_learned_context_ =
true;
183 bool inject_pretraining_ =
false;
184 bool pretraining_injected_ =
false;
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
std::unique_ptr< AIService > ai_service_
ChatMessage::SessionMetrics BuildMetricsSnapshot() const
absl::StatusOr< ChatMessage > SendMessage(const std::string &message)
ToolDispatcher::ToolPreferences tool_preferences_
const AIServiceConfig & provider_config() const
void RebuildMetricsFromHistory()
ConversationalAgentService()
void SetRomContext(Rom *rom)
void SetConfig(const AgentConfig &config)
absl::Status ConfigureProvider(const AIServiceConfig &config)
ChatMessage::SessionMetrics GetMetrics() const
bool has_external_driver_
AIServiceConfig provider_config_
ToolDispatcher tool_dispatcher_
const AgentConfig & GetConfig() const
void SetExternalDriver(ExternalDriverCallback driver)
std::vector< ChatMessage > history_
void SetToolPreferences(const ToolDispatcher::ToolPreferences &prefs)
void TrimHistoryIfNeeded()
const std::vector< ChatMessage > & GetHistory() const
ExternalDriverCallback external_driver_
void HandleExternalResponse(const AgentResponse &response)
std::function< void(const std::vector< ChatMessage > &history)> ExternalDriverCallback
void ReplaceHistory(std::vector< ChatMessage > history)
Manages persistent learned information across agent sessions.
Manages TODO lists for z3ed agent task execution.
AgentOutputFormat output_format
size_t max_history_messages
std::filesystem::path proposal_json_path
std::filesystem::path sandbox_rom_path
double total_elapsed_seconds
double average_latency_seconds
std::vector< std::string > headers
std::vector< std::vector< std::string > > rows
std::optional< ModelMetadata > model_metadata
std::optional< TableData > table_data
std::vector< std::string > warnings
std::optional< std::string > json_pretty
std::optional< ProposalSummary > proposal
std::optional< SessionMetrics > metrics
absl::Duration total_latency