const COLUMN_LABEL: Record = { 'todo': '待办', 'in-progress': '进行中', 'review': '审查', 'done': '完成', } const STATE_KEYS = new Set([ 'column', 'sessionId', 'implementSessionId', 'reviewSessionId', 'testSessionId', 'prototypeSessionId', 'handoffAttachmentId', 'handoffFrom', 'handoffRequestFrom', 'handoffRequestError', 'pr', 'branch', 'worktreePath', 'color', 'autoReview', ]) /** 插件自己写的评论。返回系统气泡文案;普通讨论返回 undefined。 */ export function systemCommentText(body: string): string | undefined { const trimmed = body.trim() if (//i.test(trimmed)) { const text = trimmed.replace(//gi, '').trim() return text.length > 0 ? text : '提交了审查' } if (!trimmed.startsWith('{')) return undefined let parsed: unknown try { parsed = JSON.parse(trimmed) } catch { return undefined } if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) return undefined const record = parsed as Record if (!Object.keys(record).some(key => STATE_KEYS.has(key))) return undefined const column = typeof record.column === 'string' ? COLUMN_LABEL[record.column] : undefined if (Object.keys(record).length === 1 && column) return `把工单放到${column}` if (column) return `更新了工单状态,放到${column}` return '更新了工单状态' }