/** * Model Configuration * * Reads per-mode model overrides and default-env overrides from .omx-config.json. * * Config format: * { * "env": { * "OMX_DEFAULT_FRONTIER_MODEL": "your-frontier-model", * "OMX_DEFAULT_STANDARD_MODEL": "your-standard-model", * "OMX_DEFAULT_SPARK_MODEL": "your-spark-model" * }, * "models": { * "default": "gpt-6-sol", * "team": "gpt-6-sol" * }, * "agentReasoning": { * "architect": "xhigh" * }, * "agentModels": { * "architect": "gpt-6-astra" * } * } * * Resolution: * - getModelForMode: models[mode] > models.default > main default (shell env > .omx-config.json env > config.toml root model > built-in default) * - Native TOML model: agentModels override > built-in-provider exactModel pin; otherwise no model field (inherit at runtime) * - Team role fallback: agentModels > `*-low` spark path > exactModel pin (provider-independent) > executor/main > modelClass defaults */ export interface ModelsConfig { [mode: string]: string | undefined; } export interface OmxConfigEnv { [key: string]: string | undefined; } /** @deprecated Use the surface-specific per-agent or root reasoning exports instead. */ export declare const CANONICAL_REASONING_EFFORTS: readonly ['low', 'medium', 'high', 'xhigh']; export type ConfiguredAgentReasoningEffort = (typeof CANONICAL_REASONING_EFFORTS)[number]; /** @deprecated Use ROOT_UNSUPPORTED_REASONING_EFFORTS for root diagnostics. */ export declare const AMBIGUOUS_UNSUPPORTED_REASONING_EFFORTS: readonly ['max', 'ultra']; export type AmbiguousUnsupportedReasoningEffort = (typeof AMBIGUOUS_UNSUPPORTED_REASONING_EFFORTS)[number]; export declare const PER_AGENT_REASONING_EFFORTS: readonly ['low', 'medium', 'high', 'xhigh', 'max']; export type PerAgentReasoningEffort = (typeof PER_AGENT_REASONING_EFFORTS)[number]; export declare const ROOT_REASONING_EFFORTS: readonly ['low', 'medium', 'high', 'xhigh']; export type RootReasoningEffort = (typeof ROOT_REASONING_EFFORTS)[number]; export declare const ROOT_UNSUPPORTED_REASONING_EFFORTS: readonly ['max', 'ultra']; export type RootUnsupportedReasoningEffort = (typeof ROOT_UNSUPPORTED_REASONING_EFFORTS)[number]; export declare const OMX_DEFAULT_FRONTIER_MODEL_ENV = "OMX_DEFAULT_FRONTIER_MODEL"; export declare const OMX_DEFAULT_STANDARD_MODEL_ENV = "OMX_DEFAULT_STANDARD_MODEL"; export declare const OMX_DEFAULT_SPARK_MODEL_ENV = "OMX_DEFAULT_SPARK_MODEL"; export declare const OMX_SPARK_MODEL_ENV = "OMX_SPARK_MODEL"; export declare const OMX_TEAM_CHILD_MODEL_ENV = "OMX_TEAM_CHILD_MODEL"; export declare const DEFAULT_FRONTIER_MODEL = "gpt-6-astra"; export declare const DEFAULT_STANDARD_MODEL = "gpt-6-astra"; export declare const DEFAULT_SPARK_MODEL = "gpt-6-astra"; /** * Built-in provider IDs that come with Codex. * Custom/third-party providers are everything else. */ export declare const BUILTIN_PROVIDER_IDS: ReadonlySet; export declare const GPT_5_6_MODEL_ALIASES: readonly ['gpt-5.6-terra', 'gpt-5.6-luna', 'gpt-5.6-sol']; export declare const KNOWN_CODEX_MODEL_ALIASES: readonly ["gpt-6-astra", "gpt-6-sol", "gpt-6.1-sol", "gpt-6.1-terra", "gpt-6-luna", "gpt-5.6-terra", "gpt-5.6-luna", "gpt-5.6-sol"]; export type KnownCodexModelAlias = (typeof KNOWN_CODEX_MODEL_ALIASES)[number]; export declare function isKnownCodexModelAlias(model: string): model is KnownCodexModelAlias; export declare const DEFAULT_TEAM_CHILD_MODEL = "gpt-6-astra"; export declare function isAmbiguousUnsupportedReasoningEffort(value: string): value is AmbiguousUnsupportedReasoningEffort; export declare function isUnsupportedRootReasoningEffort(value: string): boolean; export declare function normalizeUnsupportedRootReasoningEffort(value: string): RootUnsupportedReasoningEffort | undefined; /** Configured `models.team_low_complexity` (or alias-key) override, if any. */ export declare function getConfiguredTeamLowComplexityModel(codexHomeOverride?: string): string | undefined; export declare function readConfiguredEnvOverrides(codexHomeOverride?: string): NodeJS.ProcessEnv; export declare function readAgentReasoningOverrides(codexHomeOverride?: string): Record; export declare function getAgentReasoningOverride(agentName: string | undefined, codexHomeOverride?: string): PerAgentReasoningEffort | undefined; export declare function readAgentModelOverrides(codexHomeOverride?: string): Record; export declare function getAgentModelOverride(agentName: string | undefined, codexHomeOverride?: string): string | undefined; export declare function readActiveProviderEnvOverrides(env?: NodeJS.ProcessEnv, codexHomeOverride?: string, activeProviderOverride?: string): NodeJS.ProcessEnv; export declare function getEnvConfiguredMainDefaultModel(env?: NodeJS.ProcessEnv, codexHomeOverride?: string): string | undefined; /** * Check if a model is explicitly configured at the root level. * This is used to determine if we should suppress astra guidance for custom providers. */ export declare function isModelConfiguredAtRoot(codexHomeOverride?: string): boolean; /** * Resolve the effective configured model, considering profile-specific overrides. * If a profile is active, profile-specific model takes precedence. * Falls back to root-level model if no profile is set or profile has no override. * Returns undefined if no model is configured at either level. */ export declare function getCodexConfigEffectiveModel(codexHomeOverride?: string): string | undefined; /** * Check if a model is configured either at root or in an active profile. * Used to determine if exactModel pins should be baked for built-in providers. */ export declare function isModelConfigured(codexHomeOverride?: string): boolean; /** * Check if a model is configured by an active profile (not at root). * Used to determine if profile models should apply before class-based fallbacks. */ export declare function isProfileScopedModel(codexHomeOverride?: string): boolean; export declare function getCodexConfigRootModelProvider(codexHomeOverride?: string): string | undefined; /** * Resolve the effective model provider, considering profile-specific overrides. * If a profile is active, profile-specific model_provider takes precedence. * Falls back to root-level model_provider if no profile is set or profile has no override. */ export declare function getCodexConfigEffectiveModelProvider(codexHomeOverride?: string): string | undefined; /** * Check if a provider ID is a built-in provider. */ export declare function isBuiltinProvider(providerId: string | undefined): boolean; export declare function getEnvConfiguredStandardDefaultModel(env?: NodeJS.ProcessEnv, codexHomeOverride?: string): string | undefined; export declare function getEnvConfiguredSparkDefaultModel(env?: NodeJS.ProcessEnv, codexHomeOverride?: string): string | undefined; export declare function getTeamChildModel(codexHomeOverride?: string): string; /** * Get the envvar-backed main/default model. * Resolution: OMX_DEFAULT_FRONTIER_MODEL > config.toml model > DEFAULT_FRONTIER_MODEL */ export declare function getMainDefaultModel(codexHomeOverride?: string): string; /** * Get the envvar-backed standard/default subagent model. * * Standard-role subagents inherit the configured main/default model unless an * explicit standard-lane override is configured. This keeps spawned agents in * sync with the leader model while preserving OMX_DEFAULT_STANDARD_MODEL as the * opt-in escape hatch for cheaper/specialized standard workers. * * Resolution: OMX_DEFAULT_STANDARD_MODEL > OMX_DEFAULT_FRONTIER_MODEL > config.toml model > DEFAULT_FRONTIER_MODEL */ export declare function getStandardDefaultModel(codexHomeOverride?: string): string; /** * Get the configured model for a specific mode. * Resolution: mode-specific override > "default" key > OMX_DEFAULT_FRONTIER_MODEL > DEFAULT_FRONTIER_MODEL */ export declare function getModelForMode(mode: string, codexHomeOverride?: string): string; /** * Get the envvar-backed spark/low-complexity default model. * Resolution: OMX_DEFAULT_SPARK_MODEL > OMX_SPARK_MODEL > explicit low-complexity key(s) > DEFAULT_SPARK_MODEL */ export declare function getSparkDefaultModel(codexHomeOverride?: string): string; /** * Get the low-complexity team worker model. * Resolution: explicit low-complexity key(s) > OMX_DEFAULT_SPARK_MODEL > OMX_SPARK_MODEL > DEFAULT_SPARK_MODEL */ export declare function getTeamLowComplexityModel(codexHomeOverride?: string): string; //# sourceMappingURL=models.d.ts.map