import type { ProjectAgentResponsibility, ProjectType } from './project-config'; import type { ConversationModelState } from './coding-conversation-contracts'; export interface CodingProjectSummary { id: string; name: string; createdAt: string; updatedAt: string; lastOpenedAt: string; } export interface CodingProjectAgent extends ConversationModelState { id: string; avatarId: string; avatarDataUrl?: string; roleName: string; name: string; builtIn: boolean; enabled: boolean; skillIds: string[]; responsibility: ProjectAgentResponsibility; prompt: string; archivedAt: string | null; pinned: boolean; createdAt: string; updatedAt: string; } export interface CodingProjectConfig { schemaVersion: 2; projectType: ProjectType; initialized: boolean; agents: CodingProjectAgent[]; knowledgeDirectory: 'knowledge'; legacyConversationNotice: 'none' | 'pending' | 'acknowledged'; createdAt: string; updatedAt: string; } export interface CodingConversationMetadata extends ConversationModelState { id: string; agentId: string; title: string; archivedAt: string | null; unread: boolean; createdAt: string; updatedAt: string; } export interface CodingProjectConfigSnapshot { project: CodingProjectSummary; config: CodingProjectConfig; knowledgeFiles: string[]; }