Back to Capabilities

File Manager

Universal file storage with multiple backends (Local, S3, Git), content processing, deduplication, and knowledge graph indexing.

Imagine...

You've got 500 client files. Contracts, designs, meeting notes, reports. Scattered across Google Drive, Dropbox, your laptop, and email attachments. Finding anything takes forever.

"I know we signed that contract in Q2 but which client was it?" Twenty minutes of searching through folders.

You

"Find all contracts signed in Q2 that mention 'milestone payments'"

Your Awareness

*Searches full-text content across all files, filters by date, extracts relevant sections*

"Found 7 contracts. Here they are sorted by signature date, with the milestone payment sections highlighted."

You

"Can you organize all client files by project status and link them to the CRM records?"

Your Awareness

*Creates folder structure, moves files, builds knowledge graph linking files → clients → projects*

"Done. Your files are now organized by active/completed/paused projects. Each file is linked to its client in the knowledge graph. You can now ask 'show me all files for this client' and get everything instantly."

This isn't magic. This is collaboration.

Your files aren't just stored. They're understood, connected, and searchable by meaning—not just filename.

Storage Backends

Local Storage

File system-based with recursive directory support

  • • Path normalization and safe traversal
  • • Atomic file operations
  • • Directory creation and management

S3 Storage

AWS S3 and S3-compatible (MinIO)

  • • Presigned URL generation
  • • MIME type detection (40+ types)
  • • Bucket isolation per space

Git Backend

Version-controlled file storage

  • • Full commit history
  • • Branch management
  • • Diff, blame, and log queries

Memory Storage

In-process for testing

  • • Fast operations
  • • No persistence
  • • Perfect for unit tests

File Processors

Processors extract metadata and generate previews from uploaded files.

TextProcessor

Extracts: line count, word count, character count. Preview: first 1000 chars.

JSONProcessor

Validates structure, extracts keys, determines type (object/array). Preview: pretty-printed JSON.

CSVProcessor

Parses with header detection, extracts row/column count. Preview: first 10 rows as table.

Knowledge Graph Integration

Files are automatically indexed in Neo4j with relationships to concepts and entities.

// Neo4j File node schema
CREATE (f:File {
  fileId: string,
  path: string,
  name: string,
  mimeType: string,
  size: number,
  hash: string,
  createdAt: datetime,
  updatedAt: datetime
})

// Relationship types
(:File)-[:DOCUMENTS]->(:Concept)
(:File)-[:REFERENCES]->(:Entity)
(:File)-[:RELATES_TO]->(:File)

Use tools like link_file_to_concept to create relationships, then query with graph traversal.

Content Hashing & Deduplication

SHA-256 content hashing detects duplicate files automatically:

// Upload file
const file1 = await fileManager.uploadFile("report.pdf", content);
// hash: "a1b2c3d4..."

// Upload identical file with different name
const file2 = await fileManager.uploadFile("backup.pdf", content);
// hash: "a1b2c3d4..." (same hash!)

// Query finds duplicates
const duplicates = await fileManager.findDuplicates();
// Returns: [{ hash: "a1b2c3d4...", files: ["report.pdf", "backup.pdf"] }]

Available Tools

list_files

List files with space-scoped isolation

read_file

Read file contents with space validation

write_file

Create/overwrite files with space scoping

delete_file

Delete files with ownership validation

search_files

Search by name/content with filters

link_file_to_concept

Create graph relationships

find_files_by_concept

Discover files via concepts

get_file_graph_context

Show all file relationships