CtrlK
CommunityDocumentationLog inGet started
Tessl Logo

tessl/npm-xmlhttprequest

tessl install tessl/npm-xmlhttprequest@1.8.0

XMLHttpRequest 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%

rubric.jsonevals/scenario-7/

{
  "context": "Evaluates how well the solution streams HTTP responses using xmlhttprequest by emitting progress updates during the LOADING phase, then completing or aborting cleanly. Scoring focuses solely on correct use of XMLHttpRequest APIs for streaming progress, completion, and cancellation.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "LOADING hook",
      "description": "Sets up XMLHttpRequest with onreadystatechange/addEventListener to detect readyState === LOADING (3) and emit progress callbacks before DONE.",
      "max_score": 30
    },
    {
      "name": "Chunk updates",
      "description": "Uses responseText growth during LOADING to call the provided onProgress for each chunk (not just once at completion), passing cumulative length and latest fragment.",
      "max_score": 20
    },
    {
      "name": "Single-chunk progress",
      "description": "Even when the response arrives in a single chunk, still triggers at least one LOADING-driven progress callback before resolving.",
      "max_score": 10
    },
    {
      "name": "Final completion",
      "description": "Waits for readyState === DONE (4) or load event to resolve with the full concatenated response and byte count after prior LOADING callbacks.",
      "max_score": 15
    },
    {
      "name": "Abort handling",
      "description": "Respects AbortSignal/abort requests by invoking xhr.abort(), ceasing further LOADING callbacks, and surfacing an aborted result path.",
      "max_score": 15
    },
    {
      "name": "Request setup",
      "description": "Initializes XMLHttpRequest with async open/send against the provided URL and avoids sync mode so streaming LOADING events can fire.",
      "max_score": 10
    }
  ]
}

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
npmpkg:npm/xmlhttprequest@1.8.x
tile.json