File size: 1,626 Bytes
f56a29b ed07c96 f56a29b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | /**
* PBL (Project-Based Learning) Type Definitions
*
* Migrated from PBL-Nano with PBL prefix to avoid conflicts with MultiMind types.
*/
export type PBLMode = 'project_info' | 'agent' | 'issueboard' | 'idle';
export interface PBLProjectInfo {
title: string;
description: string;
}
export type PBLRoleDivision = 'management' | 'development';
export interface PBLAgent {
name: string;
actor_role: string;
role_division: PBLRoleDivision;
system_prompt: string;
default_mode: string;
delay_time: number;
env: Record<string, unknown>;
is_user_role: boolean;
is_active: boolean;
is_system_agent: boolean;
}
export interface PBLIssue {
id: string;
title: string;
description: string;
person_in_charge: string;
participants: string[];
notes: string;
parent_issue: string | null;
index: number;
is_done: boolean;
is_active: boolean;
generated_questions: string;
question_agent_name: string;
judge_agent_name: string;
}
export interface PBLIssueboard {
agent_ids: string[];
issues: PBLIssue[];
current_issue_id: string | null;
}
export interface PBLChatMessage {
id: string;
agent_name: string;
message: string;
timestamp: number;
read_by: string[];
}
export interface PBLChat {
messages: PBLChatMessage[];
}
export interface PBLProjectConfig {
projectInfo: PBLProjectInfo;
agents: PBLAgent[];
issueboard: PBLIssueboard;
chat: PBLChat;
selectedRole?: string | null;
}
/**
* MCP tool result (shared by all MCP classes)
*/
export interface PBLToolResult {
success: boolean;
error?: string;
message?: string;
[key: string]: unknown;
}
|