import { AgentActivitySession } from '@tutti-os/agent-activity-core'; interface AgentConversationRailUserProject { createdAtUnixMs: number; id: string; label: string; lastUsedAtUnixMs?: number; path: string; pinnedAtUnixMs: number; sectionKey: string; updatedAtUnixMs: number; } interface AgentConversationRailSessionPage { hasMore: boolean; nextCursor?: string; sessions: AgentActivitySession[]; totalCount: number; } interface AgentConversationRailSessionSection extends AgentConversationRailSessionPage { kind: "conversations" | "project"; sectionKey: string; userProject?: AgentConversationRailUserProject; } interface AgentConversationRailSessionSectionsResult { pinned?: AgentConversationRailSessionPage; sections: AgentConversationRailSessionSection[]; workspaceId: string; } interface AgentConversationRailListSessionsPageInput { agentTargetId?: string | null; cursor?: string; limit?: number; searchQuery?: string; signal?: AbortSignal; workspaceId: string; } interface AgentConversationRailSessionsPageResult { hasMore: boolean; nextCursor?: string; sessions: AgentActivitySession[]; workspaceId: string; } interface AgentConversationRailListSessionSectionsInput { agentTargetId?: string | null; limitPerSection?: number; signal?: AbortSignal; workspaceId: string; } interface AgentConversationRailListSessionSectionPageInput { agentTargetId?: string | null; cursor?: string; limit?: number; sectionKey: string; signal?: AbortSignal; workspaceId: string; } type AgentConversationRailListPinnedSessionsPageInput = Omit; interface AgentConversationRailSessionSectionScopeInput { agentTargetId?: string | null; excludePinned?: boolean; sectionKey: string; signal?: AbortSignal; workspaceId: string; } interface AgentConversationRailSessionSectionDeletionCandidates { agentTargetId?: string | null; excludePinned: boolean; sectionKey: string; sessionIds: string[]; workspaceId: string; } interface AgentConversationRailDeleteSessionsBatchInput { sessionIds: string[]; signal?: AbortSignal; workspaceId: string; } interface AgentConversationRailDeleteSessionsBatchResult { cleanupFailedSessionIds: string[]; removedMessages: number; removedSessionIds: string[]; removedSessions: number; } interface AgentConversationRailRuntimePort { deleteSessionsBatch?(input: AgentConversationRailDeleteSessionsBatchInput): Promise; listPinnedSessionsPage?(input: AgentConversationRailListPinnedSessionsPageInput): Promise; listSessionSectionDeletionCandidates?(input: AgentConversationRailSessionSectionScopeInput): Promise; listSessionSectionPage?(input: AgentConversationRailListSessionSectionPageInput): Promise; listSessionSections?(input: AgentConversationRailListSessionSectionsInput): Promise; listSessionsPage?(input: AgentConversationRailListSessionsPageInput): Promise; reportDiagnostic?(input: { details?: Record; event: string; level?: "debug" | "info" | "warn" | "error"; source?: string; workspaceId?: string | null; }): Promise | void; } export type { AgentConversationRailRuntimePort as A };