import type { EffortLevel } from "@mono-agent/config"; import { discoverClaudeSdkModels } from "@mono-agent/runtime-adapter"; import { type PiAuthStoreInspection } from "../pi-auth-store-inspection.js"; export type WizardModelSource = "claude" | "pi" | "codex" | "opencode" | "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"]; /** 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: "Claude" | "Codex" | "Pi" | "OpenCode-Go" | "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[]; readonly codexModelList?: () => Promise; readonly claudeModelList?: () => ReturnType; } export interface CodexCatalogModel { readonly id: string; readonly displayName: string; readonly supportedEfforts: readonly EffortLevel[]; readonly defaultEffort?: EffortLevel; readonly isDefault?: boolean; } 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; /** Exact non-secret environment used by live Codex model/list discovery. */ export declare function codexModelDiscoveryEnvironment(persistedEnv?: Readonly>, shellEnv?: Readonly>): Record; export {}; //# sourceMappingURL=model-discovery.d.ts.map