diff options
Diffstat (limited to 'modules/core')
| -rw-r--r-- | modules/core/module-neural-vfs.js | 3 | ||||
| -rw-r--r-- | modules/core/virtual-fs.js | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/modules/core/module-neural-vfs.js b/modules/core/module-neural-vfs.js index 5c30718..e216656 100644 --- a/modules/core/module-neural-vfs.js +++ b/modules/core/module-neural-vfs.js @@ -445,8 +445,9 @@ class NeuralVFSModule { } _isSystemFile(path) { + const normalized = path.startsWith('/') ? path : '/' + path; const sysPrefixes = ['/.trash', '/.semantic_index', '/.memory_graph', '/_snapshots', '/_sessions', '/logs', '/memory', '/system', '/_mods', '/backups']; - return sysPrefixes.some(p => path.startsWith(p) || path.includes('/node_modules')); + return sysPrefixes.some(p => normalized.startsWith(p) || path.includes('/node_modules')); } _contentHash(str) { diff --git a/modules/core/virtual-fs.js b/modules/core/virtual-fs.js index 12bb7f1..95b031e 100644 --- a/modules/core/virtual-fs.js +++ b/modules/core/virtual-fs.js @@ -86,7 +86,10 @@ class VirtualFileSystem { _emitChange(path) { // Notify NeuralVFS via window event — zero coupling // Skip internal index/system files to prevent re-trigger loops - if (path && (path.startsWith('/.semantic_index') || path.startsWith('/.memory_graph') || path.startsWith('/.trash') || path.startsWith('/_snapshots') || path.startsWith('/_sessions') || path.startsWith('/logs') || path.startsWith('/memory') || path.startsWith('/system') || path.startsWith('/_mods') || path.startsWith('/backups'))) return; + if (!path) return; + const normalized = path.startsWith('/') ? path : '/' + path; + const sysPaths = ['/.semantic_index', '/.memory_graph', '/.trash', '/_snapshots', '/_sessions', '/logs', '/memory', '/system', '/_mods', '/backups']; + if (sysPaths.some(p => normalized.startsWith(p))) return; if (typeof window !== 'undefined' && window.__nvfsMarkDirty) { window.__nvfsMarkDirty(path); } |