1#ifndef YAZE_CLI_SERVICE_AGENT_LEARNED_KNOWLEDGE_SERVICE_H_
2#define YAZE_CLI_SERVICE_AGENT_LEARNED_KNOWLEDGE_SERVICE_H_
10#include "absl/status/status.h"
11#include "absl/status/statusor.h"
14#include "nlohmann/json.hpp"
49 absl::Status
SetPreference(
const std::string& key,
const std::string& value);
56 std::optional<std::string>
GetPreference(
const std::string& key)
const;
86 const std::string& rom_hash,
87 const std::string& data,
88 float confidence = 1.0f);
96 std::vector<ROMPattern>
QueryPatterns(
const std::string& type,
97 const std::string& rom_hash =
"")
const;
103 const std::string& rom_hash,
104 float new_confidence);
119 const std::string& rom_hash,
120 const std::string& context);
125 std::optional<ProjectContext>
GetProjectContext(
const std::string& project_name)
const;
150 const std::string& summary,
151 const std::vector<std::string>& key_facts);
156 std::vector<ConversationMemory>
SearchMemories(
const std::string& query)
const;
Manages persistent learned information across agent sessions.
std::optional< std::string > GetPreference(const std::string &key) const
absl::Status SaveMemories()
absl::Status StoreConversationSummary(const std::string &topic, const std::string &summary, const std::vector< std::string > &key_facts)
std::vector< ProjectContext > GetAllProjects() const
std::vector< ConversationMemory > GetRecentMemories(int limit=10) const
std::vector< ConversationMemory > memories_
std::filesystem::path prefs_file_
std::vector< ProjectContext > projects_
std::string GenerateID() const
absl::Status RemovePreference(const std::string &key)
std::vector< ConversationMemory > SearchMemories(const std::string &query) const
LearnedKnowledgeService()
std::vector< ROMPattern > QueryPatterns(const std::string &type, const std::string &rom_hash="") const
absl::Status LoadPreferences()
absl::Status ImportFromJSON(const std::string &json_data)
absl::Status SavePatterns()
std::filesystem::path memories_file_
std::filesystem::path data_dir_
absl::Status SaveProjects()
absl::Status UpdatePatternConfidence(const std::string &type, const std::string &rom_hash, float new_confidence)
std::map< std::string, std::string > preferences_
absl::Status Initialize()
std::optional< ProjectContext > GetProjectContext(const std::string &project_name) const
absl::Status SetPreference(const std::string &key, const std::string &value)
absl::Status SavePreferences()
absl::Status LoadPatterns()
absl::StatusOr< std::string > ExportToJSON() const
absl::Status SaveProjectContext(const std::string &project_name, const std::string &rom_hash, const std::string &context)
std::filesystem::path patterns_file_
std::vector< ROMPattern > patterns_
absl::Status LearnPattern(const std::string &type, const std::string &rom_hash, const std::string &data, float confidence=1.0f)
std::map< std::string, std::string > GetAllPreferences() const
absl::Status LoadProjects()
std::filesystem::path projects_file_
absl::Status LoadMemories()
Main namespace for the application.
std::vector< std::string > key_facts