tessl install tessl/npm-xmlhttprequest@1.8.0XMLHttpRequest for Node.js that emulates the browser XMLHttpRequest object
Agent Success
Agent success rate when using this tile
75%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.15x
Baseline
Agent success rate without this tile
65%
{
"context": "Evaluates whether the solution uses xmlhttprequest correctly to stream text responses, surface status information, and handle bodyless responses while invoking chunk callbacks during LOADING progression. Focus is exclusively on proper use of the XMLHttpRequest API for the behaviors described in the spec.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Library wiring",
"description": "Creates and configures an XMLHttpRequest instance from the xmlhttprequest package, using async requests via open(..., true) for GET/HEAD as specified.",
"max_score": 15
},
{
"name": "LOADING chunks",
"description": "Listens for request progression (e.g., onreadystatechange with readyState === XMLHttpRequest.LOADING or equivalent) to detect new responseText segments and invokes the provided onChunk callback immediately for each newly streamed fragment in order.",
"max_score": 30
},
{
"name": "Response aggregation",
"description": "Accumulates the full responseText from the XMLHttpRequest object without losing earlier chunks, returning the concatenated text exactly once when readyState reaches DONE.",
"max_score": 20
},
{
"name": "Status capture",
"description": "Reads status and statusText from the XMLHttpRequest instance after completion and returns them verbatim (not hardcoded), including for non-2xx responses.",
"max_score": 15
},
{
"name": "Error responses",
"description": "For error statuses (e.g., 503), still resolves with the streamed body and the xhr-provided status/statusText instead of throwing or suppressing the response data.",
"max_score": 10
},
{
"name": "Bodyless handling",
"description": "Supports HEAD or other header-only responses by issuing the request with method \"HEAD\" via open, avoiding onChunk calls when responseText is empty, and returning an empty string body.",
"max_score": 10
}
]
}