import type { DriverEventEnvelope, RuntimeThinkingLevel } from "../types.js"; /** SDK-native vocabulary for `pi-coding-agent`'s `thinkingLevel`. */ export type PiCodingAgentThinkingLevel = "off" | "low" | "medium" | "high"; /** SDK-native `EffortLevel` exposed by `@anthropic-ai/claude-agent-sdk`. */ export type ClaudeEffortLevel = "low" | "medium" | "high" | "xhigh" | "max"; /** Codex CLI's `model_reasoning_effort` accepts OpenAI's reasoning_effort enum. */ export type CodexReasoningEffort = "minimal" | "low" | "medium" | "high"; export declare function foldThinkingLevelForPiCodingAgent(level: RuntimeThinkingLevel): PiCodingAgentThinkingLevel; export declare function foldThinkingLevelForClaude(level: RuntimeThinkingLevel): ClaudeEffortLevel; export declare function foldThinkingLevelForCodex(level: RuntimeThinkingLevel): CodexReasoningEffort; /** * Whether the driver forwards `RuntimeDriverRunInput.thinkingLevel` to its * underlying SDK/CLI. Surfaced on the init system event as * `metadata.thinkingLevelSupported` (and `init.raw.thinkingLevelSupported` * on `pi-coding-agent`) so audit consumers can detect the silent-drop * failure mode without running a synthetic probe. All four built-in * drivers now forward — kept as a table so future drivers can opt out * explicitly and so consumers have a single place to inspect. */ export declare const DRIVER_THINKING_SUPPORTED: Record; export interface InitCapabilityFields { /** Whether this driver forwards thinkingLevel to its SDK/CLI. */ thinkingLevelSupported: boolean; /** Verbatim caller value (or driver default), pre-fold. */ requestedThinkingLevel?: RuntimeThinkingLevel; /** Value actually handed to the SDK/CLI after the per-driver fold. */ effectiveThinkingLevel?: string; } /** * Wrap an `onEvent` callback so the first `system/init` message it sees * gets enriched with capability fields in its `metadata`. Used by drivers * that forward an upstream init (claude-sdk, claude-cli, codex-cli); * `pi-coding-agent` builds its init synthetically and sets the fields * directly on `init.raw`. */ export declare function enrichInitWithCapabilities(onEvent: (event: DriverEventEnvelope) => Promise | void, capabilities: InitCapabilityFields): (event: DriverEventEnvelope) => Promise | void;