/** * Task Retrieval Service - Centralized task retrieval logic * * REFACTORED: Extracted from TaskManager.getCurrentTask() for Phase 4. * Handles retrieving current task from queue (preferred) or file (fallback). * Includes retry logic, file sync, validation, and backward compatibility. * * @internal * @requirement REFACTOR-EXTRACT-TASK-CRUD-SERVICES - Phase 4: Extract Task CRUD Services */ import type { Task } from '@shadel/workflow-core'; import { TaskQueueManager } from './task-queue.js'; import { TaskFileSync } from './task-file-sync.js'; import { TaskValidator } from './task-validator.js'; import { TaskMigration } from '../utils/migration.js'; /** * Task Retrieval Service * * Centralizes task retrieval logic with queue/file sync, validation, and backward compatibility. */ export declare class TaskRetrievalService { private queueManager; private fileSync; private validator; private migration; private taskFile; private migrationChecked; private syncFileFromQueue; constructor(queueManager: TaskQueueManager, fileSync: TaskFileSync, validator: TaskValidator, migration: TaskMigration, taskFile: string, syncFileFromQueueFn: (queueTask: any, preserveFields: string[]) => Promise); /** * Check and run migration if needed (only once per instance) */ private ensureMigration; /** * Get current active task * * Retrieves task from queue (preferred) or file (fallback). * Handles queue/file sync, validation, and backward compatibility. * * @returns Current task or null if no active task * @throws Error if task loading fails */ getCurrentTask(): Promise; }