fix: add includeVFS parameter to getRelations() - VFS now visible
CRITICAL BUG FIX - VFS Files Were Completely Invisible
Workshop Team Issue:
- Import created 569 VFS files
- vfs.readdir('/') returned 0 items
- VFS was 100% unusable
Root Cause:
v4.4.0 added includeVFS to brain.find() but FORGOT brain.getRelations().
PathResolver.getChildren() calls getRelations() to find VFS relationships,
but those were being excluded by default - making ALL VFS files invisible!
Fix:
1. Add includeVFS parameter to GetRelationsParams interface
2. Wire includeVFS filtering in brain.getRelations()
- Excludes VFS relationships by default (metadata.isVFS != true)
- Include them when includeVFS: true
3. Update VFS to mark all relationships with metadata: { isVFS: true }
- 7 relate() calls updated in VirtualFileSystem.ts
4. Update PathResolver to use includeVFS: true
- resolveChild() line 200
- getChildren() line 229
Impact:
- VFS is now fully functional again
- Consistent with v4.4.0 architecture (VFS separate from knowledge graph)
- All APIs now have includeVFS where needed
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
2b38f8caba
commit
ae6fbd8c4c
4 changed files with 45 additions and 9 deletions
|
|
@ -422,7 +422,8 @@ export class VirtualFileSystem implements IVirtualFileSystem {
|
|||
await this.brain.relate({
|
||||
from: parentId,
|
||||
to: existingId,
|
||||
type: VerbType.Contains
|
||||
type: VerbType.Contains,
|
||||
metadata: { isVFS: true } // v4.5.1: Mark as VFS relationship
|
||||
})
|
||||
}
|
||||
} else {
|
||||
|
|
@ -440,7 +441,8 @@ export class VirtualFileSystem implements IVirtualFileSystem {
|
|||
await this.brain.relate({
|
||||
from: parentId,
|
||||
to: entity,
|
||||
type: VerbType.Contains
|
||||
type: VerbType.Contains,
|
||||
metadata: { isVFS: true } // v4.5.1: Mark as VFS relationship
|
||||
})
|
||||
|
||||
// Update path resolver cache
|
||||
|
|
@ -762,7 +764,8 @@ export class VirtualFileSystem implements IVirtualFileSystem {
|
|||
await this.brain.relate({
|
||||
from: parentId,
|
||||
to: entity,
|
||||
type: VerbType.Contains
|
||||
type: VerbType.Contains,
|
||||
metadata: { isVFS: true } // v4.5.1: Mark as VFS relationship
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -1674,7 +1677,12 @@ export class VirtualFileSystem implements IVirtualFileSystem {
|
|||
// Add to new parent
|
||||
if (newParentPath && newParentPath !== '/') {
|
||||
const newParentId = await this.pathResolver.resolve(newParentPath)
|
||||
await this.brain.relate({ from: newParentId, to: entityId, type: VerbType.Contains })
|
||||
await this.brain.relate({
|
||||
from: newParentId,
|
||||
to: entityId,
|
||||
type: VerbType.Contains,
|
||||
metadata: { isVFS: true } // v4.5.1: Mark as VFS relationship
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1747,7 +1755,12 @@ export class VirtualFileSystem implements IVirtualFileSystem {
|
|||
const parentPath = this.getParentPath(destPath)
|
||||
if (parentPath && parentPath !== '/') {
|
||||
const parentId = await this.pathResolver.resolve(parentPath)
|
||||
await this.brain.relate({ from: parentId, to: newEntity, type: VerbType.Contains })
|
||||
await this.brain.relate({
|
||||
from: parentId,
|
||||
to: newEntity,
|
||||
type: VerbType.Contains,
|
||||
metadata: { isVFS: true } // v4.5.1: Mark as VFS relationship
|
||||
})
|
||||
}
|
||||
|
||||
// Update path cache
|
||||
|
|
@ -1847,7 +1860,8 @@ export class VirtualFileSystem implements IVirtualFileSystem {
|
|||
await this.brain.relate({
|
||||
from: parentId,
|
||||
to: entity,
|
||||
type: VerbType.Contains
|
||||
type: VerbType.Contains,
|
||||
metadata: { isVFS: true } // v4.5.1: Mark as VFS relationship
|
||||
})
|
||||
|
||||
// Update path resolver cache
|
||||
|
|
@ -2056,7 +2070,8 @@ export class VirtualFileSystem implements IVirtualFileSystem {
|
|||
await this.brain.relate({
|
||||
from: fromEntityId,
|
||||
to: toEntityId,
|
||||
type: type as any // Convert string to VerbType
|
||||
type: type as any, // Convert string to VerbType
|
||||
metadata: { isVFS: true } // v4.5.1: Mark as VFS relationship
|
||||
})
|
||||
|
||||
// Invalidate caches for both paths
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue