import type {bot_instance_context} from '../instance/bot_instance_init.ts'; import type {workflow_config} from '../../types/bot/workflow/workflow.ts'; import {WorkflowManager} from './runtime/states_manager.ts'; export async function init_workflow(context: bot_instance_context, workflow: workflow_config[]): Promise { if (context.workflow_manager) throw new Error('Workflow manager is already initialized'); const manager = new WorkflowManager(context, workflow, {source_config_revision: context.bot_config.config_revision ?? 0}); context.workflow_manager = manager; try { manager.initialize(); } catch (error) { if (context.workflow_manager === manager) context.workflow_manager = null; await manager.dispose(); throw error; } } export {create_workflow_manager, WorkflowManager} from './runtime/states_manager.ts'; export {get_workflow_catalog} from './catalog.ts';