Skip to main content
Glama

π“‚€π“’π“‹Ήπ”Έβ„•π•Œπ”Ήπ•€π•Šπ“‹Ήπ“’π“‚€ - Intelligent Guidance for

by Hive-Academy

validate_transition

Checks role transition compliance by validating requirements and providing pass/fail status with actionable feedback for role and task contexts.

Instructions

Validates role transition requirements and provides pass/fail status with actionable feedback.

Input Schema

NameRequiredDescriptionDefault
roleIdYesRole ID for validation context
taskIdYesTask ID for validation context
transitionIdYesTransition ID to validate

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "roleId": { "description": "Role ID for validation context", "type": "string" }, "taskId": { "description": "Task ID for validation context", "type": "number" }, "transitionId": { "description": "Transition ID to validate", "type": "string" } }, "required": [ "transitionId", "taskId", "roleId" ], "type": "object" }

Implementation Reference

  • MCP tool handler function that executes the validate_transition logic, builds context, calls service, and formats response.
    async validateTransition(input: ValidateTransitionInput) { try { const context = { taskId: input.taskId.toString(), roleId: input.roleId, }; const validation = await this.roleTransitionService.validateTransition( input.transitionId, context, ); // βœ… MINIMAL RESPONSE: Only essential validation data return this.buildResponse({ transitionId: input.transitionId, valid: validation.valid, status: validation.valid ? 'passed' : 'failed', issues: validation.errors || [], warnings: validation.warnings || [], }); } catch (error) { return this.buildErrorResponse( 'Failed to validate transition', getErrorMessage(error), 'VALIDATION_ERROR', ); }
  • Zod input schema for the validate_transition tool defining required parameters.
    const ValidateTransitionInputSchema = z.object({ transitionId: z.string().describe('Transition ID to validate'), taskId: z.number().describe('Task ID for validation context'), roleId: z.string().describe('Role ID for validation context'), });
  • Registration of the validate_transition tool via @Tool decorator specifying name, description, and schema.
    @Tool({ name: 'validate_transition', description: `Validates role transition requirements and provides pass/fail status with actionable feedback.`, parameters: ValidateTransitionInputSchema as ZodSchema<ValidateTransitionInput>, })
  • Core helper function in RoleTransitionService that performs the actual transition validation by checking conditions against database and context.
    async validateTransition( transitionId: string, context: { roleId: string; taskId: string; projectPath?: string }, ): Promise<TransitionValidationResult> { try { const transition = await this.workflowRoleRepository.findTransitionById(transitionId); if (!transition) { return { valid: false, errors: ['Transition not found'] }; } const errors: string[] = []; const warnings: string[] = []; // Validate transition conditions using structured data if ( transition.conditions && (transition.conditions as { name: string; value: boolean }[]).length > 0 ) { const conditionResult = await this.validateStructuredTransitionConditions( transition.conditions as { name: string; value: boolean }[], context, ); if (!conditionResult.valid) { errors.push(...conditionResult.errors); } if (conditionResult.warnings) { warnings.push(...conditionResult.warnings); } } return { valid: errors.length === 0, errors, warnings: warnings.length > 0 ? warnings : undefined, }; } catch (error) { return { valid: false, errors: [`Validation error: ${error.message}`], }; } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Hive-Academy/Anubis-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server