| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- /**
- * Project MCP - Manages project info (title + description) during PBL generation.
- *
- * Migrated from PBL-Nano. No HTML rendering, no list_tools().
- * Operates directly on a shared PBLProjectConfig.
- */
- import type { PBLProjectConfig, PBLToolResult } from '../types';
- export class ProjectMCP {
- private config: PBLProjectConfig;
- constructor(config: PBLProjectConfig) {
- this.config = config;
- }
- getProjectInfo(): PBLToolResult {
- return {
- success: true,
- title: this.config.projectInfo.title,
- description: this.config.projectInfo.description,
- };
- }
- updateTitle(title: string): PBLToolResult {
- if (!title?.trim()) {
- return { success: false, error: 'Title cannot be empty.' };
- }
- this.config.projectInfo.title = title;
- return { success: true, message: 'Title updated successfully.' };
- }
- updateDescription(description: string): PBLToolResult {
- if (description === null || description === undefined) {
- return { success: false, error: 'Description cannot be null.' };
- }
- this.config.projectInfo.description = description;
- return { success: true, message: 'Description updated successfully.' };
- }
- }
|