import { type BackgroundToolTaskRef } from "../background-tool-task-controller.ts"; import type { GoalState } from "../goals/goal-state.ts"; import { type OpenTaskStepProjection } from "../tasks/task-projection.ts"; import type { TaskStepsState } from "../tasks/task-state.ts"; import type { AcceptanceCriterion, EvidenceContract } from "./contracts.ts"; import type { CreateObjectiveInput, TaskRuntimeProjection } from "./task-runtime.ts"; export interface GoalObjectiveProjection extends CreateObjectiveInput { objectiveId: string; acceptanceCriteria: readonly AcceptanceCriterion[]; } export interface RequirementExecutionProjection { requirementId: string; foregroundStepIds: readonly string[]; delegatedTaskIds: readonly string[]; } export interface SessionWorkStateProjection { objectiveId?: string; openTaskSteps: readonly OpenTaskStepProjection[]; requirements: readonly RequirementExecutionProjection[]; unlinkedOpenTaskStepIds: readonly string[]; unknownRequirementIds: readonly string[]; unboundDelegatedTaskIds: readonly string[]; /** Background tool_task ids still running and cited by the goal or an open step. */ runningToolTaskIds: readonly string[]; } export declare function goalObjectiveId(goalId: string): string; export declare function projectGoalObjective(goal: GoalState): GoalObjectiveProjection; export declare function projectGoalAcceptanceEvidence(goal: GoalState): EvidenceContract[]; /** One read model joining outcome criteria, foreground planning, and delegated execution by stable ids. */ export declare function projectSessionWorkState(args: { goalState: GoalState | undefined; taskStepsState: TaskStepsState | undefined; taskRuntime?: TaskRuntimeProjection; backgroundToolTasks?: readonly BackgroundToolTaskRef[]; }): SessionWorkStateProjection; //# sourceMappingURL=work-state-projection.d.ts.map