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"
38 std::vector<std::vector<std::string>>
rows;
91 absl::StatusOr<ChatMessage>
SendMessage(
const std::string& message);
94 const std::vector<ChatMessage>&
GetHistory()
const;
113 TodoManager& todo_manager() {
return todo_manager_; }
116 void EnableContextInjection(
bool enable) { inject_learned_context_ = enable; }
117 void EnablePretraining(
bool enable) { inject_pretraining_ = enable; }
137 std::string BuildEnhancedPrompt(
const std::string& user_message);
138 std::string InjectLearnedContext(
const std::string& message);
139 std::string InjectPretraining();
156 bool inject_learned_context_ =
true;
157 bool inject_pretraining_ =
false;
158 bool pretraining_injected_ =
false;
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)
Manages persistent learned information across agent sessions.
Manages TODO lists for z3ed agent task execution.
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