UNPKG

checklist-mcp-server

Version:

An MCP server for hierarchical checklist management with HTTP streamable transport support.

92 lines (91 loc) 3.38 kB
"use strict"; /** * Test Helper Utilities * Provides shared utilities for test files to ensure consistency */ Object.defineProperty(exports, "__esModule", { value: true }); exports.createUniqueIdGenerator = exports.generateMultipleTaskIds = exports.generateTaskId = void 0; exports.createTestTasks = createTestTasks; exports.createSimpleTask = createSimpleTask; exports.createHierarchicalTask = createHierarchicalTask; exports.createMultipleTasks = createMultipleTasks; exports.generateTestSessionId = generateTestSessionId; const taskIdGenerator_1 = require("../utils/taskIdGenerator"); Object.defineProperty(exports, "generateTaskId", { enumerable: true, get: function () { return taskIdGenerator_1.generateTaskId; } }); Object.defineProperty(exports, "generateMultipleTaskIds", { enumerable: true, get: function () { return taskIdGenerator_1.generateMultipleTaskIds; } }); Object.defineProperty(exports, "createUniqueIdGenerator", { enumerable: true, get: function () { return taskIdGenerator_1.createUniqueIdGenerator; } }); /** * Interface for final task with generated IDs */ /** * Creates test tasks with automatically generated valid task IDs * @param tasks Array of test task definitions * @returns Array of tasks with valid generated IDs */ function createTestTasks(tasks) { const idGenerator = (0, taskIdGenerator_1.createUniqueIdGenerator)(); function processTask(task) { const processedTask = { taskId: task.taskId || idGenerator(), description: task.description, status: task.status || 'TODO' }; if (task.children && task.children.length > 0) { processedTask.children = task.children.map(processTask); } return processedTask; } return tasks.map(processTask); } /** * Creates a simple test task with generated ID * @param description Task description * @param status Task status (defaults to TODO) * @returns Task with generated ID */ function createSimpleTask(description, status = 'TODO') { return { taskId: (0, taskIdGenerator_1.generateTaskId)(), description, status }; } /** * Creates a hierarchical test task structure * @param rootDescription Root task description * @param childDescriptions Array of child task descriptions * @returns Hierarchical task structure with generated IDs */ function createHierarchicalTask(rootDescription, childDescriptions) { const idGenerator = (0, taskIdGenerator_1.createUniqueIdGenerator)(); return { taskId: idGenerator(), description: rootDescription, status: 'TODO', children: childDescriptions.map(desc => ({ taskId: idGenerator(), description: desc, status: 'TODO' })) }; } /** * Creates multiple simple tasks with generated IDs * @param descriptions Array of task descriptions * @returns Array of tasks with generated IDs */ function createMultipleTasks(descriptions) { const ids = (0, taskIdGenerator_1.generateMultipleTaskIds)(descriptions.length); return descriptions.map((desc, index) => ({ taskId: ids[index], description: desc, status: 'TODO' })); } /** * Session ID generator for tests */ let sessionCounter = 0; function generateTestSessionId(prefix = 'test-session') { return `${prefix}-${++sessionCounter}-${Date.now()}`; }