/** * Zoe CLI — Shared session bootstrap * * The setup phase that both dispatch paths need: config load + merge, * provider resolution (+ interactive setup wizard), permission level, * Agent construction, skills init, gateway init, and the documents dir. * * Extracted verbatim from `runChat()` so the readline fallback and the * Ink TUI share one setup path — no duplicated ~175 lines, and * `zoe -n` stays byte-identical (the setup prints only the same * interactive-gated status messages as before). UI chrome (welcome * banner, "agent initialized", the readline loop) stays in the caller. */ import { Agent } from './agent.js'; import type { PermissionLevel, PersistenceBackend } from '../../core/types.js'; export interface CliSessionContext { agent: Agent; fullConfig: any; activeProviderType: string; providerConfig: any; permissionLevel: PermissionLevel | undefined; gatewayInstance: any; persistence: PersistenceBackend; } export declare function bootstrapCliSession(options: any): Promise;