@soulcraft/brainy 5.7.11 → 5.7.13

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,20 @@
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.13](https://github.com/soulcraftlabs/brainy/compare/v5.7.12...v5.7.13) (2025-11-14)
6
+
7
+
8
+ ### 🐛 Bug Fixes
9
+
10
+ * resolve excludeVFS architectural bug across all query paths (v5.7.13) ([e57e947](https://github.com/soulcraftlabs/brainy/commit/e57e9474986097f37e89a8dbfa868005368d645c))
11
+
12
+ ### [5.7.12](https://github.com/soulcraftlabs/brainy/compare/v5.7.11...v5.7.12) (2025-11-13)
13
+
14
+
15
+ ### 🐛 Bug Fixes
16
+
17
+ * excludeVFS now only excludes VFS infrastructure entities (v5.7.12) ([99ac901](https://github.com/soulcraftlabs/brainy/commit/99ac901894bb81ad61b52d422f43cf30f07b6813))
18
+
5
19
  ### [5.7.11](https://github.com/soulcraftlabs/brainy/compare/v5.7.10...v5.7.11) (2025-11-13)
6
20
 
7
21
 
package/dist/brainy.js CHANGED
@@ -1164,11 +1164,6 @@ 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)
1169
- if (params.excludeVFS === true) {
1170
- filter.vfsType = { exists: false };
1171
- }
1172
1167
  if (params.type) {
1173
1168
  const types = Array.isArray(params.type) ? params.type : [params.type];
1174
1169
  if (types.length === 1) {
@@ -1183,6 +1178,19 @@ export class Brainy {
1183
1178
  };
1184
1179
  }
1185
1180
  }
1181
+ // v5.7.13: excludeVFS helper - ONLY exclude VFS infrastructure entities
1182
+ // Applied AFTER type filter to avoid execution order bugs
1183
+ // Excludes entities where:
1184
+ // - vfsType is 'file' or 'directory' (VFS files/folders)
1185
+ // - isVFSEntity is true (explicitly marked as VFS)
1186
+ // Includes extracted entities (person/concept/etc) even if they have vfsPath metadata
1187
+ if (params.excludeVFS === true) {
1188
+ // VFS infrastructure entities ALWAYS have vfsType set
1189
+ // Extracted entities do NOT have vfsType (undefined)
1190
+ filter.vfsType = { exists: false };
1191
+ // Extra safety: exclude entities explicitly marked as VFS
1192
+ filter.isVFSEntity = { ne: true };
1193
+ }
1186
1194
  // v4.5.4: Apply sorting if requested, otherwise just filter
1187
1195
  let filteredIds;
1188
1196
  if (params.orderBy) {
@@ -1210,10 +1218,12 @@ export class Brainy {
1210
1218
  if (!hasVectorSearchCriteria && !hasFilterCriteria && !hasGraphCriteria) {
1211
1219
  const limit = params.limit || 20;
1212
1220
  const offset = params.offset || 0;
1213
- // v4.7.0: excludeVFS helper
1221
+ // v5.7.13: excludeVFS helper - exclude VFS infrastructure entities
1222
+ // VFS files/folders have vfsType set, extracted entities do NOT
1214
1223
  let filter = {};
1215
1224
  if (params.excludeVFS === true) {
1216
1225
  filter.vfsType = { exists: false };
1226
+ filter.isVFSEntity = { ne: true };
1217
1227
  }
1218
1228
  // Use metadata index if we need to filter
1219
1229
  if (Object.keys(filter).length > 0) {
@@ -1278,9 +1288,11 @@ export class Brainy {
1278
1288
  Object.assign(filter, params.where);
1279
1289
  if (params.service)
1280
1290
  filter.service = params.service;
1281
- // v4.7.0: excludeVFS helper for cleaner UX
1291
+ // v5.7.13: excludeVFS helper - exclude VFS infrastructure entities
1292
+ // VFS files/folders have vfsType set, extracted entities do NOT
1282
1293
  if (params.excludeVFS === true) {
1283
1294
  filter.vfsType = { exists: false };
1295
+ filter.isVFSEntity = { ne: true };
1284
1296
  }
1285
1297
  if (params.type) {
1286
1298
  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.13",
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",