/** * Packs de skills selecionáveis durante o `izanagi init`. * `core` é obrigatório e nunca pode ser desmarcado. */ export interface PackDefinition { id: string; label: string; description: string; files: string[]; default?: boolean; } export declare const PACKS: PackDefinition[]; export declare const CORE_PACK_ID = "core"; /** * Pasta raiz do pacote instalado (node_modules/izanagi-ai ou raiz do repo). */ export declare function getPackageDir(): string; /** * Resolve o framework root do projeto do usuário: * - Se o projeto foi inicializado de fato (`.agents/core` existe: o pack `core` é * sempre copiado por `izanagi init`), usa `.agents/` (permite edição local). * - Caso contrário, usa a raiz do pacote instalado. * * Checar só `fs.existsSync(cwd/.agents)` (sem o `/core`) é um falso positivo real: * `.agents/memoria/` é criado pelo próprio runtime (`izanagi run`) para persistir * memória, mesmo sem `izanagi init` nunca ter sido executado. Nesse caso `.agents/` * existe mas não tem `agents/`, `core/`, `skills/` — todo comando (`doctor`, `run`, * `agent list`...) então procurava RULES.md/skill-resolver.json ali dentro e falhava * silenciosamente, mesmo dentro do próprio checkout do framework (rodar `izanagi doctor` * na raiz deste repo depois de qualquer `izanagi run` de teste local reproduz o bug). */ export declare function resolveFrameworkRoot(cwd: string): string; /** * Onde vive o ESTADO deste projeto (`.izanagi/state`: traces, artefatos, * memória, checkpoints, aprovações, decisões). * * Não é a mesma pergunta que `resolveFrameworkRoot`, e confundir as duas era * um bug real: aquela função responde "de onde leio agentes e skills?", e o * fallback dela para a instalação do pacote está certo — é lá que os agentes * embutidos moram. Usar a MESMA raiz para o estado fazia todo projeto sem * `izanagi init` gravar trace, artefato (com conteúdo) e memória dentro de * `node_modules/izanagi-ai/`, compartilhados entre todos esses projetos. Na * prática: `izanagi trace` listava execução de outro projeto, e um * `npm update` apagava o histórico. * * Projeto inicializado continua com o estado em `/.agents/`, exatamente * onde sempre esteve — mover isso apagaria o histórico de quem já usa. O que * muda é só o caso quebrado: sem `.agents/`, o estado fica no próprio * diretório do projeto, e não na instalação do framework. */ export declare function resolveStateRoot(cwd: string): string; /** * O diretório é o checkout do repositório-fonte do Izanagi? * * Existe para um caso em que a correção seria pior que o bug: rodar `izanagi init` * dentro do próprio checkout. Ali a cópia literal dos documentos de raiz está * CERTA (eles descrevem esse projeto), e escrever a versão de consumidor apagaria * as seções 3/4/5/9, que são justamente a documentação de desenvolvimento do repo. */ export declare function isFrameworkRepo(root: string): boolean; /** * O `AGENTS.md` com a forma do projeto CONSUMIDOR. * * Deriva da fonte por SELEÇÃO de seções, nunca por prosa reescrita: uma segunda * cópia do mesmo texto é uma cópia para divergir da primeira, que é exatamente o * defeito que esta função conserta. O que se acrescenta é só o que a fonte não * pode saber: que este projeto consome o framework em vez de desenvolvê-lo, e * quais comandos existem aqui. */ export declare function buildConsumerAgentsDoc(packageDir: string): string; export declare function installToProject(targetDir: string, selectedPackIds: string[], cliTarget?: string): void; //# sourceMappingURL=installer.d.ts.map