import type { ModelRegistry } from "../model-registry.ts"; import type { SettingsManager } from "../settings-manager.ts"; import type { OrchestrationProfile, OrchestrationThinkingLevel } from "./contracts.ts"; import type { SessionTaskProfileStore } from "./session-task-profile-store.ts"; export interface TaskProfileModelSelection { provider: string; modelId: string; } export interface TaskProfileCreateInput { task: string; baseProfileId?: string; model?: TaskProfileModelSelection; thinkingLevel?: OrchestrationThinkingLevel; path?: string; toolNames?: readonly string[]; } export interface TaskProfileInspection { baseProfiles: Array<{ profileId: string; role: string; description: string; }>; /** Exact native-lane surface a no-base profile inherits from the live foreground session. */ inheritedToolNames: readonly string[]; models: Array<{ provider: string; modelId: string; thinkingLevels: readonly OrchestrationThinkingLevel[]; }>; } export interface TaskProfileCreateResult { created: boolean; reason?: string; profileId?: string; baseProfileId?: string; changedFields?: string[]; } export interface TaskProfileWriterPort { inspectTaskProfileOptions(): TaskProfileInspection; createTaskProfile(input: TaskProfileCreateInput): TaskProfileCreateResult; } export interface TaskProfileWriterOptions { agentDir: string; cwd: string; store: SessionTaskProfileStore; getSettingsManager(): SettingsManager; getModelRegistry(): ModelRegistry; isModelExhausted(provider: string, modelId: string): boolean; getActiveOrchestrationProfile(): OrchestrationProfile | undefined; /** Host-compiled foreground inheritance used when no owner-authored base is selected. */ getInheritedBaseProfile(): OrchestrationProfile | undefined; } export declare class TaskProfileWriter implements TaskProfileWriterPort { private readonly options; constructor(options: TaskProfileWriterOptions); inspectTaskProfileOptions(): TaskProfileInspection; createTaskProfile(input: TaskProfileCreateInput): TaskProfileCreateResult; private authorizedBaseProfiles; private loadOwnerProfiles; } //# sourceMappingURL=task-profile-writer.d.ts.map