/** * Inicialização da ponte com o Maestro: detecção de providers instalados e * criação interativa de agente via `maestro-cli create-agent`. * * O seletor lista SÓ os providers realmente detectados no PATH (mais a opção * "outro"), porque a máquina desta casa não tem Claude e um item não * selecionável seria ruído. Provider ausente fica fora; tipo custom entra pelo * "outro". */ import type { MaestroCli, ProviderChannel, ProviderChannelId } from './types.js'; import { type SpawnFn } from './cli.js'; /** Catálogo de channels suportados (spec §2: providers alvo). */ export declare const PROVIDER_DEFS: ReadonlyArray<{ id: ProviderChannelId; label: string; executable: string; }>; /** Detecta os providers instalados no PATH. Ausentes ficam com `installed: false`. */ export declare function detectProviders(): ProviderChannel[]; export interface InitFlowOptions { /** Diretório de trabalho do agente Maestro (default: cwd). */ workspace: string; /** Nome do agente (default: nome da pasta do workspace). */ name?: string; /** Channel/type pré-selecionado: pula o seletor interativo. */ channel?: string; /** Pasta Auto Run (default: `/.maestro/playbooks`). */ autoRunFolder?: string; /** Binário do maestro-cli resolvido (sem isso, resolve solo). */ cli?: MaestroCli; /** Injectável para testes (nunca spawnar maestro-cli real em teste). */ spawnImpl?: SpawnFn; /** Streams do seletor interativo (default: stdin/stdout do processo). */ input?: NodeJS.ReadableStream; output?: NodeJS.WritableStream; } export interface InitFlowResult { created: boolean; agentId?: string; agentName: string; channel: string; autoRunFolder: string; /** stdout bruto do maestro-cli para diagnóstico. */ output: string; /** stderr/mensagem quando a criação falhou. */ error?: string; } /** * Fluxo interativo (ou não) de criação de agente Maestro. * Retorna o resultado; NUNCA chama `process.exit` (responsabilidade da CLI). */ export declare function maestroInit(opts: InitFlowOptions): Promise; //# sourceMappingURL=init.d.ts.map