refactor: split config.py into the beaver_agent package (vault, prompts, skills, policy, hands, agents, frontends, texts, memory, jobs)
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
"""Где что лежит в vault и в какой зоне живёт агент."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
TZ = "Europe/Warsaw"
|
||||
ZONE = ZoneInfo(TZ)
|
||||
LAUNCH = datetime(2026, 8, 28, tzinfo=ZONE)
|
||||
"""Ночное закрытие трогает только чаты с активностью после запуска системы."""
|
||||
|
||||
VAULT = Path(os.environ.get("BEAVER_VAULT", "/vault"))
|
||||
"""`/vault` в контейнере; `BEAVER_VAULT` - чтобы собрать конфиг на маке."""
|
||||
CHATS = VAULT / "💬 чаты"
|
||||
DIARY = VAULT / "📅 дни"
|
||||
PEOPLE = VAULT / "👤 люди"
|
||||
BOARDS = VAULT / "📆 доски"
|
||||
|
||||
BEAVER = VAULT / "мета" / "бобер"
|
||||
"""Дом агента: всё, что он ведёт сам, лежит здесь."""
|
||||
PROMPTS = BEAVER / "промпты"
|
||||
GRANULES = PROMPTS / "гранулы"
|
||||
SKILLS = BEAVER / "скиллы"
|
||||
DAYS = BEAVER / "дни"
|
||||
DIGESTS = BEAVER / "выжимки"
|
||||
INDEX = BEAVER / "индекс.md"
|
||||
NOTES = BEAVER / "наблюдения"
|
||||
PORTRAIT = NOTES / "Бобёр - наблюдения.md"
|
||||
REPLIES = BEAVER / "реплики"
|
||||
CURATOR_JOURNAL = BEAVER / "куратор.md"
|
||||
STATE = BEAVER / "состояние.md"
|
||||
STATE_MAX_LINES = 60
|
||||
ATTACHMENTS = BEAVER / "вложения"
|
||||
|
||||
|
||||
def today() -> str:
|
||||
return datetime.now(ZONE).date().isoformat()
|
||||
|
||||
|
||||
def read(path: Path) -> str | None:
|
||||
return path.read_text(encoding="utf-8").strip() if path.exists() else None
|
||||
Reference in New Issue
Block a user