Files
2026-10-22 17:07:08 +08:00

19 lines
929 B
TypeScript

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<any>, workflow: workflow_config[]): Promise<void> {
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';