/** * WorkItem → legacy projection helpers. * * The frontend Tasks tab and the team/terminal controllers historically * read `InProgressTask`-shaped objects from `TaskTrackingService` * (`~/.crewly/in_progress_tasks.json`). Per the v1-deprecation campaign * (`specs/2026-05-06-task-management-v1-deprecation.md`) the V3 task-pool * is now the single source of truth for delegated work — but we want to * collapse the user-visible duplication without forcing a frontend * rewrite. * * This module shapes V3 `WorkItem`s into the legacy `InProgressTask` * shape so existing UI components work unchanged. It is a *read-only* * projection — write paths still go through `TaskPoolService`. * * @module services/v3/work-item-projection */ import type { WorkItem } from '../../types/v2/work-item.types.js'; import type { InProgressTask } from '../../types/task-tracking.types.js'; /** * Project a V3 WorkItem into the legacy InProgressTask shape. * * Fields without a V3 equivalent (e.g. `taskFilePath`) are populated * with sentinel values that callers can recognize as "no longer file-based". * `metadata` is mined for stored projectId/projectPath/teamId/role. * * @param wi - The V3 WorkItem to project * @returns A legacy-shaped InProgressTask */ export declare function projectWorkItemToInProgressTask(wi: WorkItem): InProgressTask; /** * Project an array of V3 WorkItems into legacy InProgressTask[]. * * Convenience wrapper for the common case (controller endpoints). * * @param items - The V3 WorkItems * @returns Legacy-shaped InProgressTask[] */ export declare function projectWorkItems(items: WorkItem[]): InProgressTask[]; //# sourceMappingURL=work-item-projection.d.ts.map