import type { AgentToolResult as PiAgentToolResult } from "@mariozechner/pi-agent-core"; export type OpenClawAgentToolResult = PiAgentToolResult; export type AgentToolResultMiddlewareRuntime = "pi" | "codex"; /** @deprecated Use AgentToolResultMiddlewareRuntime. */ export type AgentToolResultMiddlewareHarness = AgentToolResultMiddlewareRuntime | "codex-app-server"; export type AgentToolResultMiddlewareEvent = { threadId?: string; turnId?: string; toolCallId: string; toolName: string; args: Record; cwd?: string; isError?: boolean; result: OpenClawAgentToolResult; }; export type AgentToolResultMiddlewareContext = { runtime: AgentToolResultMiddlewareRuntime; /** @deprecated Use runtime. */ harness?: AgentToolResultMiddlewareRuntime; agentId?: string; sessionId?: string; sessionKey?: string; runId?: string; }; export type AgentToolResultMiddlewareResult = { result: OpenClawAgentToolResult; }; export type AgentToolResultMiddleware = (event: AgentToolResultMiddlewareEvent, ctx: AgentToolResultMiddlewareContext) => Promise | AgentToolResultMiddlewareResult | void; export type AgentToolResultMiddlewareOptions = { runtimes?: AgentToolResultMiddlewareRuntime[]; /** @deprecated Use runtimes. */ harnesses?: AgentToolResultMiddlewareHarness[]; };