import type { MemoryRecord } from '../agent/memory/types.js'; import type { ProjectWithDetails } from './types.js'; export type ProjectWorkflowRunBrief = { runId: string; definitionId: string; status: string; createdAt: number; errorMessage?: string; }; export type ProjectAttentionItem = { id: string; kind: 'blocked_task' | 'stale_task' | 'failed_workflow'; title: string; detail?: string; status?: string; href?: string; updatedAt?: number; }; export type ProjectTimelineItem = { id: string; kind: 'session' | 'task' | 'workflow' | 'memory'; title: string; detail?: string; timestamp: number; status?: string; href?: string; }; export type ProjectTask = { id: string; title: string; phase: 'backlog' | 'ready' | 'active' | 'review' | 'closed'; operationalState: 'idle' | 'queued' | 'running' | 'waiting' | 'verifying' | 'blocked'; priority: 'low' | 'normal' | 'high' | 'critical'; attention?: string[]; updatedAt: number; }; export type ProjectLoopOverview = { activeTasks: ProjectTask[]; blockedTasks: ProjectTask[]; staleTasks: ProjectTask[]; nextActions: Array<{ taskId: string; title: string; nextAction?: string; status: string; updatedAt?: number; }>; attentionItems: ProjectAttentionItem[]; timeline: ProjectTimelineItem[]; digest: { status: 'healthy' | 'attention' | 'idle' | 'empty'; summary: string; nextAction?: string; }; failedWorkflowRuns: ProjectWorkflowRunBrief[]; recommendedAction?: string; }; export declare function buildProjectLoopOverview(input: { project: ProjectWithDetails; tasks: ProjectTask[]; recentWorkflowRuns: ProjectWorkflowRunBrief[]; failedWorkflowRuns?: ProjectWorkflowRunBrief[]; memoryRecords?: MemoryRecord[]; nowMs?: number; staleAfterMs?: number; }): ProjectLoopOverview;