"""Что из 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"), ]