playbook/antigravity-awesome-skills/plugins/antigravity-awesome-skills-.../skills/context-agent/scripts/config.py

70 lines
3.3 KiB
Python

"""
Configuração centralizada do Context Agent.
Todos os paths, constantes e limites usados pelos demais módulos.
"""
from pathlib import Path
# ── Raízes ──────────────────────────────────────────────────────────
SKILLS_ROOT = Path(r"C:\Users\renat\skills")
CONTEXT_AGENT_ROOT = SKILLS_ROOT / "context-agent"
# ── Dados do agente ─────────────────────────────────────────────────
DATA_DIR = CONTEXT_AGENT_ROOT / "data"
SESSIONS_DIR = DATA_DIR / "sessions"
ARCHIVE_DIR = DATA_DIR / "archive"
LOGS_DIR = DATA_DIR / "logs"
ACTIVE_CONTEXT_PATH = DATA_DIR / "ACTIVE_CONTEXT.md"
PROJECT_REGISTRY_PATH = DATA_DIR / "PROJECT_REGISTRY.md"
DB_PATH = DATA_DIR / "context.db"
# ── Claude Code session logs ────────────────────────────────────────
CLAUDE_PROJECTS_DIR = Path(r"C:\Users\renat\.claude\projects")
CLAUDE_SESSION_DIR = CLAUDE_PROJECTS_DIR / "C--Users-renat-skills"
MEMORY_DIR = CLAUDE_SESSION_DIR / "memory"
MEMORY_MD_PATH = MEMORY_DIR / "MEMORY.md"
# ── Limites ─────────────────────────────────────────────────────────
MAX_ACTIVE_CONTEXT_LINES = 150 # MEMORY.md é truncado em 200 linhas
MAX_RECENT_SESSIONS = 5 # Sessões recentes carregadas no briefing
ARCHIVE_AFTER_SESSIONS = 20 # Arquivar sessões mais antigas que N
MAX_DECISIONS_AGE_DAYS = 30 # Decisões mais velhas são podadas
MAX_SEARCH_RESULTS = 10 # Resultados padrão de busca
# ── Padrões de detecção ────────────────────────────────────────────
# Palavras que indicam decisões no texto
DECISION_MARKERS_PT = [
"decidimos", "vamos usar", "optamos por", "escolhemos",
"a decisão foi", "ficou decidido", "definimos que",
"a abordagem será", "seguiremos com",
]
DECISION_MARKERS_EN = [
"we decided", "let's use", "we'll go with", "the decision is",
"we chose", "going with", "the approach will be", "decided to",
]
DECISION_MARKERS = DECISION_MARKERS_PT + DECISION_MARKERS_EN
# Palavras que indicam tarefas pendentes
PENDING_MARKERS_PT = [
"falta", "ainda precisa", "pendente", "todo:", "TODO:",
"depois vamos", "próximo passo", "faltando",
]
PENDING_MARKERS_EN = [
"todo:", "TODO:", "still need", "pending", "next step",
"remaining", "left to do", "needs to be done",
]
PENDING_MARKERS = PENDING_MARKERS_PT + PENDING_MARKERS_EN
# Ferramentas que modificam arquivos (para detectar files_modified)
FILE_MODIFYING_TOOLS = {"Edit", "Write", "NotebookEdit"}
FILE_READING_TOOLS = {"Read", "Glob", "Grep"}
# ── Projetos conhecidos ────────────────────────────────────────────
# Mapeamento de subdiretórios de SKILLS_ROOT para nomes de projeto
KNOWN_PROJECTS = {
"instagram": "Instagram Integration",
"juntas-comerciais": "Juntas Comerciais Scraper",
"whatsapp-cloud-api": "WhatsApp Cloud API",
"context-agent": "Context Agent",
}