From 26b479757726f43cf06e96e70d44153fe0304375 Mon Sep 17 00:00:00 2001 From: retoor Date: Sat, 8 Nov 2025 02:30:11 +0100 Subject: [PATCH] feat: allow agents to use advanced input and search for information feat: save user messages to improve agent responses refactor: pass database connection to knowledge store maintenance: bump version to 1.30.0 --- CHANGELOG.md | 8 ++++++++ pyproject.toml | 2 +- rp/core/assistant.py | 2 +- rp/memory/knowledge_store.py | 4 ++-- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4bb83e..0459bc4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,14 @@ + + +## Version 1.29.0 - 2025-11-08 + +Agents can now use more advanced input and automatically search for relevant information. User messages are saved and used to improve agent responses. + +**Changes:** 5 files, 58 lines +**Languages:** Markdown (9 lines), Python (47 lines), TOML (2 lines) ## Version 1.28.0 - 2025-11-08 diff --git a/pyproject.toml b/pyproject.toml index 473eb00..9711ef6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "rp" -version = "1.28.0" +version = "1.29.0" description = "R python edition. The ultimate autonomous AI CLI." readme = "README.md" requires-python = ">=3.10" diff --git a/rp/core/assistant.py b/rp/core/assistant.py index 8fa45f5..9d83284 100644 --- a/rp/core/assistant.py +++ b/rp/core/assistant.py @@ -109,7 +109,7 @@ class Assistant: self.last_result = None self.init_database() from rp.memory import KnowledgeStore, FactExtractor - self.knowledge_store = KnowledgeStore(DB_PATH) + self.knowledge_store = KnowledgeStore(DB_PATH, db_conn=self.db_conn) self.fact_extractor = FactExtractor() self.messages.append(init_system_message(args)) try: diff --git a/rp/memory/knowledge_store.py b/rp/memory/knowledge_store.py index 32f0189..ffb1421 100644 --- a/rp/memory/knowledge_store.py +++ b/rp/memory/knowledge_store.py @@ -34,9 +34,9 @@ class KnowledgeEntry: class KnowledgeStore: - def __init__(self, db_path: str): + def __init__(self, db_path: str, db_conn: Optional[sqlite3.Connection] = None): self.db_path = db_path - self.conn = sqlite3.connect(self.db_path, check_same_thread=False) + self.conn = db_conn if db_conn else sqlite3.connect(self.db_path, check_same_thread=False) self.lock = threading.Lock() self.semantic_index = SemanticIndex() self._initialize_store()