- Added CalendarDayDetail component for displaying detailed event information for a selected day. - Created CalendarEventPill component to represent individual events in a compact format. - Introduced CalendarFilters component to filter events by project, stage type, and status. - Developed CalendarGrid component to render the calendar layout and manage event interactions. - Implemented CalendarView component to manage the overall calendar state and navigation. - Added useCalendar hook to fetch calendar events based on specified filters. - Created calendar-service to handle fetching events from the database with filtering capabilities. - Updated data model to include necessary fields for calendar events and filters. - Added system prompt and tools for AI assistant to manage calendar-related tasks.
206 lines
No EOL
7 KiB
JSON
206 lines
No EOL
7 KiB
JSON
[
|
|
{
|
|
"name": "search_entities",
|
|
"description": "Search for projects, deliverables (including their stage IDs), and users by name or keyword. ALWAYS call this first when the user references something by name so you can resolve the name to the correct internal ID before calling any other tool.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"query": { "type": "string", "description": "Name, keyword, or partial name to search for" },
|
|
"entityType": { "type": "string", "enum": ["all", "project", "deliverable", "user"], "description": "Limit search to a specific entity type (default: all)" }
|
|
},
|
|
"required": ["query"]
|
|
}
|
|
},
|
|
{
|
|
"name": "list_users",
|
|
"description": "List all team members with their IDs, names, roles, and departments.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"nameFilter": { "type": "string", "description": "Filter by partial name (optional)" }
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "list_projects",
|
|
"description": "List all projects. Returns project names, codes, statuses, priorities, and deliverable counts.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": { "type": "string", "enum": ["ACTIVE", "ON_HOLD", "COMPLETED", "ARCHIVED"], "description": "Filter by project status (optional)" }
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "get_project",
|
|
"description": "Get detailed information about a specific project including all its deliverables and pipeline stages.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"projectId": { "type": "string", "description": "The project ID" }
|
|
},
|
|
"required": ["projectId"]
|
|
}
|
|
},
|
|
{
|
|
"name": "list_deliverables",
|
|
"description": "List all deliverables for a specific project with their stage statuses and artist assignments.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"projectId": { "type": "string", "description": "The project ID" }
|
|
},
|
|
"required": ["projectId"]
|
|
}
|
|
},
|
|
{
|
|
"name": "get_blocked_stages",
|
|
"description": "Get all pipeline stages that are currently blocked, showing what prerequisites they're waiting on.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"projectId": { "type": "string", "description": "Filter to a specific project (optional)" }
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "list_overdue",
|
|
"description": "Get all overdue deliverables and stages sorted by most overdue first.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"projectId": { "type": "string", "description": "Filter to a specific project (optional)" },
|
|
"limit": { "type": "number", "description": "Max items to return (optional)" }
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "get_available_artists",
|
|
"description": "Get artists who have capacity below their max concurrent assignments.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"departmentFilter": { "type": "string", "description": "Filter by department name (optional)" }
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "get_workload",
|
|
"description": "Get workload data for team members showing assignments per week, utilization, and capacity.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"numWeeks": { "type": "number", "description": "Number of weeks to show (default 8)" },
|
|
"projectId": { "type": "string", "description": "Filter to a specific project (optional)" },
|
|
"userId": { "type": "string", "description": "Filter to a specific user (optional)" }
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "get_suggested_artists",
|
|
"description": "Get artist suggestions for a specific stage based on skill match and current workload.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"stageTemplateId": { "type": "string", "description": "The pipeline stage template ID" }
|
|
},
|
|
"required": ["stageTemplateId"]
|
|
}
|
|
},
|
|
{
|
|
"name": "create_project",
|
|
"description": "Create a new project. Execute directly when the user's intent is clear.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"projectCode": { "type": "string", "description": "Unique project code" },
|
|
"name": { "type": "string", "description": "Project name" },
|
|
"status": { "type": "string", "enum": ["ACTIVE", "ON_HOLD", "COMPLETED", "ARCHIVED"] },
|
|
"priority": { "type": "string", "enum": ["LOW", "MEDIUM", "HIGH", "URGENT"] },
|
|
"description": { "type": "string" },
|
|
"businessUnit": { "type": "string" },
|
|
"quarter": { "type": "string" },
|
|
"dueDate": { "type": "string" }
|
|
},
|
|
"required": ["projectCode", "name", "status", "priority"]
|
|
}
|
|
},
|
|
{
|
|
"name": "create_deliverable",
|
|
"description": "Create a new deliverable under a project. Auto-creates all 10 pipeline stages.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"projectId": { "type": "string" },
|
|
"name": { "type": "string" },
|
|
"priority": { "type": "string", "enum": ["LOW", "MEDIUM", "HIGH", "URGENT"] },
|
|
"dueDate": { "type": "string" },
|
|
"notes": { "type": "string" },
|
|
"assetCount": { "type": "number" }
|
|
},
|
|
"required": ["projectId", "name", "priority"]
|
|
}
|
|
},
|
|
{
|
|
"name": "advance_stage",
|
|
"description": "Update a pipeline stage's status. Validates transitions and dependencies.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"stageId": { "type": "string" },
|
|
"status": { "type": "string", "enum": ["NOT_STARTED", "IN_PROGRESS", "IN_REVIEW", "CHANGES_REQUESTED", "APPROVED", "DELIVERED", "SKIPPED"] },
|
|
"subStatus": { "type": "string" }
|
|
},
|
|
"required": ["stageId", "status"]
|
|
}
|
|
},
|
|
{
|
|
"name": "assign_artist",
|
|
"description": "Assign an artist to a pipeline stage.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"stageId": { "type": "string" },
|
|
"userId": { "type": "string" },
|
|
"role": { "type": "string", "enum": ["LEAD", "SUPPORT"] }
|
|
},
|
|
"required": ["stageId", "userId"]
|
|
}
|
|
},
|
|
{
|
|
"name": "remove_assignment",
|
|
"description": "Remove an artist's assignment from a stage.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"stageId": { "type": "string" },
|
|
"userId": { "type": "string" }
|
|
},
|
|
"required": ["stageId", "userId"]
|
|
}
|
|
},
|
|
{
|
|
"name": "create_revision",
|
|
"description": "Log a new revision round on a stage.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"stageId": { "type": "string" },
|
|
"feedbackNotes": { "type": "string" },
|
|
"internalNotes": { "type": "string" }
|
|
},
|
|
"required": ["stageId"]
|
|
}
|
|
},
|
|
{
|
|
"name": "list_revisions",
|
|
"description": "List all revision rounds for a specific stage.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"stageId": { "type": "string" }
|
|
},
|
|
"required": ["stageId"]
|
|
}
|
|
}
|
|
] |