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 notebookoffset(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 notebookcell_index(number) - Index of the cell
read_notebook_cell_output
Read the output of an executed cell.
Parameters
notebook_path(string) - Path to the notebookcell_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 notebookcell_content(string) - Cell content/codecell_type('code' | 'markdown') - Type of cellposition(number, optional) - Insert position (-1 appends)
edit_notebook_cell
Modify the content of an existing cell.
Parameters
notebook_path(string) - Path to the notebookcell_index(number) - Index of the cell to editnew_content(string) - New cell content
delete_notebook_cells
Delete one or more cells from a notebook.
Parameters
notebook_path(string) - Path to the notebookcell_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 notebookcell_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} objectsexplanation(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