poker_deleteZone
Remove a specified zone from the task management system to maintain organized project structures and eliminate unnecessary task groupings.
Instructions
ゾーンを削除します(ATMOSPHERE以外)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body_name | Yes | 削除するゾーンの立体名 |
Implementation Reference
- src/mcp/handlers/zoneHandlers.js:121-130 (handler)MCP tool handler for poker_deleteZone: validates body_name, calls taskManager.deleteZone, returns success or throws error.async deleteZone(args) { try { if (!args.body_name) throw new ValidationError('立体名は必須です', 'body_name', args.body_name); const result = await taskManager.deleteZone(args.body_name); return { success: true, message: result }; } catch (error) { logger.error('deleteZoneハンドラーエラー', { args, error: error.message }); throw error; } }
- src/mcp/tools/zoneTools.js:51-64 (schema)Tool schema defining name, description, and inputSchema requiring body_name.{ name: 'poker_deleteZone', description: 'ゾーンを削除します(ATMOSPHERE以外)', inputSchema: { type: 'object', properties: { body_name: { type: 'string', description: '削除するゾーンの立体名' } }, required: ['body_name'] } }
- src/mcp/server.js:43-57 (registration)Dynamic registration of all poker_* tools to corresponding handlers via name.replace('poker_', '') mapping in MCP CallToolRequest handler.this.server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: args } = request.params; logger.info(`MCP Tool実行: ${name}`, { args }); // ハンドラー名をツール名から生成(プレフィックス除去) const handlerName = name.replace('poker_', ''); const handler = this.handlers[handlerName]; if (!handler) { throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`); } return await safeExecute(async () => handler(args), { tool: name })(); });
- src/services/DataManager.js:391-399 (helper)Core implementation in DataManager.applyChange that removes zone from YAML data (skipping ATMOSPHERE), called via taskManager during applyChanges.case 'delete_zone': if (data.body_name === 'ATMOSPHERE') break; // ATMOSPHERE削除禁止 if (this.data.zone) { const zoneIndex = this.data.zone.findIndex(z => z.body_name === data.body_name); if (zoneIndex !== -1) { this.data.zone.splice(zoneIndex, 1); } } break;