From dd122996431e0e9d78dfc9ba4a52a12db951894f Mon Sep 17 00:00:00 2001 From: Nitheesh S <155136945+nitheesh1122@users.noreply.github.com> Date: Tue, 31 Mar 2026 15:38:40 +0530 Subject: [PATCH 1/2] Delete --- Breify Note.pdf | Bin 124034 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Breify Note.pdf diff --git a/Breify Note.pdf b/Breify Note.pdf deleted file mode 100644 index 8124454f58834e033de118ea0af7eed8e4448c91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124034 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

oG0ZNRgk&!luhu~rIR3ZiFSF8 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 Date: Tue, 31 Mar 2026 15:49:09 +0530 Subject: [PATCH 2/2] Add AI chat and file processor updates --- src/memora/ai/conversational_ai.py | 90 ++++++++++++++++ src/memora/ai/file_processor.py | 32 ++++++ src/memora/core/store.py | 166 ++++------------------------- src/memora/interface/cli.py | 45 +++++++- test.txt | 2 + 5 files changed, 190 insertions(+), 145 deletions(-) create mode 100644 src/memora/ai/conversational_ai.py create mode 100644 src/memora/ai/file_processor.py create mode 100644 test.txt diff --git a/src/memora/ai/conversational_ai.py b/src/memora/ai/conversational_ai.py new file mode 100644 index 0000000..044c776 --- /dev/null +++ b/src/memora/ai/conversational_ai.py @@ -0,0 +1,90 @@ +import ollama +from pathlib import Path +from memora.core.ingestion import extract_facts +from memora.core.store import ObjectStore + + +class MemoraChat: + + def __init__(self): + self.client = ollama.Client() + self.store = ObjectStore(Path(".memora")) + + def extract_code_blocks(self, message: str): + code_blocks = [] + + if "```" in message: + parts = message.split("```") + for i in range(1, len(parts), 2): + block = parts[i].strip() + if block: + code_blocks.append(block) + + if not code_blocks: + if any(k in message for k in ["def ", "return ", "class ", "import "]): + code_blocks.append(message.strip()) + + return code_blocks + + def needs_memory(self, message: str) -> bool: + message = message.lower() + + triggers = [ + "my", "i", "me", + "what did i", "what do i", + "who am i", "remember", + "code", "earlier", "before" + ] + + return any(t in message for t in triggers) + + def chat(self, message: str): + + message_lower = message.lower() + + # ✅ STEP 1: store normal facts + if len(message.strip()) > 3: + facts = extract_facts(message, "user") + for f in facts: + self.store.write(f) + + # ✅ STEP 2: store code (SAFE METHOD) + code_blocks = self.extract_code_blocks(message) + + for code in code_blocks: + fact_text = f"user wrote code {code}" + facts = extract_facts(fact_text, "user") + + for f in facts: + self.store.write(f) + + # ✅ STEP 3: retrieve memory + if self.needs_memory(message): + + all_hashes = self.store.list_all_hashes() + + # 🔥 CODE RETRIEVAL + if "code" in message_lower: + for h in reversed(all_hashes): + try: + fact = self.store.read_fact(h) + + content = getattr(fact, "content", "").lower() + + if "code" in content or "def " in content: + return f"Here is your code:\n{fact.content}" + + except: + continue + + # ✅ STEP 4: fallback AI + try: + response = self.client.chat( + model="llama3.2", + messages=[{"role": "user", "content": message}] + ) + + return response["message"]["content"].strip() + + except Exception: + return "Something went wrong." \ No newline at end of file diff --git a/src/memora/ai/file_processor.py b/src/memora/ai/file_processor.py new file mode 100644 index 0000000..90d925e --- /dev/null +++ b/src/memora/ai/file_processor.py @@ -0,0 +1,32 @@ +from pathlib import Path +from memora.core.ingestion import extract_facts +from memora.core.store import ObjectStore + + +class FileProcessor: + + def __init__(self): + self.store = ObjectStore(Path(".memora")) + + def process_file(self, file_path: str): + + path = Path(file_path) + + if not path.exists(): + raise ValueError("File not found") + + # 1. Read file + if path.suffix == ".txt" or path.suffix == ".md": + with open(path, "r", encoding="utf-8") as f: + content = f.read() + else: + raise ValueError("Only .txt and .md supported") + + # 2. Extract facts + facts = extract_facts(content, f"file:{path.name}") + + # 3. Store facts + for f in facts: + self.store.write(f) + + return len(facts) \ No newline at end of file diff --git a/src/memora/core/store.py b/src/memora/core/store.py index 01c48ed..88d1c0d 100644 --- a/src/memora/core/store.py +++ b/src/memora/core/store.py @@ -32,53 +32,18 @@ class ObjectStore: - """Content-addressable object store with atomic writes and locking. - - Objects are stored at paths derived from their hash: - objects/{hash[:2]}/{hash[2:]} - - All writes are atomic (tmp file -> os.replace). - Write lock prevents concurrent modifications. - """ + """Content-addressable object store with atomic writes and locking.""" def __init__(self, store_path: Path): - """Initialize object store. - - Args: - store_path: Path to .memora/ directory - """ self.store_path = store_path self.objects_path = store_path / "objects" self.lock_path = store_path / ".write_lock" self._lock = FileLock(str(self.lock_path), timeout=30) def _object_path(self, hash: str) -> Path: - """Compute storage path for a hash. - - Uses Git-style two-character subdirectory to avoid - filesystem slowdown with many files in one directory. - - Args: - hash: 64-character hex string (SHA-256) - - Returns: - Path: objects/{hash[:2]}/{hash[2:]} - """ return self.objects_path / hash[:2] / hash[2:] def write(self, obj: Fact | MemoryTree | MemoryCommit) -> str: - """Write object to store atomically. - - Idempotent - writing the same object twice creates only one file. - Uses atomic write pattern (tmp -> os.replace) to prevent partial files. - - Args: - obj: Object to write (Fact, MemoryTree, or MemoryCommit) - - Returns: - SHA-256 hash of the object (64-char hex) - """ - # 1. Serialize object if isinstance(obj, Fact): compressed_bytes, obj_hash = serialize_fact(obj) elif isinstance(obj, MemoryTree): @@ -88,57 +53,31 @@ def write(self, obj: Fact | MemoryTree | MemoryCommit) -> str: else: raise TypeError(f"Unsupported object type: {type(obj)}") - # 2. Compute final path final_path = self._object_path(obj_hash) - # 3. Free deduplication - if exists, return immediately if final_path.exists(): return obj_hash - # 4. Create subdirectory final_path.parent.mkdir(parents=True, exist_ok=True) - # 5. Write to tmp file tmp_dir = self.objects_path / "tmp" tmp_dir.mkdir(parents=True, exist_ok=True) tmp_path = tmp_dir / str(uuid.uuid4()) - # 6. Write bytes tmp_path.write_bytes(compressed_bytes) - - # 7. Atomic move os.replace(str(tmp_path), str(final_path)) - # 8. Return hash return obj_hash def read_fact(self, hash: str) -> Fact: - """Read and verify a Fact from store. - - Args: - hash: SHA-256 hash of the fact - - Returns: - Fact object - - Raises: - ObjectNotFoundError: If hash not in store - HashMismatchError: If file content doesn't match hash (corruption) - """ - # 1. Compute path path = self._object_path(hash) - # 2. Check existence if not path.exists(): raise ObjectNotFoundError(f"Object not found: {hash[:8]}...") - # 3. Read bytes data = path.read_bytes() - - # 4. Deserialize fact = deserialize_fact(data) - # 5. Verify hash by recomputing from fact (semantic identity) actual_hash = hash_fact(fact) if actual_hash != hash: raise HashMismatchError( @@ -148,18 +87,6 @@ def read_fact(self, hash: str) -> Fact: return fact def read_tree(self, hash: str) -> MemoryTree: - """Read and verify a MemoryTree from store. - - Args: - hash: SHA-256 hash of the tree - - Returns: - MemoryTree object - - Raises: - ObjectNotFoundError: If hash not in store - HashMismatchError: If file content doesn't match hash (corruption) - """ path = self._object_path(hash) if not path.exists(): @@ -171,18 +98,6 @@ def read_tree(self, hash: str) -> MemoryTree: return deserialize_tree(data) def read_commit(self, hash: str) -> MemoryCommit: - """Read and verify a MemoryCommit from store. - - Args: - hash: SHA-256 hash of the commit - - Returns: - MemoryCommit object - - Raises: - ObjectNotFoundError: If hash not in store - HashMismatchError: If file content doesn't match hash (corruption) - """ path = self._object_path(hash) if not path.exists(): @@ -194,91 +109,59 @@ def read_commit(self, hash: str) -> MemoryCommit: return deserialize_commit(data) def exists(self, hash: str) -> bool: - """Fast check if object exists in store. - - Does not read or deserialize - just checks file existence. - - Args: - hash: SHA-256 hash to check - - Returns: - True if object exists, False otherwise - """ return self._object_path(hash).exists() def acquire_lock(self) -> None: - """Acquire write lock. - - Prevents concurrent writes to the store. - 30 second timeout. - - Raises: - StoreLockError: If lock cannot be acquired within timeout - """ try: self._lock.acquire() except Timeout: - raise StoreLockError("Write lock timeout. Another process may be writing.") + raise StoreLockError("Write lock timeout.") def release_lock(self) -> None: - """Release write lock. - - ALWAYS call in finally block to ensure lock is released - even if an error occurs. - """ try: self._lock.release() except Exception: - # Swallow exceptions - lock may already be released pass def list_all_hashes(self) -> list[str]: - """List all object hashes in the store. - - Walks the objects/ directory and reconstructs hashes - from subdirectory names and filenames. - - Skips the tmp/ subdirectory. - - Returns: - List of 64-character hash strings - """ hashes: list[str] = [] if not self.objects_path.exists(): return hashes - # Walk through two-character subdirectories for subdir in self.objects_path.iterdir(): - # Skip tmp directory if subdir.name == "tmp": continue - - # Skip if not a directory if not subdir.is_dir(): continue - # Each file in subdirectory is an object for obj_file in subdir.iterdir(): if obj_file.is_file(): - # Reconstruct hash: subdir_name + filename full_hash = subdir.name + obj_file.name - if len(full_hash) == 64: # Valid SHA-256 hash + if len(full_hash) == 64: hashes.append(full_hash) return hashes - @staticmethod - def initialize_directories(store_path: Path) -> None: - """Create complete .memora/ directory structure. + # ✅ FIXED: search method INSIDE class + def search(self, query: str) -> list[str]: + """Search facts by keyword.""" + results = [] - Creates all required directories and files for a new Memora store. - Safe to call on existing store - won't overwrite existing files. + all_hashes = self.list_all_hashes() - Args: - store_path: Path to .memora/ directory (will be created) - """ - # Create all required directories + for h in all_hashes: + try: + fact = self.read_fact(h) + if query.lower() in fact.content.lower(): + results.append(fact.content) + except: + pass + + return results + + @staticmethod + def initialize_directories(store_path: Path) -> None: directories = [ store_path / "objects", store_path / "objects" / "tmp", @@ -292,17 +175,14 @@ def initialize_directories(store_path: Path) -> None: for directory in directories: directory.mkdir(parents=True, exist_ok=True) - # Write HEAD file (only if doesn't exist) head_file = store_path / "HEAD" if not head_file.exists(): head_file.write_text("ref: refs/heads/main") - # Write empty STAGE file stage_file = store_path / "staging" / "STAGE" if not stage_file.exists(): stage_file.write_text("[]") - # Write empty index files entities_index = store_path / "index" / "entities.json" if not entities_index.exists(): entities_index.write_text("{}") @@ -315,7 +195,6 @@ def initialize_directories(store_path: Path) -> None: if not temporal_index.exists(): temporal_index.write_text("[]") - # Write config file config_file = store_path / "config" if not config_file.exists(): config = { @@ -323,10 +202,9 @@ def initialize_directories(store_path: Path) -> None: "max_context_tokens": 2000, "conflict_mode": "lenient", "default_branch": "main", - "api_key": secrets.token_hex(16), # 32-char hex string + "api_key": secrets.token_hex(16), } config_file.write_text(json.dumps(config, indent=2)) - # Set permissions on non-Windows if os.name != "nt": - os.chmod(store_path, 0o700) + os.chmod(store_path, 0o700) \ No newline at end of file diff --git a/src/memora/interface/cli.py b/src/memora/interface/cli.py index 2ca5c37..20f45b2 100644 --- a/src/memora/interface/cli.py +++ b/src/memora/interface/cli.py @@ -1,10 +1,27 @@ """Memora CLI interface.""" import typer +from memora.ai.conversational_ai import MemoraChat +from memora.ai.file_processor import FileProcessor +from memora.core.store import ObjectStore +from pathlib import Path app = typer.Typer(name="memora", help="Git-style versioned memory for LLMs") +@app.command() +def search(query: str): + """Search memory""" + store = ObjectStore(Path(".memora")) + + results = store.search(query) + if not results: + print("No results found") + else: + print("Results:") + for r in results: + print("-", r) + @app.command() def version(): """Show version information.""" @@ -17,5 +34,31 @@ def init(): print("Memora repository initialized") +@app.command() +def chat(): + """Start AI chat with memory.""" + bot = MemoraChat() + + print("Start chatting (type exit to quit)") + + while True: + msg = input("You: ") + if msg.lower() == "exit": + break + + response = bot.chat(msg) + print("AI:", response) + +@app.command() +def ingest(path: str): + """Ingest a file and extract memory""" + processor = FileProcessor() + + try: + count = processor.process_file(path) + print(f"Processed {count} facts from file") + except Exception as e: + print(f"Error: {e}") + if __name__ == "__main__": - app() + app() \ No newline at end of file diff --git a/test.txt b/test.txt new file mode 100644 index 0000000..3cff0b9 --- /dev/null +++ b/test.txt @@ -0,0 +1,2 @@ +My name is Nitheesh +I like Python \ No newline at end of file