import type { LiveActivityItem, SessionTreeNode } from "../../types.js"; import type { RuntimeInstanceRecord } from "../../runtime-instance-store.js"; export type SliceRunLifecycleState = "queued" | "dispatching" | "running" | "awaiting_input" | "completed" | "needs_review" | "failed" | "archived"; export type SliceRunPrimaryAction = "none" | "open_artifact" | "resolve_decision" | "retry_slice" | "review_output"; export type SliceRunArtifactSummary = { id: string | null; type: string | null; title: string; url: string | null; createdAt: string | null; }; export type SliceRunDecisionOption = { id: string; label: string; description: string | null; impliedStatus: string | null; requiresNote: boolean; }; export type SliceRunPendingDecision = { id: string; title: string; summary: string | null; status: string; blocking: boolean; decisionType: string | null; recommendedAction: string | null; updatedAt: string | null; sourceRunId: string | null; sourceClient: string | null; evidenceCount: number; options: SliceRunDecisionOption[]; }; export type SliceRunBlockerSummary = { id: string; reason: string; waitingOn: string | null; requiredAction: string | null; source: string | null; eventType: string | null; eventAt: string | null; severity: "info" | "warn" | "error"; decisionIds: string[]; }; export type SliceRunProjection = { id: string; sliceRunId: string; runId: string | null; initiativeId: string | null; initiativeIds?: string[]; workstreamId: string | null; workstreamIds?: string[]; iwmtId: string | null; iwmtIds?: string[]; workstreamTitle: string | null; taskIds: string[]; milestoneIds: string[]; status: SliceRunLifecycleState; statusExplainer: string; primaryAction: SliceRunPrimaryAction; hasArtifact: boolean; artifactCount: number; artifacts: SliceRunArtifactSummary[]; decisionCount: number; blockingDecisionCount: number; decisionOptions: SliceRunDecisionOption[]; pendingDecisions: SliceRunPendingDecision[]; blockers: SliceRunBlockerSummary[]; sourceClient: string | null; runtimeState: string | null; startedAt: string | null; updatedAt: string | null; completedAt: string | null; failedAt: string | null; archivedAt: string | null; lastEventAt: string | null; lastEventSummary: string | null; correlationId: string | null; confidence: "low" | "medium" | "high"; scope?: "task" | "milestone" | "workstream"; scopeMilestoneIds?: string[]; scopeProgress?: { totalTasks: number; completedTasks: number; milestones?: Array<{ id: string; title: string; total: number; done: number; }>; }; }; type BuildSliceRunProjectionsInput = { activity: LiveActivityItem[]; sessions: SessionTreeNode[]; decisions: Array>; runtimeInstances: RuntimeInstanceRecord[]; }; export declare function buildSliceRunProjections(input: BuildSliceRunProjectionsInput): SliceRunProjection[]; export {};