decide_move_project_to_assess_from_decide
Move a project from the Decide realm to the Assess realm to enable content creation and editing within the ADD framework.
Instructions
Move project to Assess realm from Decide realm.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| projectRecordName | Yes | Project record name |
Implementation Reference
- src/index.ts:510-520 (registration)Tool registration in the list of tools returned by ListToolsRequestSchema, defining name, description, and input schema.{ name: 'decide_move_project_to_assess_from_decide', description: 'Move project to Assess realm from Decide realm.', inputSchema: { type: 'object', properties: { projectRecordName: { type: 'string', description: 'Project record name' } }, required: ['projectRecordName'] } },
- src/index.ts:513-519 (schema)Input schema specifying the required projectRecordName parameter.inputSchema: { type: 'object', properties: { projectRecordName: { type: 'string', description: 'Project record name' } }, required: ['projectRecordName'] }
- src/index.ts:727-729 (handler)Dispatch handler case in CallToolRequestSchema that validates arguments and calls the moveProjectToRealm method.case 'decide_move_project_to_assess_from_decide': this.validateArgs(args, ['projectRecordName']); return await this.moveProjectToRealm(args.projectRecordName, 'assess');
- src/index.ts:1051-1058 (handler)Primary handler function implementing the tool logic: validates realm transition and delegates to moveItemToRealm.private async moveProjectToRealm(projectRecordName: string, targetRealm: string) { // Add validation before moving const validationResult = await this.validateRealmTransition(projectRecordName, 'Project', targetRealm as RealmString); if (!validationResult.valid) { throw new McpError(ErrorCode.InvalidParams, validationResult.reason); } return this.moveItemToRealm(projectRecordName, 'Project', targetRealm as RealmString); }
- src/index.ts:1200-1214 (helper)Core helper implementing the realm change, including realm-specific rules like clearing context and dates when moving to Assess.private async moveItemToRealm(itemRecordName: string, itemType: 'Task' | 'Project', targetRealmStr: RealmString) { const targetRealmId = realmStringToId(targetRealmStr); // Mock update realmId and clean up fields based on realm rules let updateMessage = `${itemType} ${itemRecordName} moved to ${targetRealmStr} realm (ID: ${targetRealmId})`; // Apply realm-specific cleanup rules if (targetRealmId === REALM_ASSESS_ID) { updateMessage += '. Context and due date cleared for fresh evaluation'; } else if (targetRealmId === REALM_DECIDE_ID && targetRealmStr !== 'decide') { updateMessage += '. Ready for context assignment and due date setting'; } return { content: [{ type: 'text', text: updateMessage }] }; }