import type { AgentMessage } from "@earendil-works/pi-agent-core"; import type { ExtensionAPI, ExtensionContext, SessionEntry } from "@earendil-works/pi-coding-agent"; import { type CodexDeveloperMessageDetails } from "../../developer-messages.ts"; import type { CodeModeToolDefinition } from "../../tools/code-mode/types.ts"; export declare const CODEX_TOOLKIT_UPDATE_TYPE = "codex-toolkit-update"; interface ToolkitTool { name: string; description: string; contract: string; namespace: string; } interface ToolkitUpdate extends CodexDeveloperMessageDetails { rootId: string; compactionId: string | null; content: string; tools: ToolkitTool[]; namespaces: Record; } export declare function readToolkitUpdate(value: unknown): ToolkitUpdate; export declare function projectToolkitUpdate(entry: SessionEntry): SessionEntry; /** Record only at inference admission, after tool preparation. No queued turn or history rewrite. */ export declare function recordCodeModeToolkit(pi: ExtensionAPI, ctx: Pick, messages: readonly AgentMessage[], catalog: readonly CodeModeToolDefinition[]): boolean; export {};