evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates whether the solution uses JupyterLab terminal services to open, resume, and manage persistent server-side shell sessions while capturing command output as described in the spec.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Start session",
"description": "Uses @jupyterlab/services TerminalManager.startNew with a provided name option when no matching session exists instead of spawning ad-hoc processes.",
"max_score": 25
},
{
"name": "Resume existing",
"description": "Reattaches to an existing terminal id via TerminalManager.connectTo (or equivalent ITerminalConnection constructor) for resume flows rather than starting a new session when reconnecting after close.",
"max_score": 20
},
{
"name": "Command I/O",
"description": "Sends commands through ITerminalConnection.send with stdin messages (ensuring newline termination) and aggregates output by listening to ITerminalConnection.messageReceived/stdout events to fulfill the run-and-capture behavior.",
"max_score": 20
},
{
"name": "List sessions",
"description": "Retrieves active sessions using TerminalManager.running() (optionally after refreshRunning()) to list ids before and after operations, aligning with the spec's list capability.",
"max_score": 15
},
{
"name": "Shutdown server",
"description": "Terminates server-side shells with TerminalManager.shutdown for the targeted id (distinct from disposing a client handle) to satisfy the explicit shutdown requirement.",
"max_score": 20
}
]
}