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
| 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 }] }; }