import type { Provider, ThinkingLevel } from "@kenkaiiii/gg-ai"; import { getAppPaths, type AppPaths } from "@kenkaiiii/gg-core"; import type { ThemeName } from "./ui/theme/theme.js"; export declare const APP_NAME = "ggcoder"; export declare const VERSION = "0.0.1"; export { getAppPaths }; export type { AppPaths }; export declare function ensureAppDirs(): Promise; export interface SavedSettings { provider?: Provider; model?: string; autoCompact: boolean; compactThreshold: number; thinkingEnabled: boolean; thinkingLevel?: ThinkingLevel; theme: "auto" | ThemeName; idealReviewEnabled: boolean; /** Append LSP diagnostics to edit/write tool results. */ lspDiagnostics: boolean; /** Allow write/edit outside the workspace (cwd, tmpdir, ~/.gg). */ allowOutsideWorkspaceWrites: boolean; /** Connect MCP servers declared in the opened repo's .gg/mcp.json. That file * is repo-controlled, so a malicious repo could run a command the moment * the project opens. Default false — enable only for repos you trust. */ trustProjectMcpServers: boolean; /** Repo paths individually trusted for project-scope MCP (the per-repo * complement to the global `trustProjectMcpServers`). */ trustedProjects: string[]; /** Max concurrent subagents per resolved child model (1–4). Unset = global limit only. */ subagentMaxPerModel?: number; /** Days to keep session transcripts before startup pruning. 0 disables. */ sessionRetentionDays: number; /** Speed optimization profile. * - "baseline": current defaults (5-min cache TTL, no pre-warm) * - "optimized": 1-h cache TTL, cache pre-warming on first prompt * Default: "baseline" so existing behavior is unchanged until benchmarked/merged. */ speedProfile?: "baseline" | "optimized"; } /** Load saved settings from the settings file. Returns defaults on missing/invalid file. */ export declare function loadSavedSettings(settingsFilePath?: string): SavedSettings; /** Whether project-scope MCP is allowed for the given cwd. True when EITHER the * global `trustProjectMcpServers` toggle is on OR the resolved cwd is in the * per-repo `trustedProjects` list. Shared so the CLI, sidecar, and dashboard * all agree on the same decision. */ export declare function projectScopeAllowed(globalTrust: boolean, trustedProjects: string[], cwd: string): boolean; /** * SHA-256 of every agent body ggcoder has ever seeded into `~/.gg/agents`. * * All of those names now ship as BUNDLED_AGENTS with richer prompts, and user-dir * agents take precedence — so a seeded copy silently shadows the bundled one * and freezes it at the version that happened to be written on first run. * Delete those copies, but ONLY when the file is byte-identical to something we * wrote, so a user who edited or authored their own agent of that name keeps * it. Hashes cover every historical variant (`git log -p -- src/config.ts`); a * variant we missed just means that user keeps an old shadowing copy. */ export declare const SHADOWING_SEEDED_AGENT_HASHES: Record; /** * Reclaim agent files ggcoder seeded into the user agents dir in past versions. * * Nothing is seeded anymore: bee/owl/researcher/worker/auditor/skeptic ship as * BUNDLED_AGENTS, which stay improvable across upgrades. A file written to * `~/.gg/agents` never would. * * Exported for tests: `getAppPaths()` resolves `os.homedir()` inside gg-core's * prebuilt dist, which vitest does not transform, so a homedir spy would not * apply and the test would operate on the developer's real `~/.gg`. Tests must * call this with an explicit temp directory instead of going via ensureAppDirs. */ export declare function seedDefaultAgents(agentsDir: string): Promise; //# sourceMappingURL=config.d.ts.map