Removes unused import statements identified after the major refactoring of the AI service layer and other components. This cleanup improves code clarity and removes unnecessary dependencies.
Unused imports removed from:
- **`mcp-server/src/core/direct-functions/analyze-task-complexity.js`:**
- Removed `path`
- **`mcp-server/src/core/direct-functions/complexity-report.js`:**
- Removed `path`
- **`mcp-server/src/core/direct-functions/expand-all-tasks.js`:**
- Removed `path`, `fs`
- **`mcp-server/src/core/direct-functions/generate-task-files.js`:**
- Removed `path`
- **`mcp-server/src/core/direct-functions/parse-prd.js`:**
- Removed `os`, `findTasksJsonPath`
- **`mcp-server/src/core/direct-functions/update-tasks.js`:**
- Removed `isSilentMode`
- **`mcp-server/src/tools/add-task.js`:**
- Removed `createContentResponse`, `executeTaskMasterCommand`
- **`mcp-server/src/tools/analyze.js`:**
- Removed `getProjectRootFromSession` (as `projectRoot` is now required in args)
- **`mcp-server/src/tools/expand-task.js`:**
- Removed `path`
- **`mcp-server/src/tools/initialize-project.js`:**
- Removed `createContentResponse`
- **`mcp-server/src/tools/parse-prd.js`:**
- Removed `findPRDDocumentPath`, `resolveTasksOutputPath` (logic moved or handled by `resolveProjectPaths`)
- **`mcp-server/src/tools/update.js`:**
- Removed `getProjectRootFromSession` (as `projectRoot` is now required in args)
- **`scripts/modules/commands.js`:**
- Removed `exec`, `readline`
- Removed AI config getters (`getMainModelId`, etc.)
- Removed MCP helpers (`getMcpApiKeyStatus`)
- **`scripts/modules/config-manager.js`:**
- Removed `ZodError`, `readJSON`, `writeJSON`
- **`scripts/modules/task-manager/analyze-task-complexity.js`:**
- Removed AI config getters (`getMainModelId`, etc.)
- **`scripts/modules/task-manager/expand-all-tasks.js`:**
- Removed `fs`, `path`, `writeJSON`
- **`scripts/modules/task-manager/models.js`:**
- Removed `VALID_PROVIDERS`
- **`scripts/modules/task-manager/update-subtask-by-id.js`:**
- Removed AI config getters (`getMainModelId`, etc.)
- **`scripts/modules/task-manager/update-tasks.js`:**
- Removed AI config getters (`getMainModelId`, etc.)
- **`scripts/modules/ui.js`:**
- Removed `getDebugFlag`
- **`scripts/modules/utils.js`:**
- Removed `ZodError`
100 lines
2.9 KiB
JavaScript
100 lines
2.9 KiB
JavaScript
/**
|
|
* generate-task-files.js
|
|
* Direct function implementation for generating task files from tasks.json
|
|
*/
|
|
|
|
import { generateTaskFiles } from '../../../../scripts/modules/task-manager.js';
|
|
import {
|
|
enableSilentMode,
|
|
disableSilentMode
|
|
} from '../../../../scripts/modules/utils.js';
|
|
|
|
/**
|
|
* Direct function wrapper for generateTaskFiles with error handling.
|
|
*
|
|
* @param {Object} args - Command arguments containing tasksJsonPath and outputDir.
|
|
* @param {Object} log - Logger object.
|
|
* @returns {Promise<Object>} - Result object with success status and data/error information.
|
|
*/
|
|
export async function generateTaskFilesDirect(args, log) {
|
|
// Destructure expected args
|
|
const { tasksJsonPath, outputDir } = args;
|
|
try {
|
|
log.info(`Generating task files with args: ${JSON.stringify(args)}`);
|
|
|
|
// Check if paths were provided
|
|
if (!tasksJsonPath) {
|
|
const errorMessage = 'tasksJsonPath is required but was not provided.';
|
|
log.error(errorMessage);
|
|
return {
|
|
success: false,
|
|
error: { code: 'MISSING_ARGUMENT', message: errorMessage },
|
|
fromCache: false
|
|
};
|
|
}
|
|
if (!outputDir) {
|
|
const errorMessage = 'outputDir is required but was not provided.';
|
|
log.error(errorMessage);
|
|
return {
|
|
success: false,
|
|
error: { code: 'MISSING_ARGUMENT', message: errorMessage },
|
|
fromCache: false
|
|
};
|
|
}
|
|
|
|
// Use the provided paths
|
|
const tasksPath = tasksJsonPath;
|
|
const resolvedOutputDir = outputDir;
|
|
|
|
log.info(`Generating task files from ${tasksPath} to ${resolvedOutputDir}`);
|
|
|
|
// Execute core generateTaskFiles function in a separate try/catch
|
|
try {
|
|
// Enable silent mode to prevent logs from being written to stdout
|
|
enableSilentMode();
|
|
|
|
// The function is synchronous despite being awaited elsewhere
|
|
generateTaskFiles(tasksPath, resolvedOutputDir);
|
|
|
|
// Restore normal logging after task generation
|
|
disableSilentMode();
|
|
} catch (genError) {
|
|
// Make sure to restore normal logging even if there's an error
|
|
disableSilentMode();
|
|
|
|
log.error(`Error in generateTaskFiles: ${genError.message}`);
|
|
return {
|
|
success: false,
|
|
error: { code: 'GENERATE_FILES_ERROR', message: genError.message },
|
|
fromCache: false
|
|
};
|
|
}
|
|
|
|
// Return success with file paths
|
|
return {
|
|
success: true,
|
|
data: {
|
|
message: `Successfully generated task files`,
|
|
tasksPath: tasksPath,
|
|
outputDir: resolvedOutputDir,
|
|
taskFiles:
|
|
'Individual task files have been generated in the output directory'
|
|
},
|
|
fromCache: false // This operation always modifies state and should never be cached
|
|
};
|
|
} catch (error) {
|
|
// Make sure to restore normal logging if an outer error occurs
|
|
disableSilentMode();
|
|
|
|
log.error(`Error generating task files: ${error.message}`);
|
|
return {
|
|
success: false,
|
|
error: {
|
|
code: 'GENERATE_TASKS_ERROR',
|
|
message: error.message || 'Unknown error generating task files'
|
|
},
|
|
fromCache: false
|
|
};
|
|
}
|
|
}
|