UNPKG

@paroicms/site-generator-plugin

Version:

ParoiCMS Site Generator Plugin

32 lines (31 loc) 1.09 kB
import { messageOf } from "@paroi/data-formatters-lib"; import { insertIssueEvent, updateStep } from "../../db/db-write.queries.js"; export function safeCallStep(ctx, stepHandle, cb) { void safeCallStepExec(ctx, stepHandle, cb); } async function safeCallStepExec(ctx, stepHandle, cb) { const { logger, sessionId } = ctx; const { stepNumber } = stepHandle; try { await cb(); } catch (error) { logger.error(`[${sessionId}]`, error); try { await updateStep(ctx, stepHandle, { status: "failed", currentActivity: null, explanation: null, // TODO: implement error explanation (localized) }); await insertIssueEvent(ctx, { eventType: "stepError", issueMessage: messageOf(error), llmTaskName: undefined, // TODO: implement StepError exception with task name stepNumber, }); } catch (error) { logger.error(`[${sessionId}] Error after error`, error); } } }