/** * 项目存储(A1 阶段内存实现)。 * * 开发期内置一个默认项目,避免本地启动后无项目可用; * A3.7 落库后换成持久层,默认项目由种子脚本负责。 */ import type { ProjectSummary } from '@aps/contracts'; export class ProjectStore { private readonly projects = new Map(); constructor() { const defaultProject: ProjectSummary = { projectId: 'p-default', name: '默认项目', status: 'active', writable: true, }; this.projects.set(defaultProject.projectId, defaultProject); } list(): ProjectSummary[] { return [...this.projects.values()]; } get(projectId: string): ProjectSummary | undefined { return this.projects.get(projectId); } }