tessl install tessl/npm-external-editor@3.1.0Edit a string with the users preferred text editor using $VISUAL or $ENVIRONMENT
Agent Success
Agent success rate when using this tile
79%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.05x
Baseline
Agent success rate without this tile
75%
{
"context": "Evaluates whether the solution wraps the external-editor package correctly to manage synchronous and asynchronous editing sessions with explicit cleanup. Checks proper construction with temp file options, use of run/runAsync, exit status reporting via lastExitStatus, and cleanup behavior including manual discard.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Constructor usage",
"description": "Creates a new ExternalEditor with the provided initial text and passes TempFileOptions values directly into the constructor rather than reimplementing temp file handling.",
"max_score": 15
},
{
"name": "Sync launch",
"description": "Uses editor.run() for synchronous sessions to obtain the edited text, then triggers editor.cleanup() after reading the file so the temp file is always removed.",
"max_score": 20
},
{
"name": "Async launch",
"description": "Uses editor.runAsync(callback) for asynchronous sessions with an error-first callback, relaying any error immediately and invoking editor.cleanup() after the callback completes.",
"max_score": 20
},
{
"name": "Exit status",
"description": "Reads editor.lastExitStatus (or last_exit_status) after run/runAsync and returns it as the session exitStatus instead of defaulting to zero or ignoring it.",
"max_score": 15
},
{
"name": "Manual discard",
"description": "Implements the discard operation by calling editor.cleanup() even if no run was performed and surfaces RemoveFileError (or the underlying error) when cleanup fails.",
"max_score": 15
},
{
"name": "Option passthrough",
"description": "Forwards prefix, postfix, template, dir, and mode options unchanged to ExternalEditor so both run() and runAsync() sessions honor the caller's temp file preferences.",
"max_score": 15
}
]
}