import { type SessionKanbanColumn } from '../core/session-board.js'; export interface TeamBoardEntry { column: SessionKanbanColumn; position: number; updatedAt: number; } /** 成员部署上报的会话裁剪行——字段白名单,不带终端端口/token/工作目录。 */ export interface ReportedTeamSession { sessionId: string; botName: string; cliId: string; status: string; title?: string; chatId: string; scope?: string; adopt?: boolean; lastMessageAt: number; } export interface DeploymentReport { deploymentId: string; deploymentName: string; reportedAt: number; sessions: ReportedTeamSession[]; } /** 单部署单次上报的会话数上限——防失控 payload 撑爆 host 存储。 */ export declare const TEAM_REPORT_MAX_SESSIONS = 200; export declare function readTeamBoard(dataDir: string, teamId: string): Record; export declare function setTeamBoardEntry(dataDir: string, teamId: string, sessionId: string, column: unknown, position: unknown, now?: number): TeamBoardEntry | null; /** 入站裁剪行白名单(host 不信任成员 payload 的多余字段/超长值)。 */ export declare function sanitizeReportedSessions(raw: unknown): ReportedTeamSession[]; export declare function recordTeamSessions(dataDir: string, teamId: string, deploymentId: string, deploymentName: string, sessions: ReportedTeamSession[], now?: number): void; export declare function listTeamReports(dataDir: string, teamId: string): DeploymentReport[]; //# sourceMappingURL=team-board-store.d.ts.map