import { isStaleRunningTask, TaskRunner } from '../../infra/task/index.js';
import { normalizeTaskHistorySummary, } from '../../features/interactive/index.js';
import { getErrorMessage } from '../../shared/utils/index.js';
import { error as logError } from '../../shared/ui/index.js';
/**
 * Load and normalize task history for interactive context.
 */
function toTaskHistoryItems(cwd) {
    const runner = new TaskRunner(cwd);
    const tasks = runner.listAllTaskItems();
    const historyItems = [];
    for (const task of tasks) {
        if (task.kind === 'failed' || task.kind === 'completed') {
            historyItems.push({
                worktreeId: task.worktreePath ?? task.name,
                status: task.kind,
                startedAt: task.startedAt ?? '',
                completedAt: task.completedAt ?? '',
                finalResult: task.kind,
                failureSummary: task.failure?.error,
                logKey: task.branch ?? task.worktreePath ?? task.name,
            });
            continue;
        }
        if (task.kind === 'running' && isStaleRunningTask(task.ownerPid)) {
            historyItems.push({
                worktreeId: task.worktreePath ?? task.name,
                status: 'interrupted',
                startedAt: task.startedAt ?? '',
                completedAt: task.completedAt ?? '',
                finalResult: 'interrupted',
                failureSummary: undefined,
                logKey: task.branch ?? task.worktreePath ?? task.name,
            });
        }
    }
    return historyItems;
}
export function loadTaskHistory(cwd, lang) {
    try {
        return normalizeTaskHistorySummary(toTaskHistoryItems(cwd), lang);
    }
    catch (err) {
        logError(getErrorMessage(err));
        return [];
    }
}
//# sourceMappingURL=taskHistory.js.map