mirror of
https://github.com/siteboon/claudecodeui.git
synced 2026-03-10 08:27:40 +00:00
71 lines
1.6 KiB
TypeScript
71 lines
1.6 KiB
TypeScript
export type SessionProvider = 'claude' | 'cursor' | 'codex' | 'gemini';
|
|
|
|
export type AppTab = 'chat' | 'files' | 'shell' | 'git' | 'tasks' | 'preview' | `plugin:${string}`;
|
|
|
|
export interface ProjectSession {
|
|
id: string;
|
|
title?: string;
|
|
summary?: string;
|
|
name?: string;
|
|
createdAt?: string;
|
|
created_at?: string;
|
|
updated_at?: string;
|
|
lastActivity?: string;
|
|
messageCount?: number;
|
|
__provider?: SessionProvider;
|
|
__projectName?: string;
|
|
[key: string]: unknown;
|
|
}
|
|
|
|
export interface ProjectSessionMeta {
|
|
total?: number;
|
|
hasMore?: boolean;
|
|
[key: string]: unknown;
|
|
}
|
|
|
|
export interface ProjectTaskmasterInfo {
|
|
hasTaskmaster?: boolean;
|
|
status?: string;
|
|
metadata?: Record<string, unknown>;
|
|
[key: string]: unknown;
|
|
}
|
|
|
|
export interface Project {
|
|
name: string;
|
|
displayName: string;
|
|
fullPath: string;
|
|
path?: string;
|
|
sessions?: ProjectSession[];
|
|
cursorSessions?: ProjectSession[];
|
|
codexSessions?: ProjectSession[];
|
|
geminiSessions?: ProjectSession[];
|
|
sessionMeta?: ProjectSessionMeta;
|
|
taskmaster?: ProjectTaskmasterInfo;
|
|
[key: string]: unknown;
|
|
}
|
|
|
|
export interface LoadingProgress {
|
|
type?: 'loading_progress';
|
|
phase?: string;
|
|
current: number;
|
|
total: number;
|
|
currentProject?: string;
|
|
[key: string]: unknown;
|
|
}
|
|
|
|
export interface ProjectsUpdatedMessage {
|
|
type: 'projects_updated';
|
|
projects: Project[];
|
|
changedFile?: string;
|
|
[key: string]: unknown;
|
|
}
|
|
|
|
export interface LoadingProgressMessage extends LoadingProgress {
|
|
type: 'loading_progress';
|
|
}
|
|
|
|
export type AppSocketMessage =
|
|
| LoadingProgressMessage
|
|
| ProjectsUpdatedMessage
|
|
| { type?: string;[key: string]: unknown };
|