//#region src/ai-editor/agentSessions.d.ts type AgentSessionCapabilities = { send: boolean; interrupt: boolean; respond: boolean; activeTurnSteering?: boolean; conversationMirroring?: boolean; reconnect?: boolean; /** Ready requires a confirmed tool round trip, not just a configured plugin. */ toolAccess?: "unverified" | "ready" | "unavailable"; }; type AgentSessionSummary = { id: string; title: string; cwd?: string; updatedAt?: string; provider?: string; capabilities?: AgentSessionCapabilities; }; type AgentSessionHost = { id: string; name: string; available: boolean; error?: string; setup?: { label: string; description: string; }; }; type AgentSessionSetupResult = { title: string; description: string; command: string; }; type AgentSessionDirectory = { available: boolean; error?: string; sessions: AgentSessionSummary[]; hosts?: AgentSessionHost[]; }; type AgentSessionView = { /** Native active turn ID, only when the harness reports one. */turnId?: string; thread: AgentSessionSummary; status: "idle" | "running" | "waiting" | "disconnected"; items: Array<{ id: string; type: "message" | "tool"; role?: "user" | "assistant"; text?: string; name?: string; status?: string; }>; requests: Array<{ id: string; title: string; kind: "question" | "approval" | "unsupported"; questions?: Array<{ id: string; header?: string; question: string; options?: Array<{ label: string; description?: string; }>; }>; }>; error?: string; }; interface AgentSessionProvider { name: string; list(): Promise; prepare?(hostId?: string): Promise; attach(id: string): Promise; read(id: string): Promise; detach?(id: string): Promise; configureTools?(id: string, tools: { command: string; connectionFile: string; } | null): void; send(id: string, text: string): Promise<{ turnId?: string; }>; interrupt(id: string): Promise; respond(id: string, requestId: string, response: unknown): Promise; subscribe(listener: (view: AgentSessionView) => void): () => void; dispose(): void; } type AgentSessionState = { cursor?: { epoch: string; sequence: number; }; binding: { connectionId: string; agentSessionId: string; provider: string; connectionFile?: string; mcpCommand?: string; elementsRoot?: string; } | null; view: AgentSessionView | null; }; type AgentMessageInput = { connectionId: string; requestId: string; message: string; context: { snapshotId: string; timeMs: number; selectedIds: string[]; rangeMs?: [number, number]; sceneLabel?: string; referenceIds?: string[]; }; }; //#endregion export { AgentMessageInput, AgentSessionDirectory, AgentSessionHost, AgentSessionProvider, AgentSessionSetupResult, AgentSessionState, AgentSessionSummary, AgentSessionView }; //# sourceMappingURL=agentSessions.d.ts.map