Vapora/schemas/tools/kanban_create_task.ncl

46 lines
1.1 KiB
Plaintext
Raw Normal View History

2026-01-14 21:12:49 +00:00
# Schema for kanban_create_task MCP tool
# Validates task creation requests with contracts
{
tool_name = "kanban_create_task",
description = "Create task in Kanban board with validation",
parameters = {
# Project UUID - must be valid UUID format
project_id
| String
| doc "UUID of the target project"
| std.string.NonEmpty
| std.string.match "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
# Task title - 3 to 200 characters
title
| String
| doc "Task title (3-200 chars)"
| std.string.NonEmpty
| std.string.length.min 3
| std.string.length.max 200,
# Optional description
description
| String
| doc "Task description (optional)"
| default = "",
# Priority level - enum validation
priority
| String
| doc "Task priority level"
| std.string.NonEmpty
| std.enum.TaggedUnion
| [| 'low, 'medium, 'high, 'critical |],
},
# Validation contracts (custom predicates)
contracts = {
# Title must not be only whitespace
title_not_whitespace = fun params =>
std.string.trim params.title != "",
},
}