Archived
feat: add manual session cleanup
This commit is contained in:
@@ -3,6 +3,7 @@ export type MachineStatus = "unknown" | "online" | "offline" | "error";
|
||||
|
||||
export const PI_WEB_CAPABILITIES = {
|
||||
sessionsDeleteArchived: "sessions.deleteArchived",
|
||||
sessionsCleanup: "sessions.cleanup",
|
||||
sessionsReload: "sessions.reload",
|
||||
promptAttachments: "prompt.attachments",
|
||||
workspaceFileSuggestions: "workspace.fileSuggestions",
|
||||
@@ -162,6 +163,44 @@ export interface ArchiveSessionsResponse {
|
||||
skippedAlreadyArchivedCount?: number;
|
||||
}
|
||||
|
||||
export interface SessionCleanupRequest {
|
||||
/** Archive non-archived sessions whose modified time is older than this many days. Omit/null to disable. */
|
||||
archiveIdleDays?: number | null;
|
||||
/** Permanently delete archived sessions whose archivedAt time is older than this many days. Omit/null to disable. */
|
||||
deleteArchivedDays?: number | null;
|
||||
/** Stored cwd paths selected from a preview. Omit/null to include all discovered project/workspace paths. */
|
||||
projectCwds?: string[] | null;
|
||||
}
|
||||
|
||||
export interface SessionCleanupThresholds {
|
||||
archiveIdleDays?: number;
|
||||
deleteArchivedDays?: number;
|
||||
}
|
||||
|
||||
export interface SessionCleanupProjectSummary {
|
||||
cwd: string;
|
||||
archiveCount: number;
|
||||
deleteCount: number;
|
||||
}
|
||||
|
||||
export interface SessionCleanupTotals {
|
||||
archiveCount: number;
|
||||
deleteCount: number;
|
||||
}
|
||||
|
||||
export interface SessionCleanupPreviewResponse {
|
||||
generatedAt: string;
|
||||
thresholds: SessionCleanupThresholds;
|
||||
projects: SessionCleanupProjectSummary[];
|
||||
totals: SessionCleanupTotals;
|
||||
skippedBusySessionIds?: string[];
|
||||
}
|
||||
|
||||
export interface SessionCleanupExecuteResponse extends SessionCleanupPreviewResponse {
|
||||
archivedSessionIds: string[];
|
||||
deletedSessionIds: string[];
|
||||
}
|
||||
|
||||
export interface SessionActivity {
|
||||
sessionId: string;
|
||||
phase: "active" | "idle" | "error";
|
||||
|
||||
Reference in New Issue
Block a user