import { type EffortLevel } from "@mono-agent/config"; import { type PiAuthStoreInspection } from "../pi-auth-store-inspection.js"; export type WizardModelSource = "pi" | "ollama" | "lmstudio" | "custom"; export type WizardModelAvailability = "catalog_available"; export type WizardModelAuthState = "auth_required" | "credential_detected" | "verified" | "not_required"; /** Cloud Pi providers that guided onboarding can authenticate and prove end to end. */ export declare const GUIDED_PI_PROVIDER_IDS: readonly ["anthropic", "github-copilot", "openai-codex", "opencode-go"]; /** Whether a selected Pi route has an API key in the destination agent environment. */ export declare function hasDurablePiEnvironmentCredential(rawModelRef: string, persistedEnv: Readonly>): boolean; /** Reject known unsupported remote Pi integrations while leaving custom local ids available. */ export declare function guidedPiProviderProblem(provider: string): string | undefined; export interface WizardModelCandidate { readonly value: string; readonly label: string; readonly hint?: string; readonly source: WizardModelSource; readonly discovered?: boolean; readonly setupRequired?: boolean; readonly availability?: WizardModelAvailability; readonly authState?: WizardModelAuthState; readonly supportedEfforts?: readonly EffortLevel[]; readonly defaultEffort?: EffortLevel; /** Provider-declared default model; curated offline Codex fallback uses Terra. */ readonly providerDefault?: boolean; } export interface ModelDiscoveryStatus { readonly provider: "Pi" | "Ollama" | "LM Studio"; readonly status: "detected" | "setup_available" | "unavailable"; readonly detail: string; } export interface ModelDiscoveryResult { readonly candidates: readonly WizardModelCandidate[]; readonly statuses: readonly ModelDiscoveryStatus[]; } interface ExecResult { readonly stdout: string; } export interface DiscoverWizardModelsOptions { readonly execFile?: (file: string, args: readonly string[], opts: { readonly timeout: number; readonly env?: Record; readonly abortSignal?: AbortSignal; }) => Promise; readonly fetch?: typeof fetch; /** Deterministic inspection seam for tests; production uses the hardened filesystem inspector. */ readonly inspectPiAuthStore?: (path: string) => Promise; readonly piAuthPath?: string; /** Values parsed from the destination `.env`; ambient shell credentials are intentionally excluded. */ readonly persistedEnv?: Readonly>; readonly abortSignal?: AbortSignal; readonly timeoutMs?: number; readonly verifiedModelRefs?: readonly string[]; } export declare const STATIC_MODEL_CANDIDATES: readonly WizardModelCandidate[]; export declare function discoverWizardModelCandidates(opts?: DiscoverWizardModelsOptions): Promise; export declare function rankWizardModelCandidates(candidates: readonly WizardModelCandidate[]): WizardModelCandidate[]; export declare function formatModelDiscoveryStatus(statuses: readonly ModelDiscoveryStatus[]): string; export declare function defaultEffortForModelRef(modelRef: string, reasoning?: boolean): EffortLevel | undefined; export declare function parseOpenCodeGoModels(stdout: string): string[]; export {}; //# sourceMappingURL=model-discovery.d.ts.map