Manages persistent learned information across agent sessions. More...
#include <learned_knowledge_service.h>
Classes | |
| struct | ConversationMemory |
| struct | ProjectContext |
| struct | ROMPattern |
| struct | Stats |
Public Member Functions | |
| LearnedKnowledgeService () | |
| LearnedKnowledgeService (const std::filesystem::path &data_dir) | |
| absl::Status | Initialize () |
| absl::Status | SaveAll () |
| absl::Status | SetPreference (const std::string &key, const std::string &value) |
| std::optional< std::string > | GetPreference (const std::string &key) const |
| std::map< std::string, std::string > | GetAllPreferences () const |
| absl::Status | RemovePreference (const std::string &key) |
| absl::Status | LearnPattern (const std::string &type, const std::string &rom_hash, const std::string &data, float confidence=1.0f) |
| std::vector< ROMPattern > | QueryPatterns (const std::string &type, const std::string &rom_hash="") const |
| absl::Status | UpdatePatternConfidence (const std::string &type, const std::string &rom_hash, float new_confidence) |
| absl::Status | SaveProjectContext (const std::string &project_name, const std::string &rom_hash, const std::string &context) |
| std::optional< ProjectContext > | GetProjectContext (const std::string &project_name) const |
| std::vector< ProjectContext > | GetAllProjects () const |
| absl::Status | StoreConversationSummary (const std::string &topic, const std::string &summary, const std::vector< std::string > &key_facts) |
| std::vector< ConversationMemory > | SearchMemories (const std::string &query) const |
| std::vector< ConversationMemory > | GetRecentMemories (int limit=10) const |
| absl::StatusOr< std::string > | ExportToJSON () const |
| absl::Status | ImportFromJSON (const std::string &json_data) |
| absl::Status | ClearAll () |
| Stats | GetStats () const |
Private Member Functions | |
| absl::Status | LoadPreferences () |
| absl::Status | LoadPatterns () |
| absl::Status | LoadProjects () |
| absl::Status | LoadMemories () |
| absl::Status | SavePreferences () |
| absl::Status | SavePatterns () |
| absl::Status | SaveProjects () |
| absl::Status | SaveMemories () |
| std::string | GenerateID () const |
Private Attributes | |
| std::filesystem::path | data_dir_ |
| std::filesystem::path | prefs_file_ |
| std::filesystem::path | patterns_file_ |
| std::filesystem::path | projects_file_ |
| std::filesystem::path | memories_file_ |
| std::map< std::string, std::string > | preferences_ |
| std::vector< ROMPattern > | patterns_ |
| std::vector< ProjectContext > | projects_ |
| std::vector< ConversationMemory > | memories_ |
| bool | initialized_ = false |
Manages persistent learned information across agent sessions.
Stores:
Definition at line 30 of file learned_knowledge_service.h.
| yaze::cli::agent::LearnedKnowledgeService::LearnedKnowledgeService | ( | ) |
Definition at line 39 of file learned_knowledge_service.cc.
References data_dir_, yaze::util::PlatformPaths::GetAppDataSubdirectory(), memories_file_, patterns_file_, prefs_file_, and projects_file_.

|
explicit |
Definition at line 55 of file learned_knowledge_service.cc.
| absl::Status yaze::cli::agent::LearnedKnowledgeService::Initialize | ( | ) |
Definition at line 63 of file learned_knowledge_service.cc.
References data_dir_, yaze::util::PlatformPaths::EnsureDirectoryExists(), initialized_, LoadMemories(), LoadPatterns(), LoadPreferences(), and LoadProjects().
Referenced by yaze::cli::agent::HandleLearnCommand().
| absl::Status yaze::cli::agent::LearnedKnowledgeService::SaveAll | ( | ) |
Definition at line 84 of file learned_knowledge_service.cc.
References SaveMemories(), SavePatterns(), SavePreferences(), and SaveProjects().
Referenced by ClearAll().

| absl::Status yaze::cli::agent::LearnedKnowledgeService::SetPreference | ( | const std::string & | key, |
| const std::string & | value | ||
| ) |
Set a user preference
| key | Preference key (e.g., "default_palette", "preferred_tool") |
| value | Preference value |
Definition at line 102 of file learned_knowledge_service.cc.
References initialized_, preferences_, and SavePreferences().
Referenced by yaze::cli::agent::HandleLearnCommand().

