Prompt for root directory and list it
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# agent/memory.py
|
||||
from pathlib import Path
|
||||
from typing import Any, Dict
|
||||
import json
|
||||
|
||||
from .config import settings
|
||||
|
||||
|
||||
class Memory:
|
||||
def __init__(self, path: str = "memory.json"):
|
||||
print("init memory")
|
||||
self.file = Path(path)
|
||||
self.data: Dict[str, Any] = {}
|
||||
self.load()
|
||||
|
||||
def load(self) -> None:
|
||||
if self.file.exists():
|
||||
self.data = json.loads(self.file.read_text(encoding="utf-8"))
|
||||
else:
|
||||
self.data = {
|
||||
"project_root": None,
|
||||
"history": [],
|
||||
}
|
||||
|
||||
def save(self) -> None:
|
||||
self.file.write_text(
|
||||
json.dumps(self.data, indent=2, ensure_ascii=False),
|
||||
encoding="utf-8",
|
||||
)
|
||||
|
||||
def get_project_root(self) -> str | None:
|
||||
"""Ce qu'on injecte dans le prompt pour le LLM."""
|
||||
return self.data.get("project_root")
|
||||
|
||||
def set_project_root(self, path: str) -> None:
|
||||
print('Setting project root in memory to:', path)
|
||||
self.data["project_root"] = path
|
||||
self.save()
|
||||
Reference in New Issue
Block a user