import { i as PersonaVoiceOverride, r as PersonaIdentity } from "./profiles-CTrUCmIh.mjs"; //#region src/services/profiles/index.d.ts /** Files that make up one repository persona, concatenated in this order. */ declare const PERSONA_FILES: string[]; /** A persona's resolved presentation: display name, and an icon already read into a data URL. */ interface AgentProfile { name: string; /** Directory relative to personaRoot, which remains the persona source. */ persona: string; /** * Root the persona path resolves against: the repository root for a * repository profile, the global `.doom` directory for a global one. */ personaRoot: string; /** Environment defaults. Values already exported by the caller win. */ env: Record; /** Display name and avatar declared in the persona's own front-matter. */ identity?: PersonaIdentity; /** Narrowly scoped TTS override declared alongside the identity. */ voice?: PersonaVoiceOverride; } /** * Loads profiles from the global and repository configs, repository last. * * Configured roots accumulate and inspect themselves or their direct-child * directories for persona files. Later discoveries replace earlier names, and * explicit entries replace discoveries. Legacy flat profile mappings remain * accepted as explicit entries. */ declare function loadProfiles(repoRoot: string, homeDirectory?: string): AgentProfile[]; /** * The profile catalog: every resolved profile, plus the name a launch starts on * when the caller names none. * * `defaultProfile` mirrors `defaultMajorMode` in modes.yaml and `defaultDomains` * in domains.yaml, so each selection axis declares its default in its own * catalog. A repository declaration replaces a personal one. An unknown name is * an error rather than a silent fallback: a typo that quietly starts the session * with no persona is worse than a refused launch. */ declare function loadProfileCatalog(repoRoot: string, homeDirectory?: string): { profiles: AgentProfile[]; defaultProfile?: string; }; /** Resolves one selected profile and fails clearly when its name is unknown. */ declare function resolveProfile(repoRoot: string, name: string, homeDirectory?: string): AgentProfile; declare function listProfileNames(repoRoot: string, homeDirectory?: string): string[]; /** Builds the persona system-prompt block, or undefined when nothing is readable. */ declare function buildPersonaPrompt(personaRoot: string, personaDirectory: string): string | undefined; /** Applies profile environment defaults and returns only the values it contributed. */ declare function applyProfileEnvironment(environment: NodeJS.ProcessEnv, defaults: Record): Record; /** Replaces environment defaults previously contributed by another profile. */ declare function replaceProfileEnvironment(environment: NodeJS.ProcessEnv, previous: Record, next: Record): Record; //#endregion export { listProfileNames as a, replaceProfileEnvironment as c, buildPersonaPrompt as i, resolveProfile as l, PERSONA_FILES as n, loadProfileCatalog as o, applyProfileEnvironment as r, loadProfiles as s, AgentProfile as t }; //# sourceMappingURL=index-D1orojWT.d.mts.map