Module: Legion::Extensions::Agentic::Memory::Diary::Runners::Diary
- Includes:
- Helpers::Lex
- Included in:
- Client
- Defined in:
- lib/legion/extensions/agentic/memory/diary/runners/diary.rb
Instance Method Summary collapse
- #diary_stats(store: nil) ⇒ Object
- #read_diary(limit: Helpers::Constants::DEFAULT_LIMIT, since: nil, store: nil) ⇒ Object
- #search_diary(query:, limit: Helpers::Constants::DEFAULT_LIMIT, store: nil) ⇒ Object
- #write_diary(session_id:, content:, tags: [], metadata: {}, store: nil) ⇒ Object
Instance Method Details
#diary_stats(store: nil) ⇒ Object
42 43 44 45 |
# File 'lib/legion/extensions/agentic/memory/diary/runners/diary.rb', line 42 def diary_stats(store: nil, **) s = store || diary_store { success: true, agent_id: s.agent_id, entry_count: s.count, available: s.db_ready? } end |
#read_diary(limit: Helpers::Constants::DEFAULT_LIMIT, since: nil, store: nil) ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/legion/extensions/agentic/memory/diary/runners/diary.rb', line 24 def read_diary(limit: Helpers::Constants::DEFAULT_LIMIT, since: nil, store: nil, **) s = store || diary_store return { success: false, error: 'diary store not available' } unless s.db_ready? entries = s.read(limit: limit, since: since) log.debug("[diary] read #{entries.size} entries for agent=#{s.agent_id}") { success: true, entries: entries, count: entries.size } end |
#search_diary(query:, limit: Helpers::Constants::DEFAULT_LIMIT, store: nil) ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/legion/extensions/agentic/memory/diary/runners/diary.rb', line 33 def search_diary(query:, limit: Helpers::Constants::DEFAULT_LIMIT, store: nil, **) s = store || diary_store return { success: false, error: 'diary store not available' } unless s.db_ready? entries = s.search(query: query, limit: limit) log.debug("[diary] search query=#{query} found=#{entries.size} agent=#{s.agent_id}") { success: true, entries: entries, count: entries.size } end |
#write_diary(session_id:, content:, tags: [], metadata: {}, store: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/legion/extensions/agentic/memory/diary/runners/diary.rb', line 13 def write_diary(session_id:, content:, tags: [], metadata: {}, store: nil, **) s = store || diary_store entry_id = s.write(session_id: session_id, content: content, tags: , metadata: ) if entry_id log.debug("[diary] wrote entry=#{entry_id} agent=#{s.agent_id} session=#{session_id}") { success: true, entry_id: entry_id } else { success: false, error: 'diary store not available' } end end |