@soulcraft/brainy 5.7.11 → 5.7.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [5.7.12](https://github.com/soulcraftlabs/brainy/compare/v5.7.11...v5.7.12) (2025-11-13)
6
+
7
+
8
+ ### 🐛 Bug Fixes
9
+
10
+ * excludeVFS now only excludes VFS infrastructure entities (v5.7.12) ([99ac901](https://github.com/soulcraftlabs/brainy/commit/99ac901894bb81ad61b52d422f43cf30f07b6813))
11
+
5
12
  ### [5.7.11](https://github.com/soulcraftlabs/brainy/compare/v5.7.10...v5.7.11) (2025-11-13)
6
13
 
7
14
 
package/dist/brainy.js CHANGED
@@ -1164,10 +1164,40 @@ export class Brainy {
1164
1164
  Object.assign(filter, params.where);
1165
1165
  if (params.service)
1166
1166
  filter.service = params.service;
1167
- // v4.7.0: excludeVFS helper for cleaner UX
1168
- // Use vfsType field (more semantic than isVFS)
1167
+ // v5.7.12: excludeVFS helper - ONLY exclude VFS infrastructure entities
1168
+ // Bug fix: Previously excluded entities with ANY vfsType field
1169
+ // Now ONLY excludes entities with isVFSEntity: true OR vfsType: 'file'/'directory'
1170
+ // This allows extracted entities (concepts/people/etc) to be included even if they
1171
+ // have vfsPath metadata showing where they were imported from
1169
1172
  if (params.excludeVFS === true) {
1170
- filter.vfsType = { exists: false };
1173
+ // Build filter: EXCLUDE WHERE (isVFSEntity == true) OR (vfsType IN ['file', 'directory'])
1174
+ // Implementation: INCLUDE WHERE (isVFSEntity missing/false) AND (vfsType missing/not file or directory)
1175
+ const existingFilter = { ...filter };
1176
+ filter = {
1177
+ allOf: [
1178
+ existingFilter,
1179
+ {
1180
+ // Only include entities WITHOUT isVFSEntity: true
1181
+ anyOf: [
1182
+ { isVFSEntity: { exists: false } },
1183
+ { isVFSEntity: { ne: true } }
1184
+ ]
1185
+ },
1186
+ {
1187
+ // Only include entities WITHOUT vfsType: 'file' or 'directory'
1188
+ // Since VFS files ALWAYS have vfsType set, we check it's missing OR not file/dir
1189
+ anyOf: [
1190
+ { vfsType: { exists: false } },
1191
+ {
1192
+ allOf: [
1193
+ { vfsType: { ne: 'file' } },
1194
+ { vfsType: { ne: 'directory' } }
1195
+ ]
1196
+ }
1197
+ ]
1198
+ }
1199
+ ]
1200
+ };
1171
1201
  }
1172
1202
  if (params.type) {
1173
1203
  const types = Array.isArray(params.type) ? params.type : [params.type];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soulcraft/brainy",
3
- "version": "5.7.11",
3
+ "version": "5.7.12",
4
4
  "description": "Universal Knowledge Protocol™ - World's first Triple Intelligence database unifying vector, graph, and document search in one API. Stage 3 CANONICAL: 42 nouns × 127 verbs covering 96-97% of all human knowledge.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",