export { PI_AGENT_DIR, PI_SESSIONS_DIR, PI_MODELS_PATH } from './defaults.js'; export { buildProviderOverrides, writeProvidersConfig, type ProviderOverride, type WriteProvidersOpts, } from './providers-config.js'; export declare const PI_DEFAULT_AGENTS_DIR: string; /** The user's own PI provider catalog: where user-defined providers are declared, shared with the * terminal `pi` CLI. Daemon-only โ€” a trial never reads the host PI home (design ยง13 A1). */ export declare const USER_PI_MODELS_PATH: string; export interface EnsureAuthVisibleOpts { /** Source: where the user's PI auth.json lives. Defaults to ~/.pi/agent/auth.json. */ userAuthPath?: string; /** Target dir (PI_CODING_AGENT_DIR). Defaults to PI_AGENT_DIR. */ agentDir?: string; } /** * Make the user's PI OAuth/API-key credentials visible to the PI subprocess running under * cortex's PI_CODING_AGENT_DIR. Uses symlink on Linux/macOS so PI's automatic OAuth refresh * writes back to the user's canonical location. Falls back to file copy on Windows. * * Idempotent: a correctly-pointed symlink is preserved; a stale file/symlink is replaced. * Silently no-ops when the user has not logged into PI (no source auth.json). */ export declare function ensureAuthVisible(opts?: EnsureAuthVisibleOpts): void; export interface EnsurePIAgentRolesOpts { defaultsDir?: string; agentDir?: string; } export declare function ensurePIAgentRoles(opts?: EnsurePIAgentRolesOpts): void; export declare function ensurePIAgentDirs(): void; export interface EnsureTransportOpts { agentDir?: string; } /** * Pin PI's transport to SSE inside the Cortex-private agent dir. * * PI surfaces provider response headers to extensions only on its SSE path โ€” the WebSocket * transport never fires `after_provider_response` โ€” and the quota probe reads the throttle's * input from exactly those headers. PI's default (`auto`) tries WebSocket first, so leaving it * unset makes quota telemetry contingent on that attempt failing. Pinning turns an observed * fallback into a guarantee, and drops one dead handshake per session. * * Only this private dir is touched; the user's own `~/.pi` keeps whatever they chose. */ export declare function ensureQuotaVisibleTransport(opts?: EnsureTransportOpts): void;