  Here is the code to define the functions to manipulate a node graph using the nodegraphqt library:
```
import nodegraphqt

def zoom_in():
    nodegraphqt.zoom_in()

def zoom_out():
    nodegraphqt.zoom_out()

def reset_zoom():
    nodegraphqt.reset_zoom()

def set_layout_direction(direction):
    nodegraphqt.set_layout_direction(direction)

def open():
    nodegraphqt.open()

def import():
    nodegraphqt.import()

def save():
    nodegraphqt.save()

def clear_session():
    nodegraphqt.clear_session()

def clear_undo_history():
    nodegraphqt.clear_undo_history()

def copy():
    nodegraphqt.copy()

def cut():
    nodegraphqt.cut()

def paste():
    nodegraphqt.paste()

def delete():
    nodegraphqt.delete()

def extract():
    nodegraphqt.extract()

def clear_connections_of():
    nodegraphqt.clear_connections_of()

def select_all():
    nodegraphqt.select_all()

def clear_selection_of():
    nodegraphqt.clear_selection_of()

def invert_selection_of():
    nodegraphqt.invert_selection_of()

def disable():
    nodegraphqt.disable()

def duplicate():
    nodegraphqt.duplicate()

def expand_group_of_nodes():
    nodegraphqt.expand_group_of_nodes()

def fit_zoom_level_to_selected_nodes():
    nodegraphqt.fit_zoom_level_to_selected_nodes()

def show_undo_list():
    nodegraphqt.show_undo_list()

def set_pipe_style(style):
    nodegraphqt.set_pipe_style(style)

def set_background_grid(grid):
    nodegraphqt.set_background_grid(grid)

def auto_layout_nodes(direction):
    nodegraphqt.auto_layout_nodes(direction)

def toggle_node_search():
    nodegraphqt.toggle_node_search()
```