import { Project, ListProjectsArgs, MCPError, ErrorCode } from '../models/types.js';
import { ProjectManager } from '../services/project_manager.js';
export async function listProjects(args: ListProjectsArgs): Promise<{
projects: any[]; // Returning simplified project objects
}> {
const projectManager = new ProjectManager();
const allProjects = await projectManager.getAllProjects();
let projects = allProjects;
// Filter inactive projects unless requested
if (!args.includeInactive) {
projects = projects.filter(p => p.active);
}
// Map to output format
return {
projects: projects.map(p => ({
id: p.id,
name: p.name,
rootPath: p.rootPath,
active: p.active,
lastAccessed: p.lastAccessed,
hasClaudeState: true // TODO: check actual state file existence
}))
};
}