UNPKG

orchestry-mcp

Version:

Orchestry MCP Server for multi-session task management

211 lines 4.63 kB
export declare enum TaskStatus { BACKLOG = "backlog", TODO = "todo", IN_PROGRESS = "in_progress", REVIEW = "review", DONE = "done", BLOCKED = "blocked" } export declare enum Priority { CRITICAL = "critical", HIGH = "high", MEDIUM = "medium", LOW = "low" } export declare enum DocumentType { REQUIREMENT = "requirement", TECHNICAL_SPEC = "technical_spec", DESIGN = "design", MEETING_NOTES = "meeting_notes", ANALYSIS = "analysis", REPORT = "report", DOCUMENTATION = "documentation" } export interface Project { id: string; name: string; description: string; sessionId?: string; llmContext?: string; createdAt: Date; updatedAt: Date; workspaces: Workspace[]; tags: string[]; team: TeamMember[]; } export interface Workspace { id: string; projectId: string; name: string; description: string; color?: string; icon?: string; goals: Goal[]; createdAt: Date; updatedAt: Date; } export interface Goal { id: string; workspaceId: string; title: string; description: string; targetDate?: Date; priority: Priority; successCriteria: string[]; tasks: Task[]; documents: Document[]; createdAt: Date; updatedAt: Date; } export interface Task { id: string; goalId: string; parentTaskId?: string; title: string; description: string; status: TaskStatus; priority: Priority; assignee?: TeamMember; dueDate?: Date; startDate?: Date; completedDate?: Date; estimatedHours?: number; actualHours?: number; checklist: ChecklistItem[]; dependencies: string[]; comments: Comment[]; attachments: Attachment[]; tags: string[]; sessionNotes?: string; llmSuggestions?: string[]; subtasks?: Task[]; createdAt: Date; updatedAt: Date; } export interface Document { id: string; entityId: string; entityType: 'project' | 'workspace' | 'goal' | 'task'; type: DocumentType; title: string; content: string; url?: string; version: number; author: TeamMember; createdAt: Date; updatedAt: Date; revisions: DocumentRevision[]; } export interface DocumentRevision { version: number; content: string; author: TeamMember; changeLog: string; createdAt: Date; } export interface ChecklistItem { id: string; text: string; completed: boolean; completedBy?: TeamMember; completedAt?: Date; } export interface Comment { id: string; author: TeamMember; content: string; createdAt: Date; updatedAt?: Date; mentions?: string[]; sessionId?: string; } export interface Attachment { id: string; name: string; url: string; type: string; size: number; uploadedBy: TeamMember; uploadedAt: Date; } export interface TeamMember { id: string; name: string; email: string; role: string; avatar?: string; isBot?: boolean; } export interface Session { id: string; projectId: string; name: string; type: 'human' | 'llm' | 'hybrid'; llmModel?: string; context?: string; isActive: boolean; startedAt: Date; lastActivityAt: Date; endedAt?: Date; } export interface ApiResponse<T> { success: boolean; data?: T; error?: string; timestamp: Date; } export interface KanbanColumn { id: TaskStatus; title: string; items: Task[]; limit?: number; } export interface ProjectBoard { projectId: string; columns: KanbanColumn[]; filters: BoardFilter; } export interface BoardFilter { workspaceId?: string; goalId?: string; assignee?: string; priority?: Priority; tags?: string[]; search?: string; dateRange?: { start: Date; end: Date; }; sessionId?: string; } export interface WSEvent { type: 'create' | 'update' | 'delete' | 'move'; entity: 'project' | 'workspace' | 'goal' | 'task' | 'document' | 'comment'; data: any; userId: string; sessionId?: string; timestamp: Date; } export interface ProjectStats { totalWorkspaces: number; totalGoals: number; totalTasks: number; completedTasks: number; inProgressTasks: number; overdueTasks: number; totalSessions: number; activeSessions: number; } export interface ToolContext { projectId: string; sessionId: string; userId: string; timestamp: Date; } export interface ToolResult { success: boolean; data?: any; error?: string; affectedEntities?: string[]; } //# sourceMappingURL=types.d.ts.map