fix(wechat): route scheduled task cancel and spec updates through Goose MCP
Pass cancel requests to Goose like create instead of inbound title matching, and add scheduled_task_update_spec so format or execution constraints update taskSpec without triggering page delivery guards. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -33,6 +33,20 @@ export async function executeScheduledTaskCreateTool(args, {
|
||||
return workerWarning ? { ...task, workerWarning } : task;
|
||||
}
|
||||
|
||||
export async function executeScheduledTaskUpdateSpecTool(args, {
|
||||
userId,
|
||||
scheduledTaskService,
|
||||
} = {}) {
|
||||
if (!scheduledTaskService) throw new Error('scheduledTaskService 不可用');
|
||||
return scheduledTaskService.updateTaskSpec({
|
||||
userId,
|
||||
taskId: args.taskId,
|
||||
taskSpec: args.taskSpec ?? null,
|
||||
title: args.title ?? null,
|
||||
mergeTaskSpec: Boolean(args.mergeTaskSpec),
|
||||
});
|
||||
}
|
||||
|
||||
export async function executeScheduleCreateItemTool(args, {
|
||||
userId,
|
||||
scheduleService,
|
||||
@@ -134,6 +148,10 @@ export async function commitAgentSideEffectTool(toolName, toolArgs, services) {
|
||||
const task = await executeScheduledTaskCreateTool(toolArgs, services);
|
||||
return { kind: 'scheduled_task', task };
|
||||
}
|
||||
if (name === 'scheduled_task_update_spec') {
|
||||
const task = await executeScheduledTaskUpdateSpecTool(toolArgs, services);
|
||||
return { kind: 'scheduled_task', task, updated: true };
|
||||
}
|
||||
if (name === 'schedule_create_item') {
|
||||
const result = await executeScheduleCreateItemTool(toolArgs, services);
|
||||
return { kind: 'schedule_item', ...result };
|
||||
|
||||
Reference in New Issue
Block a user