1#ifndef YAZE_SRC_CLI_SERVICE_AGENT_CONVERSATIONAL_AGENT_SERVICE_H_
2#define YAZE_SRC_CLI_SERVICE_AGENT_CONVERSATIONAL_AGENT_SERVICE_H_
9#include "absl/status/status.h"
10#include "absl/status/statusor.h"
11#include "absl/time/time.h"
27 std::vector<std::vector<std::string>>
rows;
80 absl::StatusOr<ChatMessage>
SendMessage(
const std::string& message);
83 const std::vector<ChatMessage>&
GetHistory()
const;
The Rom class is used to load, save, and modify Rom data.
std::unique_ptr< AIService > ai_service_
ChatMessage::SessionMetrics BuildMetricsSnapshot() const
absl::StatusOr< ChatMessage > SendMessage(const std::string &message)
void RebuildMetricsFromHistory()
ConversationalAgentService()
void SetRomContext(Rom *rom)
void SetConfig(const AgentConfig &config)
ChatMessage::SessionMetrics GetMetrics() const
ToolDispatcher tool_dispatcher_
const AgentConfig & GetConfig() const
std::vector< ChatMessage > history_
void TrimHistoryIfNeeded()
const std::vector< ChatMessage > & GetHistory() const
void ReplaceHistory(std::vector< ChatMessage > history)
Main namespace for the application.
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< TableData > table_data
std::optional< std::string > json_pretty
std::optional< ProposalSummary > proposal
std::optional< SessionMetrics > metrics
absl::Duration total_latency