evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates whether the solution relies on make-fetch-happen to build a layered HTTP client with defaults, Request/Response primitives, and relative-URL handling. Emphasis is on using fetch.defaults chaining and built-in fetch semantics instead of manual wrappers.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Default client",
"description": "Creates the base HTTP client via make-fetch-happen's fetch.defaults (or equivalent) to set base URL and shared options instead of hand-built wrappers.",
"max_score": 25
},
{
"name": "Chained defaults",
"description": "Derives child clients by calling .defaults on an existing fetch instance so layered overrides inherit parent settings, matching the package's chainable defaults behavior.",
"max_score": 25
},
{
"name": "Request handling",
"description": "Builds or normalizes incoming requests with the package's Request export (or accepts Request instances directly) and returns the corresponding Response from make-fetch-happen rather than custom classes.",
"max_score": 20
},
{
"name": "Header merging",
"description": "Uses the library's header merge semantics (fetch.defaults / Headers) to combine parent, child, and per-call headers instead of manually replacing them.",
"max_score": 15
},
{
"name": "Base URL resolution",
"description": "Relies on fetch.defaults baseUrl resolution to handle relative request paths rather than manual string concatenation.",
"max_score": 15
}
]
}