import { type Workflow } from "@ai-kod/common"; import type { WorkflowConfig } from "@ai-kod/config"; import type { LocalWorkflowConfig } from "./config/workflow.config.js"; /** * Базовый загрузчик workflow-файлов без кэширования * Реализует единую логику поиска и загрузки из нескольких директорий */ export declare class WorkflowLoader { private readonly directories; private readonly localConfig; constructor(config: WorkflowConfig | LocalWorkflowConfig); private resolveSearchDirectories; /** * Загружает workflow по ID из файловой системы * Ищет в нескольких директориях по порядку приоритета */ loadFromFile(workflowId: string): Promise; /** * Проверяет существование файла */ private fileExists; /** * Парсит YAML файл в объект Workflow с валидацией */ private parseWorkflow; /** * Получает список всех workflow-файлов из всех директорий */ listWorkflows(): Promise>; /** * Загружает workflow напрямую из произвольного пути без поиска в стандартных директориях. * Метод автоматически регистрирует путь как кастомный alias, что позволяет повторно * обращаться к нему по workflowId. */ loadFromAbsolutePath(filePath: string, alias?: string): Promise; /** * Возвращает конфигурацию загрузчика */ getConfig(): LocalWorkflowConfig; /** * Возвращает список директорий поиска */ getSearchDirectories(): string[]; }