/** 语句:delay 延迟(value 支持变量如 "{{stay-duration}}s";单位 ms/s/m/h/d/w/mon/月/y,可组合,纯数字按秒) */ const types = ['delay'] function parse(action, parseContext) { const parsed = { type: 'delay', value: action.value || action.delay || '0s' } return Object.assign({}, action, parsed) } async function execute(action, ctx) { const raw = action.value || action.delay || '0s' const resolved = ctx.replaceVariablesInString && ctx.variableContext ? ctx.replaceVariablesInString(String(raw), ctx.variableContext) : raw const delayMs = ctx.parseDelayString ? ctx.parseDelayString(resolved) : 0 const waitMs = typeof delayMs === 'number' && delayMs > 0 ? delayMs : 0 if (waitMs > 0) await new Promise(r => setTimeout(r, waitMs)) return { success: true } } module.exports = { types, parse, execute }