| std::optional< std::string > yaze::cli::agent::LearnedKnowledgeService::GetPreference | ( | const std::string & | key | ) | const |
Get a user preference
| key | Preference key |
Definition at line 112 of file learned_knowledge_service.cc.
References preferences_.
Referenced by yaze::cli::agent::HandleLearnCommand().
| std::map< std::string, std::string > yaze::cli::agent::LearnedKnowledgeService::GetAllPreferences | ( | ) | const |
List all preferences
Definition at line 121 of file learned_knowledge_service.cc.
References preferences_.
Referenced by yaze::cli::agent::HandleLearnCommand().
| absl::Status yaze::cli::agent::LearnedKnowledgeService::RemovePreference | ( | const std::string & | key | ) |
Remove a preference
Definition at line 125 of file learned_knowledge_service.cc.
References initialized_, preferences_, and SavePreferences().

| absl::Status yaze::cli::agent::LearnedKnowledgeService::LearnPattern | ( | const std::string & | type, |
| const std::string & | rom_hash, | ||
| const std::string & | data, | ||
| float | confidence = 1.0f |
||
| ) |
Learn a pattern from the current ROM
| type | Pattern type (e.g., "sprite_distribution", "room_access_frequency") |
| rom_hash | SHA256 hash of the ROM |
| data | Pattern-specific data (JSON) |
Definition at line 136 of file learned_knowledge_service.cc.
References yaze::cli::agent::LearnedKnowledgeService::ROMPattern::access_count, yaze::cli::agent::LearnedKnowledgeService::ROMPattern::confidence, initialized_, yaze::cli::agent::LearnedKnowledgeService::ROMPattern::learned_at, yaze::cli::agent::LearnedKnowledgeService::ROMPattern::pattern_data, yaze::cli::agent::LearnedKnowledgeService::ROMPattern::pattern_type, patterns_, yaze::cli::agent::LearnedKnowledgeService::ROMPattern::rom_hash, and SavePatterns().

| std::vector< LearnedKnowledgeService::ROMPattern > yaze::cli::agent::LearnedKnowledgeService::QueryPatterns | ( | const std::string & | type, |
| const std::string & | rom_hash = "" |
||
| ) | const |
Query patterns for a specific ROM
| type | Pattern type to query |
| rom_hash | ROM hash to filter by (empty = all ROMs) |
Definition at line 157 of file learned_knowledge_service.cc.
References patterns_.
| absl::Status yaze::cli::agent::LearnedKnowledgeService::UpdatePatternConfidence | ( | const std::string & | type, |
| const std::string & | rom_hash, | ||
| float | new_confidence | ||
| ) |
Update pattern confidence/access count
Definition at line 173 of file learned_knowledge_service.cc.
References patterns_, and SavePatterns().

| absl::Status yaze::cli::agent::LearnedKnowledgeService::SaveProjectContext | ( | const std::string & | project_name, |
| const std::string & | rom_hash, | ||
| const std::string & | context | ||
| ) |
Save context for a project/ROM
Definition at line 196 of file learned_knowledge_service.cc.
References yaze::cli::agent::LearnedKnowledgeService::ProjectContext::context_data, initialized_, yaze::cli::agent::LearnedKnowledgeService::ProjectContext::last_accessed, yaze::cli::agent::LearnedKnowledgeService::ProjectContext::project_name, projects_, yaze::cli::agent::LearnedKnowledgeService::ProjectContext::rom_hash, and SaveProjects().

| std::optional< LearnedKnowledgeService::ProjectContext > yaze::cli::agent::LearnedKnowledgeService::GetProjectContext | ( | const std::string & | project_name | ) | const |
Get project context
Definition at line 229 of file learned_knowledge_service.cc.
References projects_.
| std::vector< LearnedKnowledgeService::ProjectContext > yaze::cli::agent::LearnedKnowledgeService::GetAllProjects | ( | ) | const |
List all projects
Definition at line 239 of file learned_knowledge_service.cc.
References projects_.
Referenced by yaze::cli::agent::HandleLearnCommand().
| absl::Status yaze::cli::agent::LearnedKnowledgeService::StoreConversationSummary | ( | const std::string & | topic, |
| const std::string & | summary, | ||
| const std::vector< std::string > & | key_facts | ||
| ) |
Store a conversation summary
| topic | Topic/theme of the conversation |
| summary | Brief summary |
| key_facts | Important facts extracted |
Definition at line 245 of file learned_knowledge_service.cc.
References yaze::cli::agent::LearnedKnowledgeService::ConversationMemory::access_count, yaze::cli::agent::LearnedKnowledgeService::ConversationMemory::created_at, yaze::cli::agent::LearnedKnowledgeService::ConversationMemory::id, initialized_, yaze::cli::agent::LearnedKnowledgeService::ConversationMemory::key_facts, memories_, SaveMemories(), yaze::cli::agent::LearnedKnowledgeService::ConversationMemory::summary, and yaze::cli::agent::LearnedKnowledgeService::ConversationMemory::topic.

