Core / Agent

Agent Tools

Complete reference for all 13 tools available to the agent.

Tools are defined in apps/thesis/src/server/tools/ and provide the agent with specific capabilities. Each tool has a schema validated with Zod.

File Tools

list_dir

List contents of a directory.

Parameters

  • path (string) - Directory path to list

Returns

JSON array of filenames

read_file

Read the contents of a file.

Parameters

  • file_path (string) - Path to the file

Returns

File content as string

Notebook Tools

read_notebook

Read notebook cells with pagination support.

Parameters

  • notebook_path (string) - Path to the notebook
  • offset (number, optional) - Starting position (default: 1)
  • limit (number, optional) - Number of cells (default: 50)

Returns

JSON with cells array and total_cells count

read_notebook_cell

Read a single notebook cell.

Parameters

  • notebook_path (string) - Path to the notebook
  • cell_index (number) - Index of the cell

read_notebook_cell_output

Read the output of an executed cell.

Parameters

  • notebook_path (string) - Path to the notebook
  • cell_index (number) - Index of the cell

Returns

JSON with cell index and outputs array

create_notebook

Create a new empty Jupyter notebook.

Parameters

  • notebook_path (string) - Path for the new notebook

Returns

{status: 'created', path: notebook_path}

add_notebook_cell

Add a new cell to a notebook.

Parameters

  • notebook_path (string) - Path to the notebook
  • cell_content (string) - Cell content/code
  • cell_type ('code' | 'markdown') - Type of cell
  • position (number, optional) - Insert position (-1 appends)

edit_notebook_cell

Modify the content of an existing cell.

Parameters

  • notebook_path (string) - Path to the notebook
  • cell_index (number) - Index of the cell to edit
  • new_content (string) - New cell content

delete_notebook_cells

Delete one or more cells from a notebook.

Parameters

  • notebook_path (string) - Path to the notebook
  • cell_indices (number[]) - Array of cell indices

Execution Tools

run_notebook_cell

Execute a cell and capture its output.

Parameters

  • notebook_path (string) - Path to the notebook
  • cell_index (number) - Index of the cell to run

Returns

{status: 'success'|'error', outputs: string[]}

Timeout: 5 minutes

exec_local_shell

Execute a shell command.

Parameters

  • command (string) - Command to execute

Safety

Blocks sudo and rm -rf /

Planning Tools

create_plan

Create a structured plan with step-by-step tasks.

Parameters

  • plan_items (array) - Array of {step, status} objects
  • explanation (string) - Overall plan explanation

Status values

'pending' | 'in_progress' | 'completed'

Search Tools

web_search

Search the web for information (uses OpenAI's built-in search).

Availability

Can be disabled via webSearchEnabled flag