MCPcopy Create free account
hub / github.com/driangle/taskmd / handleValidate

Function handleValidate

apps/cli/internal/mcp/validate.go:42–67  ·  view source on GitHub ↗
(_ context.Context, _ *gomcp.CallToolRequest, input ValidateInput)

Source from the content-addressed store, hash-verified

40}
41
42func handleValidate(_ context.Context, _ *gomcp.CallToolRequest, input ValidateInput) (*gomcp.CallToolResult, any, error) {
43 taskDir := input.TaskDir
44 if taskDir == "" {
45 taskDir = "."
46 }
47
48 taskScanner := scanner.NewScanner(taskDir, false, nil)
49 result, err := taskScanner.Scan()
50 if err != nil {
51 return nil, nil, fmt.Errorf("scan failed: %w", err)
52 }
53
54 v := validator.NewValidator(input.Strict)
55 vr := v.Validate(result.Tasks)
56
57 out := buildValidateOutput(vr)
58
59 data, err := json.Marshal(out)
60 if err != nil {
61 return nil, nil, fmt.Errorf("json marshal failed: %w", err)
62 }
63
64 return &gomcp.CallToolResult{
65 Content: []gomcp.Content{&gomcp.TextContent{Text: string(data)}},
66 }, nil, nil
67}
68
69func buildValidateOutput(vr *validator.ValidationResult) validateOutput {
70 issues := make([]validateIssue, 0, len(vr.Issues))

Callers

nothing calls this directly

Calls 3

ScanMethod · 0.95
ValidateMethod · 0.95
buildValidateOutputFunction · 0.85

Tested by

no test coverage detected