| TASKS = { |
| "easy": { |
| "id": "easy", |
| "description": "Classify a customer ticket into the right category.", |
| "input": { |
| "ticket_id": "T001", |
| "customer_query": "I was charged twice for my order #ORD-8821 and need the duplicate payment removed.", |
| "history": [], |
| "status": "open", |
| }, |
| "expected": { |
| "category": "billing", |
| "keywords": ["refund", "charge", "payment", "duplicate", "billing"], |
| "requires_escalation": False, |
| }, |
| "max_steps": 5, |
| }, |
|
|
| "medium": { |
| "id": "medium", |
| "description": "Classify the ticket and give a helpful reply.", |
| "input": { |
| "ticket_id": "T002", |
| "customer_query": "The app keeps crashing on my iPhone 15. I already restarted my phone twice.", |
| "history": [], |
| "status": "open", |
| }, |
| "expected": { |
| "category": "technical", |
| "keywords": ["reinstall", "update", "cache", "support", "technical", "version"], |
| "requires_escalation": False, |
| }, |
| "max_steps": 8, |
| }, |
|
|
| "hard": { |
| "id": "hard", |
| "description": "Full pipeline — classify, reply, escalate if needed, then close.", |
| "input": { |
| "ticket_id": "T003", |
| "customer_query": "I have been waiting three weeks for a refund your team promised. I am considering legal action.", |
| "history": [ |
| "Agent: We apologise. Your refund is being processed.", |
| "Customer: Two weeks and still nothing!", |
| "Agent: We escalated this to our billing team.", |
| "Customer: Another week gone. I want to speak to a manager!", |
| ], |
| "status": "pending", |
| }, |
| "expected": { |
| "category": "billing", |
| "keywords": ["escalat", "manager", "priority", "urgent", "legal", "refund", "apologize", "sorry"], |
| "requires_escalation": True, |
| }, |
| "max_steps": 10, |
| }, |
| } |
|
|
| TASK_LIST = list(TASKS.values()) |