Skip to main content

Files

For usage examples, see Usage - Files.

FilesClient

Client for managing files on the Mentiora platform.

Methods

upload(params: UploadFileParams): Promise<UploadFileResult>

Upload a file. Content is base64-encoded for transport automatically.

Parameters:

  • params: UploadFileParams - Upload parameters

Returns: Promise<UploadFileResult>

Example:

const result = await client.files.upload({
filename: 'data.csv',
content: Buffer.from('col1,col2\na,b'),
mimeType: 'text/csv',
description: 'Sample dataset',
});

list(options?: { query?: string; offset?: number; count?: number }): Promise<ListFilesResult>

List files with optional search and pagination.

Parameters:

  • options.query - Optional search string (matches filename and description)
  • options.offset - Pagination offset (default: 0)
  • options.count - Number of results (default: 50, max: 500)

Returns: Promise<ListFilesResult>

Example:

const files = await client.files.list({ query: 'report', offset: 0, count: 10 });

get(fileId: string): Promise<FileMetadata>

Get file metadata (no content).

Parameters:

  • fileId: string - The file ID

Returns: Promise<FileMetadata>

Example:

const file = await client.files.get('019d6d5d-d384-7793-9e0f-2592a9986021');

download(fileId: string): Promise<Uint8Array>

Download file content as raw bytes.

Parameters:

  • fileId: string - The file ID

Returns: Promise<Uint8Array>

Example:

const content = await client.files.download('019d6d5d-d384-7793-9e0f-2592a9986021');

delete(fileId: string): Promise<DeleteFileResult>

Delete a file. Throws NetworkError with status 409 if the file is still referenced by a knowledge base document.

Parameters:

  • fileId: string - The file ID

Returns: Promise<DeleteFileResult>

Example:

const result = await client.files.delete('019d6d5d-d384-7793-9e0f-2592a9986021');

Types

UploadFileParams

interface UploadFileParams {
filename: string; // Name of the file
content: Uint8Array | Buffer; // Raw file content (base64-encoded automatically)
mimeType: string; // MIME type (e.g., 'application/pdf')
description?: string; // Optional description
}

FileMetadata

interface FileMetadata {
fileId: string; // Unique file identifier
filename: string; // Original filename
mimeType: string; // MIME type
size: number; // File size in bytes
description: string | null; // Optional description
createdAt: string; // ISO 8601 timestamp
updatedAt: string; // ISO 8601 timestamp
}

UploadFileResult

interface UploadFileResult {
fileId: string; // ID of the uploaded file
}

ListFilesResult

interface ListFilesResult {
data: FileMetadata[]; // Array of file metadata
totalCount: number; // Total number of files matching the query
}

DeleteFileResult

interface DeleteFileResult {
deleted: boolean; // true if the file was deleted
}

See also: Client | Errors | Tracing