Skip to main content

Code Execution SDK

Quick reference for accessing project data from code nodes. Both clients are pre-installed and auto-authenticated.

LibraryClient

Access project files: list, upload, download, and delete.

JavaScript

const { LibraryClient } = require('@intellectible/execution-sdk');
const library = new LibraryClient();
MethodReturnsDescription
listFiles(path?)FileMetadata[]List files at a given path (default: root)
listDirs(path?)DirMetadata[]List directories at a given path (default: root)
createDownloadUrl(fileId)stringGet signed download URL
uploadFile(name, type, content, path?)stringUpload file, returns doc ID
deleteFile(fileId)voidDelete a file

Python

from intellectible_execution import LibraryClient
library = LibraryClient()
MethodReturnsDescription
list_files(path?)List[Dict]List files at a given path (default: root)
list_dirs(path?)List[Dict]List directories at a given path (default: root)
create_download_url(file_id)strGet signed download URL
upload_file(name, type, content, path?)strUpload file, returns doc ID
delete_file(file_id)NoneDelete a file

Full LibraryClient documentation


DatabaseClient

Access project PostgreSQL databases: create tables, query data, insert rows.

JavaScript

const { DatabaseClient } = require('@intellectible/execution-sdk');
const database = new DatabaseClient();

Database & Table Operations

MethodReturnsDescription
listDatabases(){id, name, createdDate}[]List all databases
listTables(databaseId)string[]List tables in a database
createTable(databaseId, tableId)stringCreate a table
deleteTable(databaseId, tableId)voidDelete a table

Column Operations

MethodReturnsDescription
createColumn(dbId, tblId, colId, colType, opts?)stringAdd column to table
deleteColumn(databaseId, tableId, colId)voidDelete a column

Row Operations

MethodReturnsDescription
query(databaseId, tableId, sqlQuery)Object[]Run a SQL query, returns matching rows
insertRows(databaseId, tableId, rows)string[]Insert rows, returns row IDs
updateCell(dbId, tblId, rowId, colId, value)voidUpdate a single cell
deleteRows(databaseId, tableId, rowIds)voidDelete multiple rows
uploadCSV(databaseId, tableId, docId)objectImport CSV from library

Python

from intellectible_execution import DatabaseClient
database = DatabaseClient()

Database & Table Operations

MethodReturnsDescription
list_databases()List[Dict]List all databases
list_tables(database_id)List[str]List tables in a database
create_table(database_id, table_id)strCreate a table
delete_table(database_id, table_id)NoneDelete a table

Column Operations

MethodReturnsDescription
create_column(db_id, tbl_id, col_id, col_type, ...)strAdd column to table
delete_column(database_id, table_id, col_id)NoneDelete a column

Row Operations

MethodReturnsDescription
query(database_id, table_id, sql_query)List[Dict]Run a SQL query, returns matching rows
insert_rows(database_id, table_id, rows)List[str]Insert rows, returns row IDs
update_cell(db_id, tbl_id, row_id, col_id, value)NoneUpdate a single cell
delete_rows(database_id, table_id, row_ids)NoneDelete multiple rows
upload_csv(database_id, table_id, doc_id)DictImport CSV from library

Full DatabaseClient documentation


Column Types

TypeDescription
textText/string data
numberNumeric data with arbitrary precision
booleanTrue/false values
vectorpgvector embeddings (use colTypeParam for dimension, 1-2000)
jsonJSON data
jsonbBinary JSON (faster queries, recommended)
tsvectorFull-text search vectors

Quick Examples

Download and process a file

const files = await library.listFiles();
const url = await library.createDownloadUrl(files[0].id);
const response = await fetch(url);
const content = await response.text();

Upload a file

const docId = await library.uploadFile('results.csv', 'csv', csvData);

Query database rows

const rows = await database.query(dbId, 'users', 'SELECT * FROM "users" LIMIT 20');
console.log(rows);

Insert rows

const rowIds = await database.insertRows(dbId, 'users', [{
name: 'Alice',
email: 'alice@example.com'
}]);