/** * [WHO]: Diagnostic data collectors for /debug command * [FROM]: Depends on core/extensions-host/types, node:os, node:child_process * [TO]: Consumed by extensions/builtin/debug/index.ts * [HERE]: extensions/builtin/debug/collectors.ts - structured system state snapshots */ import type { ExtensionContext } from "../../../core/extensions-host/types.js"; interface CollectorResult { data: T | null; error: string | null; } export interface SystemInfo { platform: string; arch: string; release: string; nodeVersion: string; hostname: string; cpuCount: number; cpuModel: string; totalMemoryGB: number; freeMemoryGB: number; uptimeHours: number; shell: string; term: string; } export interface ModelInfo { modelId: string; modelName: string; provider: string; baseUrl: string; reasoning: boolean; contextWindow: number; maxTokens: number; contextUsagePercent: number | null; contextTokens: number | null; } export interface SessionInfo { sessionId: string; sessionFile: string; cwd: string; sessionName: string | undefined; entryCount: number; leafId: string | null; } export interface ConfigInfo { defaultProvider: string | undefined; defaultModel: string | undefined; thinkingLevel: string | undefined; theme: string | undefined; locale: string | undefined; transport: string | undefined; steeringMode: string | undefined; extensionCount: number; packageCount: number; } export interface GitInfo { isRepo: boolean; branch: string; lastCommit: string; statusSummary: string; remoteUrl: string; } export interface AgentState { isIdle: boolean; hasPendingMessages: boolean; systemPromptLength: number; soulEnabled: boolean; } export interface DiagnosticData { system: CollectorResult; model: CollectorResult; session: CollectorResult; config: CollectorResult; git: CollectorResult; agent: CollectorResult; } export declare function collectSystemInfo(): Promise>; export declare function collectModelInfo(ctx: ExtensionContext): Promise>; export declare function collectSessionInfo(ctx: ExtensionContext): Promise>; export declare function collectConfigInfo(ctx: ExtensionContext): Promise>; export declare function collectGitInfo(cwd: string): Promise>; export declare function collectAgentState(ctx: ExtensionContext): Promise>; export declare function sanitizeForLLM(data: DiagnosticData): DiagnosticData; export declare function formatDiagnosticData(data: DiagnosticData): string; export interface PreferencesInfo { locale: string; localeSource: "memory" | "settings" | "system"; memoryDir: string; languagePreference: { found: boolean; name?: string; summary?: string; }[]; } export declare function collectPreferencesInfo(ctx: ExtensionContext): Promise>; export {};