import type { Api, Model } from "@caupulican/pi-ai"; import type { ModelRegistry } from "../model-registry.ts"; import type { OrchestrationModelBinding, OrchestrationProfile, ResourcePointer, WorkerProfileExecutionContract } from "../orchestration/contracts.ts"; import type { SessionTaskProfileStore } from "../orchestration/session-task-profile-store.ts"; import type { SettingsManager } from "../settings-manager.ts"; import type { WorkerDelegationRequest } from "./worker-delegation-request.ts"; import { type WorkerResourceCatalogResourceLoader } from "./worker-resource-catalog.ts"; export interface ResolvedWorkerProfile { model: Model; modelBinding: OrchestrationModelBinding; profile: OrchestrationProfile; /** Metadata-only pointers admitted from the profile-linked resource configuration. */ resourcePointers: readonly ResourcePointer[]; soul?: string; } export interface ResolvedWorkerProfilePreset { profile: OrchestrationProfile; /** Metadata-only pointers admitted from the profile-linked resource configuration. */ resourcePointers: readonly ResourcePointer[]; soul?: string; } export interface WorkerProfileResolverOptions { agentDir: string; cwd: string; getSettingsManager(): SettingsManager; getResourceLoader(): WorkerResourceCatalogResourceLoader; getModelRegistry(): ModelRegistry; isModelExhausted(model: Model): boolean; getTaskProfileStore(): SessionTaskProfileStore; onDiagnostic(message: string): void; } export declare class WorkerProfileResolver { private readonly options; private readonly warnedDiagnostics; constructor(options: WorkerProfileResolverOptions); catalog(): Array<{ profileId: string; role: string; description: string; }>; resolve(request: WorkerDelegationRequest, defaultProfileId: string | undefined): { ok: true; resolved: ResolvedWorkerProfile; } | { ok: false; reason: string; }; resolvePreset(request: WorkerDelegationRequest, defaultProfileId: string | undefined): { ok: true; resolved: ResolvedWorkerProfilePreset; } | { ok: false; reason: string; }; resolveVerifier(workerProfile: OrchestrationProfile): { ok: true; resolved: ResolvedWorkerProfile; } | { ok: false; reason: string; }; resolveVerifierPreset(workerProfile: OrchestrationProfile): { ok: true; resolved: ResolvedWorkerProfilePreset; } | { ok: false; reason: string; }; bindPreset(preset: ResolvedWorkerProfilePreset, modelPin?: OrchestrationModelBinding): { ok: true; resolved: ResolvedWorkerProfile; } | { ok: false; reason: string; }; resolveContract(contract: WorkerProfileExecutionContract): { ok: true; resolved: ResolvedWorkerProfile; } | { ok: false; reason: string; }; private resolveProfilePresetId; private loadProfiles; } //# sourceMappingURL=worker-profile-resolver.d.ts.map