or run

npx @tessl/cli init
Log in

Version

Files

tile.json

task.mdevals/scenario-7/

Notebook Debugger Controls

A small extension that exposes minimal debugging controls for the active Jupyter document using the integrated debugger UI.

Capabilities

Guard unsupported sessions

  • Trying to activate debugging for a session with no debug protocol support rejects with a readable error string and keeps controls disabled. @test

Toggle line breakpoints

  • Toggling a breakpoint on a given source path and line alternates between adding and removing it, returning the resulting active state. @test

Step through execution

  • After a breakpoint is hit, issuing a step action ("into", "over", "out") advances the debugger and returns the refreshed call stack with the selected frame at the new location. @test

Inspect scoped variables

  • Inspecting a variable name in the selected frame returns its type and string representation; asking for an unknown symbol returns null. @test

Implementation

@generates

API

export type StepAction = 'into' | 'over' | 'out';

export interface StackFrame {
  id: string;
  sourcePath: string;
  line: number;
  functionName?: string;
}

export interface VariablePreview {
  name: string;
  type: string;
  repr: string;
}

export interface BreakpointState {
  active: boolean;
  total: number;
}

export interface DebuggerControls {
  activate(sessionPath: string): Promise<void>;
  toggleBreakpoint(sourcePath: string, line: number): Promise<BreakpointState>;
  step(action: StepAction): Promise<StackFrame[]>;
  inspect(variableName: string): Promise<VariablePreview | null>;
  dispose(): void;
}

Dependencies { .dependencies }

JupyterLab debugger UI { .dependency }

Provides the debugger service and UI plumbing needed to manage breakpoints, stepping, and variable inspection within Jupyter documents.