feat: 优化任务状态与图片 MCP 提示

This commit is contained in:
shiyue
2026-08-13 00:34:37 +08:00
parent 86231f0d97
commit 214ff4ec88
13 changed files with 1353 additions and 49 deletions

View File

@@ -10,12 +10,14 @@ const ACTOR_SOURCE_ALIASES = Object.freeze({
human: 'user',
mcp: 'mcp',
agent: 'mcp',
classifier: 'classifier',
classification: 'classifier',
hook: 'hook',
lifecycle: 'hook',
default: 'default',
system: 'default',
});
const TRACKING_SOURCE_SET = new Set(['default', 'hook', 'mcp', 'user']);
const TRACKING_SOURCE_SET = new Set(['default', 'hook', 'mcp', 'classifier', 'user']);
const SYSTEM_STATUS_DEFINITIONS = Object.freeze([
Object.freeze({
@@ -706,8 +708,8 @@ function createTaskBoardService(deps = {}) {
function updateStatus(sessionId, update, actor = { source: 'user' }) {
const normalizedActor = normalizeActor(actor, 'user');
if (normalizedActor.source !== 'user' && normalizedActor.source !== 'mcp') {
fail('task_status_forbidden', '只有用户当前来源会话的 MCP 可以更新任务状态。');
if (!['user', 'mcp', 'classifier'].includes(normalizedActor.source)) {
fail('task_status_forbidden', '只有用户当前来源会话的 MCP 或内部分类器可以更新任务状态。');
}
const session = loadSessionForTask(sessionId);
const current = normalizeTracking(session.taskTracking);