import type { ThinkingLevel } from "@caupulican/pi-agent-core"; import type { ModelRouterSettings, ProfileDefinitionInput, ResourceProfileSettings, Settings } from "./settings-manager.ts"; export type ProfileSource = "global-settings" | "project-settings" | "external-settings" | "profile-file" | "directory-overlay" | "inline" | "embedded" | "bundle"; export interface NormalizedProfile { name: string; description?: string; model?: string; thinking?: ThinkingLevel; modelRouter?: ModelRouterSettings; /** Situational identity injected into the system prompt while this profile is active (R6). */ soul?: string; resources: ResourceProfileSettings; source: ProfileSource; sourcePath?: string; baseDir?: string; } export interface ProfileRegistryDiagnostic { source: ProfileSource; path?: string; message: string; } export interface ProfileRegistryOptions { globalSettings: Settings; projectSettings: Settings; directoryProfileSettings: Settings; inlineResourceProfileDefinitions: Record; discoveredResourceProfileDefinitions: Record; profilesDir?: string; externalResourceRoots?: string[]; } /** Name of the built-in, always-available profile that enables every discovered resource. */ export declare const ALL_ACTIVE_PROFILE_NAME = "all-active"; /** * The built-in "all-active" profile. Registered as the weakest candidate in * `collectCandidates()` so any user-defined profile of the same name overrides it. */ export declare const ALL_ACTIVE_BUILTIN_PROFILE: NormalizedProfile; export declare class ProfileRegistry { private options; private diagnostics; constructor(options: ProfileRegistryOptions); listDiagnostics(): ProfileRegistryDiagnostic[]; listProfiles(): NormalizedProfile[]; getProfile(name: string): NormalizedProfile | undefined; resolveProfileRef(ref: string, fromDir: string): NormalizedProfile | undefined; private collectCandidates; private loadProfileFiles; private loadExternalSettingsProfiles; private loadProfileFile; } //# sourceMappingURL=profile-registry.d.ts.map