import { v as DoomHarnessContext, x as HarnessState } from "./config-XC40aztM.mjs"; import { o as MajorModesConfig } from "./index-BSNx1X3s.mjs"; import { t as AgentProfile } from "./index-D1orojWT.mjs"; //#region src/services/selectionSwitch/index.d.ts /** * Applying a selection axis to harness state. * * Every axis writes through the harness store and relies on Pi's reload * re-executing extension modules, which drops their module-level caches and * makes them re-read the environment. * * These live here rather than in the packages that own the /mode and /profile * commands because the synced startup path applies the same switches from its * --major-mode and --profile flags before any command exists to run them. * Domains is the exception and stays with its resource staging. */ /** Applies one major mode and the hook groups its effective layers contribute. */ export declare function applyMajorMode(config: MajorModesConfig, majorMode: string, state: DoomHarnessContext, compositionFingerprint?: string, childExtensions?: readonly string[]): HarnessState; /** * Persona: rewrites the assembled prompt file that the persona extension reads. * * The extension re-reads the file on reload and appends its block to whatever * system prompt it is given, so the repository's own AGENTS.md keeps applying * underneath. Returns false when the directories hold no readable persona. */ export declare function applyPersona(personaDirectory: string, state: DoomHarnessContext, personaRoot?: string): Promise; /** Profile: one persona plus the environment defaults it declares. */ export declare function applyProfile(profile: AgentProfile, state: DoomHarnessContext): Promise; //#endregion //# sourceMappingURL=selectionSwitch.d.mts.map