evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "This criteria evaluates how effectively an engineer uses the oboe package to implement HTTP request handling with progressive JSON parsing. It focuses specifically on proper usage of oboe's HTTP request configuration, progressive parsing patterns, and event handling capabilities.",
"type": "weighted_checklist",
"checklist": [
{
"name": "oboe initialization",
"description": "Correctly uses oboe() factory function to create an HTTP request, either with a URL string or configuration object including url, method, body, and headers",
"max_score": 20
},
{
"name": "POST configuration",
"description": "Properly configures oboe with method, body, and headers properties for POST requests (e.g., oboe({url: url, method: 'POST', body: body, headers: headers}))",
"max_score": 15
},
{
"name": "JSONPath pattern",
"description": "Uses appropriate JSONPath pattern to match product array elements (e.g., '!.products.*' or '!.products[*]') in the .node() method",
"max_score": 20
},
{
"name": ".node() callback",
"description": "Correctly implements .node() method with pattern and callback function to handle individual products as they arrive",
"max_score": 15
},
{
"name": ".done() callback",
"description": "Properly uses .done() method to handle completion and receive the complete parsed JSON object",
"max_score": 15
},
{
"name": ".fail() callback",
"description": "Implements .fail() method to handle HTTP errors and network failures",
"max_score": 10
},
{
"name": "Method chaining",
"description": "Uses oboe's chainable API pattern (e.g., oboe(url).node(...).done(...).fail(...))",
"max_score": 5
}
]
}