/** * Clear the memory cache - exposed for testing * @internal */ export declare function __clearCacheForTesting(): void; /** * Model family type for prompt selection * Maps to different system prompts in the Codex CLI */ export type ModelFamily = "gpt-5-codex" | "codex-max" | "codex" | "gpt-5.4" | "gpt-5.4-mini" | "gpt-5.4-pro" | "gpt-5.2" | "gpt-5.1"; /** * All supported model families * Used for per-family account rotation and rate limit tracking */ export declare const MODEL_FAMILIES: readonly ModelFamily[]; /** * Determine the model family based on the normalized model name * @param normalizedModel - The normalized model name (e.g., "gpt-5-codex", "gpt-5.1-codex-max", "gpt-5.2", "gpt-5.1") * @returns The model family for prompt selection */ export declare function getModelFamily(normalizedModel: string): ModelFamily; /** * Fetch Codex instructions from GitHub with ETag-based caching * Uses HTTP conditional requests to efficiently check for updates * Always fetches from the latest release tag, not main branch * * Rate limit protection: Only checks GitHub if cache is older than 15 minutes * * @param normalizedModel - The normalized model name (optional, defaults to "gpt-5-codex") * @returns Codex instructions for the specified model family */ export declare function getCodexInstructions(normalizedModel?: string): Promise; /** * Prewarm instruction caches for the provided models/families. */ export declare function prewarmCodexInstructions(models?: string[]): void; /** * Tool remapping instructions for opencode tools */ export declare const TOOL_REMAP_MESSAGE = "\n\nYOU ARE IN A DIFFERENT ENVIRONMENT. These instructions override ALL previous tool references.\n\n\n\n\nPatch-edit tool names differ by runtime (for example: apply_patch, patch, edit).\n- Always use the exact tool names listed in the active tool schema/manifest\n- If the schema exposes apply_patch, call apply_patch directly\n- If the schema exposes patch/edit instead, use patch/edit as listed\n- Never invent aliases or auto-translate tool names\n\n\n\n\u274C UPDATE_PLAN DOES NOT EXIST \u2192 \u2705 USE \"todowrite\" INSTEAD\n- NEVER use: update_plan, updatePlan\n- ALWAYS use: todowrite for ALL task/plan operations\n- Use todoread to read current plan\n- Before plan operations: Verify you're using \"todowrite\", NOT \"update_plan\"\n\n\n\n\nNote: This list is illustrative. Always defer to the active tool schema/manifest.\nFile Operations:\n \u2022 write - Create new files\n \u2022 edit - Modify existing files with string replacement\n \u2022 patch - Apply diff patches\n \u2022 apply_patch - Apply diff patches (alternate runtime name; use whichever the schema exposes)\n \u2022 read - Read file contents\n\nSearch/Discovery:\n \u2022 grep - Search file contents\n \u2022 glob - Find files by pattern\n \u2022 list - List directories\n\nExecution:\n \u2022 bash - Run shell commands\n\nNetwork:\n \u2022 webfetch - Fetch web content\n\nTask Management:\n \u2022 todowrite - Manage tasks/plans (REPLACES update_plan)\n \u2022 todoread - Read current plan\n\n\n\n- Call only tool names listed in the active tool schema.\n- Do not invent wrapper namespaces (for example functions.task or multi_tool_use.parallel) unless explicitly listed.\n- Follow each tool's required path format instead of forcing absolute or relative paths globally.\n\n\n\nBase instruction says: Correct behaviour:\napply_patch/patch \u2192 use the exact tool name from the active schema (no renaming)\nupdate_plan \u2192 todowrite\nread_plan \u2192 todoread\n\n\n\nBefore file/plan modifications:\n1. Am I using the exact patch/edit (including apply_patch when exposed) tool name listed by the active schema?\n2. Am I using \"todowrite\" NOT \"update_plan\"?\n3. Is this tool in the approved list above?\n4. Am I following the active tool schema (including path format)?\n\nIf ANY answer is NO \u2192 STOP and correct before proceeding.\n\n\n\n- Never run destructive git commands (`git reset --hard`, `git checkout --`) unless explicitly requested by the user.\n- Never call `request_user_input` unless collaboration mode is explicitly Plan mode.\n\n"; //# sourceMappingURL=codex.d.ts.map