Spaces:
Running
Running
| export function statusMessageId(payload) { | |
| return `status-${payload.turnId || payload.sessionId || 'current'}`; | |
| } | |
| export function larkCliActivityLabel(value) { | |
| const text = String(value || '').replace(/\s+/g, ' ').trim(); | |
| const lower = text.toLowerCase(); | |
| if (!lower.includes('lark-cli')) { | |
| return ''; | |
| } | |
| if (/\bauth\b/.test(lower)) { | |
| return '确认飞书授权'; | |
| } | |
| if (/\bsheets?\b/.test(lower)) { | |
| if (/\+create|\bcreate\b/.test(lower)) { | |
| return '创建表格'; | |
| } | |
| if (/\+append|\bappend\b/.test(lower)) { | |
| return '追加表格数据'; | |
| } | |
| if (/\+write|\bwrite\b/.test(lower)) { | |
| return '写入表格数据'; | |
| } | |
| if (/\+find|\bfind\b/.test(lower)) { | |
| return '查找表格内容'; | |
| } | |
| if (/\+replace|\breplace\b/.test(lower)) { | |
| return '替换表格内容'; | |
| } | |
| if (/\+export|\bexport\b/.test(lower)) { | |
| return '导出表格'; | |
| } | |
| if (/title|rename|\bpatch\b|\bupdate\b|spreadsheet\.meta/.test(lower)) { | |
| return '修改表名'; | |
| } | |
| if (/\+read|\bread\b|\bget\b|\bmeta\b/.test(lower)) { | |
| return '读取表格信息'; | |
| } | |
| return '操作表格'; | |
| } | |
| if (/\bslides?\b/.test(lower)) { | |
| if (/\+create|\bcreate\b/.test(lower)) { | |
| return '创建 PPT'; | |
| } | |
| if (/\+update|\bupdate\b|\breplace\b|\bpatch\b/.test(lower)) { | |
| return '修改 PPT'; | |
| } | |
| if (/\+read|\bread\b|\bget\b|\bxml_presentations\b/.test(lower)) { | |
| return '读取 PPT'; | |
| } | |
| return '操作 PPT'; | |
| } | |
| if (/\bdocs?\b/.test(lower)) { | |
| if (/\+create|\bcreate\b/.test(lower)) { | |
| return '创建文档'; | |
| } | |
| if (/\+update|\bupdate\b|\bappend\b|\breplace\b|\bpatch\b/.test(lower)) { | |
| return '修改文档'; | |
| } | |
| if (/\+search|\bsearch\b/.test(lower)) { | |
| return '搜索文档'; | |
| } | |
| if (/\+fetch|\bread\b|\bget\b|\bfetch\b/.test(lower)) { | |
| return '读取文档'; | |
| } | |
| return '操作文档'; | |
| } | |
| if (/\bdrive\b/.test(lower)) { | |
| if (/\+import|\bimport\b/.test(lower)) { | |
| return '导入文件'; | |
| } | |
| if (/\+upload|\bupload\b/.test(lower)) { | |
| return '上传文件'; | |
| } | |
| if (/\+download|\bdownload\b/.test(lower)) { | |
| return '下载文件'; | |
| } | |
| if (/\+delete|\bdelete\b|\btrash\b/.test(lower)) { | |
| return '删除文件'; | |
| } | |
| if (/\+move|\bmove\b/.test(lower)) { | |
| return '移动文件'; | |
| } | |
| if (/title|rename|\bpatch\b|\bupdate\b/.test(lower)) { | |
| return '修改文件名'; | |
| } | |
| if (/\+search|\bsearch\b/.test(lower)) { | |
| return '搜索云空间'; | |
| } | |
| return '操作云空间'; | |
| } | |
| return ''; | |
| } | |
| export function shellCommandActivityLabel(value) { | |
| const text = String(value || '').replace(/\s+/g, ' ').trim(); | |
| const lower = text.toLowerCase(); | |
| if (!text) { | |
| return ''; | |
| } | |
| if (/\b(npm|pnpm|yarn|bun)\s+(run\s+)?build\b|\bvite\s+build\b|\bwebpack\b|\brollup\b/.test(lower)) { | |
| return '构建前端'; | |
| } | |
| if (/\b(npm|pnpm|yarn|bun)\s+(run\s+)?smoke\b|\bsmoke\.mjs\b/.test(lower)) { | |
| return '运行冒烟检查'; | |
| } | |
| if (/\b(npm|pnpm|yarn|bun)\s+(run\s+)?test\b|\bpytest\b|\bvitest\b|\bjest\b|\bmvn\b.*\btest\b|\bcargo\s+test\b/.test(lower)) { | |
| return '运行测试'; | |
| } | |
| if (/\bnode\s+--check\b|\btsc\b|\beslint\b|\bbiome\b|\bprettier\b|\bflake8\b|\bmypy\b/.test(lower)) { | |
| return '检查代码'; | |
| } | |
| if (/\bgit\s+(status|diff|show|log|ls-files)\b/.test(lower)) { | |
| return '检查改动'; | |
| } | |
| if (/\b(get-content|select-string|rg|findstr|grep)\b/.test(lower)) { | |
| return /\b(select-string|rg|findstr|grep)\b/.test(lower) ? '搜索代码' : '读取文件'; | |
| } | |
| if (/\b(get-childitem|ls|dir)\b/.test(lower)) { | |
| return '查看文件'; | |
| } | |
| if (/\b(start-process|node\s+server\/index\.js|node\s+server\\index\.js)\b/.test(lower)) { | |
| return '启动服务'; | |
| } | |
| return ''; | |
| } | |
| export function meaningfulActivityLabel(payload, rawLabel, detail) { | |
| const source = [payload.command, detail, rawLabel, payload.output] | |
| .filter(Boolean) | |
| .join(' '); | |
| const larkLabel = larkCliActivityLabel(source); | |
| if (larkLabel) { | |
| return larkLabel; | |
| } | |
| const commandLabel = shellCommandActivityLabel(payload.command || detail); | |
| if (commandLabel) { | |
| return commandLabel; | |
| } | |
| if (payload.kind === 'agent_message' || payload.kind === 'message' || payload.kind === 'reasoning') { | |
| return briefActivityLabel(rawLabel || payload.content || detail); | |
| } | |
| if (isGenericActivityLabel(rawLabel)) { | |
| return ''; | |
| } | |
| return rawLabel && rawLabel.length <= 18 ? rawLabel : ''; | |
| } | |
| export function isGenericActivityLabel(value) { | |
| const text = String(value || '').replace(/\s+/g, ' ').trim(); | |
| if (!text) { | |
| return true; | |
| } | |
| return /^(正在思考中?|思考完成|正在处理|正在回复|正在整理回复|正在准备任务|正在修改并验证|正在执行命令|命令已完成|命令完成|命令执行完成|执行完成|工具调用完成|正在调用工具|工具调用失败|工具已完成|计划已更新|正在规划|任务已完成|已完成|完成|失败)$/i.test(text); | |
| } | |
| export function activityStepFromPayload(payload, fallbackKind = 'status') { | |
| const rawLabel = String(payload.label || payload.content || '').replace(/\s+/g, ' ').trim(); | |
| const detail = String(payload.detail || payload.error || '').replace(/\s+/g, ' ').trim(); | |
| const label = meaningfulActivityLabel(payload, rawLabel, detail); | |
| if (!label) { | |
| return null; | |
| } | |
| return { | |
| id: payload.messageId || `${statusMessageId(payload)}-${payload.kind || fallbackKind}-${label || payload.status || 'step'}`, | |
| kind: payload.kind || fallbackKind, | |
| label, | |
| status: payload.status || 'running', | |
| detail, | |
| command: payload.command || '', | |
| output: payload.output || '', | |
| error: payload.error || '', | |
| fileChanges: payload.fileChanges || [], | |
| timestamp: payload.timestamp || new Date().toISOString() | |
| }; | |
| } | |
| export function briefActivityLabel(value, fallback = '正在处理') { | |
| const text = String(value || '').replace(/\s+/g, ' ').trim(); | |
| if (!text) { | |
| return ''; | |
| } | |
| if (/授权|登录|连接/.test(text)) { | |
| return '确认授权'; | |
| } | |
| if (/记忆|skill|技能|能力|scope|权限/i.test(text)) { | |
| return ''; | |
| } | |
| if (/搜索|查找|定位/.test(text)) { | |
| return '查找文件'; | |
| } | |
| if (/创建|新建|生成/.test(text)) { | |
| return '创建文件'; | |
| } | |
| if (/改名|重命名|修改标题|rename/i.test(text) && /验证|确认|检查|读取/.test(text)) { | |
| return '修改并验证'; | |
| } | |
| if (/改名|重命名|修改标题|rename/i.test(text)) { | |
| return '修改标题'; | |
| } | |
| if (/读取|获取|标题|内容/.test(text)) { | |
| return '读取内容'; | |
| } | |
| if (/修改|更新|写入|追加|替换|编辑/.test(text)) { | |
| return '修改内容'; | |
| } | |
| if (/上传|导入/.test(text)) { | |
| return '上传文件'; | |
| } | |
| if (/下载|导出/.test(text)) { | |
| return '导出文件'; | |
| } | |
| if (/删除|移除/.test(text)) { | |
| return '删除文件'; | |
| } | |
| if (/验证|确认|检查/.test(text)) { | |
| return '验证结果'; | |
| } | |
| if (/命令|lark-cli|PowerShell|shell|执行/i.test(text)) { | |
| return ''; | |
| } | |
| return text.length > 18 ? '' : text; | |
| } | |