| std::vector< LearnedKnowledgeService::ConversationMemory > yaze::cli::agent::LearnedKnowledgeService::SearchMemories | ( | const std::string & | query | ) | const |
Search conversation memories by topic/keyword
Definition at line 272 of file learned_knowledge_service.cc.
References memories_.
| std::vector< LearnedKnowledgeService::ConversationMemory > yaze::cli::agent::LearnedKnowledgeService::GetRecentMemories | ( | int | limit = 10 | ) | const |
Get most recent conversation memories
Definition at line 294 of file learned_knowledge_service.cc.
References memories_.
Referenced by yaze::cli::agent::HandleLearnCommand().
| absl::StatusOr< std::string > yaze::cli::agent::LearnedKnowledgeService::ExportToJSON | ( | ) | const |
Export all learned data to JSON
Definition at line 416 of file learned_knowledge_service.cc.
Referenced by yaze::cli::agent::HandleLearnCommand().
| absl::Status yaze::cli::agent::LearnedKnowledgeService::ImportFromJSON | ( | const std::string & | json_data | ) |
Import learned data from JSON
Definition at line 420 of file learned_knowledge_service.cc.
Referenced by yaze::cli::agent::HandleLearnCommand().
| absl::Status yaze::cli::agent::LearnedKnowledgeService::ClearAll | ( | ) |
Clear all learned data
Definition at line 425 of file learned_knowledge_service.cc.
References memories_, patterns_, preferences_, projects_, and SaveAll().
Referenced by yaze::cli::agent::HandleLearnCommand().

| LearnedKnowledgeService::Stats yaze::cli::agent::LearnedKnowledgeService::GetStats | ( | ) | const |
Definition at line 435 of file learned_knowledge_service.cc.
References yaze::cli::agent::LearnedKnowledgeService::Stats::first_learned_at, yaze::cli::agent::LearnedKnowledgeService::Stats::last_updated_at, memories_, yaze::cli::agent::LearnedKnowledgeService::Stats::memory_count, yaze::cli::agent::LearnedKnowledgeService::Stats::pattern_count, patterns_, yaze::cli::agent::LearnedKnowledgeService::Stats::preference_count, preferences_, yaze::cli::agent::LearnedKnowledgeService::Stats::project_count, and projects_.
Referenced by yaze::cli::agent::HandleLearnCommand().
|
private |
Definition at line 653 of file learned_knowledge_service.cc.
Referenced by Initialize().
|
private |
Definition at line 655 of file learned_knowledge_service.cc.
Referenced by Initialize().
|
private |
Definition at line 657 of file learned_knowledge_service.cc.
Referenced by Initialize().
|
private |
Definition at line 659 of file learned_knowledge_service.cc.
Referenced by Initialize().
|
private |
Definition at line 654 of file learned_knowledge_service.cc.
Referenced by RemovePreference(), SaveAll(), and SetPreference().
|
private |
Definition at line 656 of file learned_knowledge_service.cc.
Referenced by LearnPattern(), SaveAll(), and UpdatePatternConfidence().
|
private |
Definition at line 658 of file learned_knowledge_service.cc.
Referenced by SaveAll(), and SaveProjectContext().
|
private |
Definition at line 660 of file learned_knowledge_service.cc.
Referenced by SaveAll(), and StoreConversationSummary().
|
private |
Definition at line 663 of file learned_knowledge_service.cc.
|
private |
Definition at line 193 of file learned_knowledge_service.h.
Referenced by Initialize(), and LearnedKnowledgeService().
|
private |
Definition at line 194 of file learned_knowledge_service.h.
Referenced by LearnedKnowledgeService().
|
private |
Definition at line 195 of file learned_knowledge_service.h.
Referenced by LearnedKnowledgeService().
|
private |
Definition at line 196 of file learned_knowledge_service.h.
Referenced by LearnedKnowledgeService().
|
private |
Definition at line 197 of file learned_knowledge_service.h.
Referenced by LearnedKnowledgeService().
|
private |
Definition at line 199 of file learned_knowledge_service.h.
Referenced by ClearAll(), GetAllPreferences(), GetPreference(), GetStats(), RemovePreference(), and SetPreference().
|
private |
Definition at line 200 of file learned_knowledge_service.h.
Referenced by ClearAll(), GetStats(), LearnPattern(), QueryPatterns(), and UpdatePatternConfidence().
|
private |
Definition at line 201 of file learned_knowledge_service.h.
Referenced by ClearAll(), GetAllProjects(), GetProjectContext(), GetStats(), and SaveProjectContext().
|
private |
Definition at line 202 of file learned_knowledge_service.h.
Referenced by ClearAll(), GetRecentMemories(), GetStats(), SearchMemories(), and StoreConversationSummary().
|
private |
Definition at line 204 of file learned_knowledge_service.h.
Referenced by Initialize(), LearnPattern(), RemovePreference(), SaveProjectContext(), SetPreference(), and StoreConversationSummary().