70 lines
3.3 KiB
Python
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",
|
|
}
|