/** * Building blocks of `init upgrade`: the UpgradeResult shape, project * re-indexing, settings.json merge and helper-tree sync. */ import type { FileGuard } from './file-guard.js'; import { type ProjectIndexCounts } from './project-indexes.js'; /** * Upgrade result interface */ export interface UpgradeResult { success: boolean; updated: string[]; created: string[]; preserved: string[]; errors: string[]; /** Added by --add-missing flag */ addedSkills?: string[]; addedAgents?: string[]; addedCommands?: string[]; /** Added by --settings flag */ settingsUpdated?: string[]; /** Installed agents replaced with the bundled file (only metadata differed). */ refreshedAgents?: string[]; /** Installed agents left alone because their body differs from the bundle. */ keptAgents?: string[]; /** Agent registry and skill index counts (see init/project-indexes.ts). */ indexes?: ProjectIndexCounts; /** Helpers kept because the user edited them (see file-guard.ts). */ kept?: string[]; /** Things the user must be told even though the upgrade succeeded. */ warnings?: string[]; } /** Rebuilds the agent registry and skill index, recording them in `result`. */ export declare function indexProject(targetDir: string, result: UpgradeResult, sourceHelpersDir?: string | null): void; /** True for the `monomind.agentTeams` block earlier inits wrote next to the flag * (#655). Its `coordination.sharedMemoryNamespace: "agent-teams"` is Monomind's own * key; someone who turned Claude Code's teams on by hand does not have it. */ export declare function isMonomindAgentTeamsBlock(block: unknown): boolean; /** * Merge new settings into existing settings.json * Preserves user customizations while adding new features like Agent Teams * Uses platform-specific commands for Mac, Linux, and Windows */ export declare function mergeSettingsForUpgrade(existing: Record, report?: string[]): Record; /** * Refresh one installed helper tree from the bundled source: force-sync the * HELPER_FILES critical set, create any other missing top-level helper (never * overwriting one), and recursively sync utils/ and handlers/. Files the bundle * does not ship are never touched, so user files survive. */ export declare function syncHelperTree(sourceDir: string, destHelpersDir: string, label: string, result: UpgradeResult, guard: FileGuard): void; //# sourceMappingURL=upgrade-steps.d.ts.map