import type { SessionNotification, SessionUpdate, ToolKind } from "@agentclientprotocol/sdk"; import type { AgentSessionEvent } from "../../session/agent-session"; export type { AgentSessionEvent }; import type { AgentWireEventPayload } from "../shared/agent-wire/event-contract"; interface MessageProgress { textEmitted: boolean; thoughtEmitted: boolean; } interface AcpEventMapperOptions { getMessageId?: (message: unknown) => string | undefined; getMessageProgress?: (message: unknown) => MessageProgress | undefined; getToolArgs?: (toolCallId: string) => unknown; /** * Session cwd. Tool call locations sent to ACP clients must be absolute * (the editor host needs them to open or focus files). When provided, * the mapper resolves raw `path`/`file`/etc. args against this cwd * before emitting `ToolCallLocation` entries. */ cwd?: string; /** Phase to expose after compaction ends. Prompt-bound compaction resumes responding; idle maintenance returns idle. */ compactionEndPhase?: "responding" | "idle"; } export declare function mapToolKind(toolName: string): ToolKind; export declare function mapAgentWireEventPayloadToAcpSessionUpdates(payload: AgentWireEventPayload, sessionId: string, options?: AcpEventMapperOptions): SessionNotification[]; export declare function mapAgentSessionEventToAcpSessionUpdates(event: AgentSessionEvent, sessionId: string, options?: AcpEventMapperOptions): SessionNotification[]; export declare function buildToolCallStartUpdate(input: { toolCallId: string; toolName: string; args: unknown; intent?: string; cwd?: string; status?: "pending" | "completed"; }): SessionUpdate; export declare function normalizeReplayToolArguments(value: unknown): { args: unknown; };