/** * Local mode type definitions for ForgeOS MCP server. * * These types mirror what the API returns, scoped to the data stored in * the local .forgeos/data directory when FORGEOS_MODE=local. */ export interface LocalProject { id: string; name: string; platform: string; created_at: string; } export interface LocalInitiative { id: string; project_id: string; title: string; description: string; priority: string; status: string; created_at: string; } export interface LocalChangeset { id: string; changeset_id: string; project_id: string; initiative_id: string | null; description: string; files_changed: string[]; modules_affected: string[]; branch: string | null; risk_score: number; status: string; created_at: string; updated_at: string; } export interface LocalGate { gate_id: string; status: "pending" | "passed" | "rejected" | "active"; department: string | null; promoted_by?: string; promoted_at?: string; rejected_at?: string; rejection_reason?: string; } export interface LocalGatePipeline { changeset_id: string; gates: LocalGate[]; } export interface LocalEvidence { id: string; project_id: string; changeset_id: string; type: string; summary: string; file_refs: string[]; metadata: Record; submitted_at: string; } export interface LocalReviewFinding { category: string; severity: string; observation: string; recommendation?: string; } export interface LocalReview { id: string; project_id: string; changeset_id: string; role: string; status: string; notes: string; findings: LocalReviewFinding[]; submitted_at: string; } export interface LocalObservation { id: string; team_id: string; domain: string; source_agent: string; observation_type: string; content: string; confidence: number; tags: string[]; created_at: string; } export interface LocalKnowledgeNode { domain: string; patterns: string[]; anti_patterns: string[]; fix_recipes: string[]; last_updated: string; } export interface LocalDepartmentState { department_id: string; project_id: string; operator_name: string; joined_at: string; } export interface InboxItem { changeset_id: string; description: string; branch: string | null; gate_id: string; modules_affected: string[]; } export interface DepartmentConfig { name: string; personality: string; tools: string[]; shared_mind_domains: string[]; gate_description: string; } export interface DepartmentJoinResult { ok: boolean; department: DepartmentConfig; gate_id: string; operator: string; inbox: InboxItem[]; shared_mind_patterns: unknown[]; message: string; } export interface HandoffResult { ok: boolean; action: string; from_department: string; from_gate: string; to_department: string | null; to_gate: string | null; notes: string; message: string; pipeline_progress: LocalGatePipeline; } export interface RejectResult { changeset_id: string; gate_id: string; status: string; reason: string; rejected_at: string; by_department: string; routed_back_to: string; } export interface PromoteResult { changeset_id: string; gate_id: string; status: string; promoted_by: string; promoted_at: string; next_gate: string | null; pipeline: LocalGatePipeline; } export interface DepartmentStatusEntry { name: string; active_items: number; items: InboxItem[]; } export interface TeamStatus { ok: boolean; project_id: string; total_active: number; departments: Record; pipeline_order: Array<{ gate: string; department: string; }>; } export interface SessionStartResult { project_id: string; initiative_id: string | null; changeset_id: string | null; branch: string; resumed: boolean; gates: LocalGatePipeline | null; knowledge: unknown; guidance: string; } export interface RerouteEntry { from_gate: string; to_gate: string; to_department: string; reason: string; timestamp: string; rerouted_by: string; } export interface PipelineItem { changeset_id: string; description: string; branch: string | null; current_gate: string | null; current_department: string | null; status: string; time_at_current_gate_ms: number; is_blocked: boolean; is_sla_warning: boolean; reroute_history: RerouteEntry[]; } export interface DepartmentBucket { department_id: string; active_items: PipelineItem[]; blocked_items: PipelineItem[]; } export interface ManagerDashboardResult { project_id: string; by_department: DepartmentBucket[]; blockers: PipelineItem[]; sla_warnings: PipelineItem[]; completed_changesets: number; total_active: number; } export interface ManagerJoinResult { project_id: string; manager_name: string; message: string; dashboard: ManagerDashboardResult; } export interface RerouteResult { changeset_id: string; from_gate: string; to_gate: string; to_department: string; reason: string; timestamp: string; updated_pipeline: LocalGatePipeline; observation_recorded: boolean; } export interface TeamSummary { project_id: string; project_name: string; active_items: number; blocked_items: number; completed_today: number; items: Array<{ changeset_id: string; description: string; current_department: string | null; status: string; is_blocked: boolean; }>; } export interface DirectorDashboardResult { teams: TeamSummary[]; summary: { total_teams: number; total_active: number; total_blocked: number; total_completed_today: number; }; } export interface DrillDownResult { project_id: string; project_name: string; changeset?: { changeset_id: string; description: string; branch: string | null; status: string; risk_score: number; pipeline: LocalGatePipeline; evidence_count: number; reroute_history: RerouteEntry[]; shared_mind_patterns: unknown[]; }; team_dashboard?: ManagerDashboardResult; audit_trail: Array<{ event: string; gate_id?: string; timestamp: string; actor?: string; detail?: string; }>; } //# sourceMappingURL=types.d.ts.map