Files
beaver-agent/beaver_agent/memory/watch.py
T

70 lines
1.9 KiB
Python

"""Что из vault попадает в конверт и за чем следит куратор."""
from __future__ import annotations
from beaver_gateway.vault.watch import VaultWatch, WatchRules
from beaver_agent.memory.curator import Watched
from beaver_agent.memory.recall import Recall, ReplyLog
from beaver_agent.vault import (
BEAVER,
BOARDS,
DAYS,
DIARY,
DIGESTS,
NOTES,
PEOPLE,
REPLIES,
TZ,
VAULT,
)
from beaver_agent.voice import AGENT as VOICE
watch = VaultWatch(
VAULT,
WatchRules(
full=("📅 дни/{today}.md",),
names=(
"📅 дни/**",
"👤 люди/**",
"📆 планирование/**",
"📆 доски/**",
"💻 проекты/**",
"🧠 мысли/**",
"📶 ресерчи/**",
"мета/бобер/**",
),
ignore=(
"💬 чаты/**",
"мета/**",
"мета/бобер/реплики/**",
"**/attachments/**",
".obsidian/**",
),
),
tz=TZ,
)
"""Дневник за сегодня - строками, остальное именами; конкретный паттерн побеждает."""
recall = Recall(
vault=VAULT,
people_dir=PEOPLE,
notes_dir=NOTES,
diary_dir=DIARY,
boards_dir=BOARDS,
tz=TZ,
mute=frozenset({VOICE}),
)
"""Голосовому агенту справки нет: за колонкой может стоять кто угодно."""
replies = ReplyLog(REPLIES, tz=TZ, mute=frozenset({VOICE}))
CURATOR_WATCH = [
Watched("хендауты", DAYS, "????-??-??.md"),
Watched("выжимки", DIGESTS, "*.md"),
Watched("наблюдения", NOTES, "*.md"),
Watched("состояние", BEAVER, "состояние.md"),
Watched("дневник", DIARY, "????-??-??.md"),
Watched("карточки", PEOPLE, "**/*.md"),
]