mirror of
https://github.com/eyaltoledano/claude-task-master.git
synced 2026-01-30 06:12:05 +00:00
Ralph/chore/fix.coderabbit.issues (#1432)
This commit is contained in:
@@ -32,7 +32,7 @@ export function registerAutopilotCompleteTool(server: FastMCP) {
|
||||
server.addTool({
|
||||
name: 'autopilot_complete_phase',
|
||||
description:
|
||||
'Complete the current TDD phase (RED, GREEN, or COMMIT) with test result validation. RED phase: expects failures (if 0 failures, feature is already implemented and subtask auto-completes). GREEN phase: expects all tests passing.',
|
||||
'Complete the current TDD phase (RED or GREEN) with test result validation. RED phase: expects failures (if 0 failures, feature is already implemented and subtask auto-completes). GREEN phase: expects all tests passing. For COMMIT phase, use autopilot_commit instead.',
|
||||
parameters: CompletePhaseSchema,
|
||||
execute: withToolContext(
|
||||
'autopilot-complete-phase',
|
||||
|
||||
@@ -72,8 +72,9 @@ export function registerGetTasksTool(server: FastMCP) {
|
||||
);
|
||||
|
||||
// Calculate stats using reduce for cleaner code
|
||||
const tasks = result.tasks ?? [];
|
||||
const totalTasks = result.total;
|
||||
const taskCounts = result.tasks.reduce(
|
||||
const taskCounts = tasks.reduce(
|
||||
(acc, task) => {
|
||||
acc[task.status] = (acc[task.status] || 0) + 1;
|
||||
return acc;
|
||||
@@ -85,7 +86,7 @@ export function registerGetTasksTool(server: FastMCP) {
|
||||
totalTasks > 0 ? ((taskCounts.done || 0) / totalTasks) * 100 : 0;
|
||||
|
||||
// Count subtasks using reduce
|
||||
const subtaskCounts = result.tasks.reduce(
|
||||
const subtaskCounts = tasks.reduce(
|
||||
(acc, task) => {
|
||||
task.subtasks?.forEach((st) => {
|
||||
acc.total++;
|
||||
@@ -105,7 +106,7 @@ export function registerGetTasksTool(server: FastMCP) {
|
||||
result: {
|
||||
success: true,
|
||||
data: {
|
||||
tasks: result.tasks as Task[],
|
||||
tasks: tasks as Task[],
|
||||
filter: status || 'all',
|
||||
stats: {
|
||||
total: totalTasks,
|
||||
|
||||
@@ -108,13 +108,12 @@ export function registerAddSubtaskTool(server) {
|
||||
log.error(`Failed to add subtask: ${result.error.message}`);
|
||||
}
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error adding subtask',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error adding subtask',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in addSubtask tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -83,13 +83,12 @@ export function registerAddTagTool(server) {
|
||||
{ session }
|
||||
);
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error creating tag',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error creating tag',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in add-tag tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -88,7 +88,7 @@ export function registerAddTaskTool(server) {
|
||||
);
|
||||
}
|
||||
|
||||
// Call the direct functionP
|
||||
// Call the direct function
|
||||
const result = await addTaskDirect(
|
||||
{
|
||||
tasksJsonPath: tasksJsonPath,
|
||||
@@ -107,13 +107,12 @@ export function registerAddTaskTool(server) {
|
||||
{ session }
|
||||
);
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error adding task',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error adding task',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in add-task tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -150,13 +150,12 @@ export function registerAnalyzeProjectComplexityTool(server) {
|
||||
log.info(
|
||||
`${toolName}: Direct function result: success=${result.success}`
|
||||
);
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error analyzing task complexity',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error analyzing task complexity',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(
|
||||
`Critical error in ${toolName} tool execute: ${error.message}`
|
||||
|
||||
@@ -87,13 +87,12 @@ export function registerClearSubtasksTool(server) {
|
||||
);
|
||||
}
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
context.log,
|
||||
'Error clearing subtasks',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: context.log,
|
||||
errorPrefix: 'Error clearing subtasks',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
context.log.error(`Error in clearSubtasks tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -71,13 +71,12 @@ export function registerComplexityReportTool(server) {
|
||||
);
|
||||
}
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error retrieving complexity report',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error retrieving complexity report',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in complexity-report tool: ${error.message}`);
|
||||
return createErrorResponse(
|
||||
|
||||
@@ -67,13 +67,12 @@ export function registerCopyTagTool(server) {
|
||||
{ session }
|
||||
);
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error copying tag',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error copying tag',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in copy-tag tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -64,13 +64,12 @@ export function registerDeleteTagTool(server) {
|
||||
{ session }
|
||||
);
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error deleting tag',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error deleting tag',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in delete-tag tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -111,13 +111,12 @@ export function registerExpandAllTool(server) {
|
||||
{ session }
|
||||
);
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error expanding all tasks',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error expanding all tasks',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(
|
||||
`Unexpected error in expand_all tool execute: ${error.message}`
|
||||
|
||||
@@ -94,13 +94,12 @@ export function registerExpandTaskTool(server) {
|
||||
{ session }
|
||||
);
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error expanding task',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error expanding task',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in expand-task tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -68,13 +68,12 @@ export function registerFixDependenciesTool(server) {
|
||||
);
|
||||
}
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
context.log,
|
||||
'Error fixing dependencies',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: context.log,
|
||||
errorPrefix: 'Error fixing dependencies',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
context.log.error(`Error in fixDependencies tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// mcp-server/src/tools/get-operation-status.js
|
||||
import { z } from 'zod';
|
||||
import { createErrorResponse, createContentResponse } from '@tm/mcp'; // Assuming these utils exist
|
||||
import { createErrorResponse, createContentResponse } from '@tm/mcp';
|
||||
|
||||
/**
|
||||
* Register the get_operation_status tool.
|
||||
|
||||
@@ -65,13 +65,12 @@ export function registerInitializeProjectTool(server) {
|
||||
|
||||
const result = await initializeProjectDirect(args, log, { session });
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Initialization failed',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Initialization failed',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
const errorMessage = `Project initialization tool failed: ${error.message || 'Unknown error'}`;
|
||||
log.error(errorMessage, error);
|
||||
|
||||
@@ -62,13 +62,12 @@ export function registerListTagsTool(server) {
|
||||
{ session }
|
||||
);
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error listing tags',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error listing tags',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in list-tags tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -85,20 +85,19 @@ export function registerModelsTool(server) {
|
||||
`Starting models tool with args: ${JSON.stringify(args)}`
|
||||
);
|
||||
|
||||
// Use args.projectRoot directly (guaranteed by withNormalizedProjectRoot)
|
||||
// Use args.projectRoot directly (normalized by withToolContext)
|
||||
const result = await modelsDirect(
|
||||
{ ...args, projectRoot: args.projectRoot },
|
||||
context.log,
|
||||
{ session: context.session }
|
||||
);
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
context.log,
|
||||
'Error managing models',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: context.log,
|
||||
errorPrefix: 'Error managing models',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
context.log.error(`Error in models tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -3,18 +3,18 @@
|
||||
* Tool for moving tasks or subtasks to a new position
|
||||
*/
|
||||
|
||||
import { z } from 'zod';
|
||||
import {
|
||||
handleApiResult,
|
||||
createErrorResponse,
|
||||
handleApiResult,
|
||||
withNormalizedProjectRoot
|
||||
} from '@tm/mcp';
|
||||
import { z } from 'zod';
|
||||
import { resolveTag } from '../../../scripts/modules/utils.js';
|
||||
import {
|
||||
moveTaskDirect,
|
||||
moveTaskCrossTagDirect
|
||||
moveTaskCrossTagDirect,
|
||||
moveTaskDirect
|
||||
} from '../core/task-master-core.js';
|
||||
import { findTasksPath } from '../core/utils/path-utils.js';
|
||||
import { resolveTag } from '../../../scripts/modules/utils.js';
|
||||
|
||||
/**
|
||||
* Register the moveTask tool with the MCP server
|
||||
@@ -83,8 +83,8 @@ export function registerMoveTaskTool(server) {
|
||||
}
|
||||
|
||||
// Use cross-tag move function
|
||||
return handleApiResult(
|
||||
await moveTaskCrossTagDirect(
|
||||
return handleApiResult({
|
||||
result: await moveTaskCrossTagDirect(
|
||||
{
|
||||
sourceIds: args.from,
|
||||
sourceTag: args.fromTag,
|
||||
@@ -98,10 +98,9 @@ export function registerMoveTaskTool(server) {
|
||||
{ session }
|
||||
),
|
||||
log,
|
||||
'Error moving tasks between tags',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
errorPrefix: 'Error moving tasks between tags',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} else {
|
||||
// Within-tag move logic (existing functionality)
|
||||
if (!args.to) {
|
||||
@@ -166,8 +165,8 @@ export function registerMoveTaskTool(server) {
|
||||
}
|
||||
}
|
||||
|
||||
return handleApiResult(
|
||||
{
|
||||
return handleApiResult({
|
||||
result: {
|
||||
success: true,
|
||||
data: {
|
||||
moves: results,
|
||||
@@ -176,13 +175,12 @@ export function registerMoveTaskTool(server) {
|
||||
}
|
||||
},
|
||||
log,
|
||||
'Error moving multiple tasks',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
errorPrefix: 'Error moving multiple tasks',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
}
|
||||
return handleApiResult(
|
||||
{
|
||||
return handleApiResult({
|
||||
result: {
|
||||
success: true,
|
||||
data: {
|
||||
moves: results,
|
||||
@@ -191,14 +189,13 @@ export function registerMoveTaskTool(server) {
|
||||
}
|
||||
},
|
||||
log,
|
||||
'Error moving multiple tasks',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
errorPrefix: 'Error moving multiple tasks',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} else {
|
||||
// Moving a single task
|
||||
return handleApiResult(
|
||||
await moveTaskDirect(
|
||||
return handleApiResult({
|
||||
result: await moveTaskDirect(
|
||||
{
|
||||
sourceId: args.from,
|
||||
destinationId: args.to,
|
||||
@@ -211,10 +208,9 @@ export function registerMoveTaskTool(server) {
|
||||
{ session }
|
||||
),
|
||||
log,
|
||||
'Error moving task',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
errorPrefix: 'Error moving task',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
|
||||
@@ -82,13 +82,12 @@ export function registerNextTaskTool(server) {
|
||||
);
|
||||
|
||||
log.info(`Next task result: ${result.success ? 'found' : 'none'}`);
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error finding next task',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error finding next task',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error finding next task: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -84,13 +84,12 @@ export function registerParsePRDTool(server) {
|
||||
log,
|
||||
{ session, reportProgress: progressCapability }
|
||||
);
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error parsing PRD',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error parsing PRD',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in parse_prd: ${error.message}`);
|
||||
return createErrorResponse(`Failed to parse PRD: ${error.message}`);
|
||||
|
||||
@@ -76,13 +76,12 @@ export function registerRemoveDependencyTool(server) {
|
||||
);
|
||||
}
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
context.log,
|
||||
'Error removing dependency',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: context.log,
|
||||
errorPrefix: 'Error removing dependency',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
context.log.error(`Error in removeDependency tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -89,13 +89,12 @@ export function registerRemoveSubtaskTool(server) {
|
||||
log.error(`Failed to remove subtask: ${result.error.message}`);
|
||||
}
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error removing subtask',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error removing subtask',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in removeSubtask tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -84,13 +84,12 @@ export function registerRemoveTaskTool(server) {
|
||||
log.error(`Failed to remove task: ${result.error.message}`);
|
||||
}
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error removing task',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error removing task',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in remove-task tool: ${error.message}`);
|
||||
return createErrorResponse(`Failed to remove task: ${error.message}`);
|
||||
|
||||
@@ -61,13 +61,12 @@ export function registerRenameTagTool(server) {
|
||||
{ session }
|
||||
);
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error renaming tag',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error renaming tag',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in rename-tag tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -94,13 +94,12 @@ export function registerResearchTool(server) {
|
||||
{ session }
|
||||
);
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error performing research',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error performing research',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in research tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -88,13 +88,12 @@ export function registerScopeDownTool(server) {
|
||||
{ session }
|
||||
);
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error scoping down task',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error scoping down task',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in scope-down tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -88,13 +88,12 @@ export function registerScopeUpTool(server) {
|
||||
{ session }
|
||||
);
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error scoping up task',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error scoping up task',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in scope-up tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -113,13 +113,12 @@ export function registerSetTaskStatusTool(server) {
|
||||
);
|
||||
}
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error setting task status',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error setting task status',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in setTaskStatus tool: ${error.message}`);
|
||||
return createErrorResponse(
|
||||
|
||||
@@ -83,13 +83,12 @@ export function registerUpdateSubtaskTool(server) {
|
||||
);
|
||||
}
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error updating subtask',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error updating subtask',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(
|
||||
`Critical error in ${toolName} tool execute: ${error.message}`
|
||||
|
||||
@@ -91,13 +91,12 @@ export function registerUpdateTaskTool(server) {
|
||||
log.info(
|
||||
`${toolName}: Direct function result: success=${result.success}`
|
||||
);
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error updating task',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error updating task',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(
|
||||
`Critical error in ${toolName} tool execute: ${error.message}`
|
||||
|
||||
@@ -88,13 +88,12 @@ export function registerUpdateTool(server) {
|
||||
log.info(
|
||||
`${toolName}: Direct function result: success=${result.success}`
|
||||
);
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error updating tasks',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error updating tasks',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(
|
||||
`Critical error in ${toolName} tool execute: ${error.message}`
|
||||
|
||||
@@ -59,13 +59,12 @@ export function registerUseTagTool(server) {
|
||||
{ session }
|
||||
);
|
||||
|
||||
return handleApiResult(
|
||||
return handleApiResult({
|
||||
result,
|
||||
log,
|
||||
'Error switching tag',
|
||||
undefined,
|
||||
args.projectRoot
|
||||
);
|
||||
log: log,
|
||||
errorPrefix: 'Error switching tag',
|
||||
projectRoot: args.projectRoot
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(`Error in use-tag tool: ${error.message}`);
|
||||
return createErrorResponse(error.message);
|
||||
|
||||
@@ -202,11 +202,8 @@ export class TaskService {
|
||||
// Delegate to storage layer which handles the specific logic for tasks vs subtasks
|
||||
return await this.storage.loadTask(String(taskId), activeTag);
|
||||
} catch (error) {
|
||||
// If it's a user-facing error (like NO_BRIEF_SELECTED), don't wrap it
|
||||
if (
|
||||
error instanceof TaskMasterError &&
|
||||
error.is(ERROR_CODES.NO_BRIEF_SELECTED)
|
||||
) {
|
||||
// Re-throw all TaskMasterErrors without wrapping
|
||||
if (error instanceof TaskMasterError) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
@@ -551,11 +548,8 @@ export class TaskService {
|
||||
// Direct update - no AI processing
|
||||
await this.storage.updateTask(taskIdStr, updates, activeTag);
|
||||
} catch (error) {
|
||||
// If it's a user-facing error (like NO_BRIEF_SELECTED), don't wrap it
|
||||
if (
|
||||
error instanceof TaskMasterError &&
|
||||
error.is(ERROR_CODES.NO_BRIEF_SELECTED)
|
||||
) {
|
||||
// Re-throw all TaskMasterErrors without wrapping
|
||||
if (error instanceof TaskMasterError) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
@@ -741,11 +735,8 @@ export class TaskService {
|
||||
activeTag
|
||||
);
|
||||
} catch (error) {
|
||||
// If it's a user-facing error (like NO_BRIEF_SELECTED), don't wrap it
|
||||
if (
|
||||
error instanceof TaskMasterError &&
|
||||
error.is(ERROR_CODES.NO_BRIEF_SELECTED)
|
||||
) {
|
||||
// Re-throw all TaskMasterErrors without wrapping
|
||||
if (error instanceof TaskMasterError) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
@@ -785,11 +776,8 @@ export class TaskService {
|
||||
try {
|
||||
return await this.storage.getTagsWithStats();
|
||||
} catch (error) {
|
||||
// If it's a user-facing error (like NO_BRIEF_SELECTED), don't wrap it
|
||||
if (
|
||||
error instanceof TaskMasterError &&
|
||||
error.is(ERROR_CODES.NO_BRIEF_SELECTED)
|
||||
) {
|
||||
// Re-throw all TaskMasterErrors without wrapping
|
||||
if (error instanceof TaskMasterError) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
|
||||
@@ -2544,11 +2544,8 @@ ${result.result}
|
||||
|
||||
try {
|
||||
// Read data once for checks and confirmation
|
||||
const data = readJSON(
|
||||
taskMaster.getTasksPath(),
|
||||
taskMaster.getProjectRoot(),
|
||||
tag
|
||||
);
|
||||
const tasksPath = taskMaster.getTasksPath();
|
||||
const data = readJSON(tasksPath, taskMaster.getProjectRoot(), tag);
|
||||
if (!data || !data.tasks) {
|
||||
console.error(
|
||||
chalk.red(`Error: No valid tasks found in ${tasksPath}`)
|
||||
|
||||
Reference in New Issue
Block a user