@soulcraft/brainy 3.20.4 → 3.20.5

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
+ ### [3.20.5](https://github.com/soulcraftlabs/brainy/compare/v3.20.4...v3.20.5) (2025-10-01)
6
+
7
+ - feat: add --skip-tests flag to release script (0614171)
8
+ - fix: resolve critical bugs in delete operations and fix flaky tests (8476047)
9
+ - feat: implement simpler, more reliable release workflow (386fd2c)
10
+
11
+
5
12
  ### [3.20.2](https://github.com/soulcraftlabs/brainy/compare/v3.20.1...v3.20.2) (2025-09-30)
6
13
 
7
14
  ### Bug Fixes
@@ -276,4 +283,4 @@ See [MIGRATION.md](MIGRATION.md) for detailed migration instructions including:
276
283
  - API changes and new patterns
277
284
  - Storage format updates
278
285
  - Configuration changes
279
- - New features and capabilities
286
+ - New features and capabilities
package/dist/brainy.js CHANGED
@@ -424,6 +424,15 @@ export class Brainy {
424
424
  await this.graphIndex.removeVerb(verb.id);
425
425
  // Then delete from storage
426
426
  await this.storage.deleteVerb(verb.id);
427
+ // Delete verb metadata if exists
428
+ try {
429
+ if (typeof this.storage.deleteVerbMetadata === 'function') {
430
+ await this.storage.deleteVerbMetadata(verb.id);
431
+ }
432
+ }
433
+ catch {
434
+ // Ignore if not supported
435
+ }
427
436
  }
428
437
  });
429
438
  }
@@ -240,9 +240,11 @@ export class BaseStorage extends BaseStorageAdapter {
240
240
  */
241
241
  async getVerbsBySource(sourceId) {
242
242
  await this.ensureInitialized();
243
- // Use the paginated getVerbs method with source filter
243
+ // CRITICAL: Fetch ALL verbs for this source, not just first page
244
+ // This is needed for delete operations to clean up all relationships
244
245
  const result = await this.getVerbs({
245
- filter: { sourceId }
246
+ filter: { sourceId },
247
+ pagination: { limit: Number.MAX_SAFE_INTEGER }
246
248
  });
247
249
  return result.items;
248
250
  }
@@ -251,9 +253,11 @@ export class BaseStorage extends BaseStorageAdapter {
251
253
  */
252
254
  async getVerbsByTarget(targetId) {
253
255
  await this.ensureInitialized();
254
- // Use the paginated getVerbs method with target filter
256
+ // CRITICAL: Fetch ALL verbs for this target, not just first page
257
+ // This is needed for delete operations to clean up all relationships
255
258
  const result = await this.getVerbs({
256
- filter: { targetId }
259
+ filter: { targetId },
260
+ pagination: { limit: Number.MAX_SAFE_INTEGER }
257
261
  });
258
262
  return result.items;
259
263
  }
@@ -262,9 +266,10 @@ export class BaseStorage extends BaseStorageAdapter {
262
266
  */
263
267
  async getVerbsByType(type) {
264
268
  await this.ensureInitialized();
265
- // Use the paginated getVerbs method with type filter
269
+ // Fetch ALL verbs of this type (no pagination limit)
266
270
  const result = await this.getVerbs({
267
- filter: { verbType: type }
271
+ filter: { verbType: type },
272
+ pagination: { limit: Number.MAX_SAFE_INTEGER }
268
273
  });
269
274
  return result.items;
270
275
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soulcraft/brainy",
3
- "version": "3.20.4",
3
+ "version": "3.20.5",
4
4
  "description": "Universal Knowledge Protocol™ - World's first Triple Intelligence database unifying vector, graph, and document search in one API. 31 nouns × 40 verbs for infinite expressiveness.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -81,11 +81,15 @@
81
81
  "format:check": "prettier --check \"src/**/*.{ts,js}\"",
82
82
  "migrate:logger": "tsx scripts/migrate-to-structured-logger.ts",
83
83
  "migrate:logger:dry": "tsx scripts/migrate-to-structured-logger.ts --dry-run",
84
- "release": "standard-version",
85
- "release:patch": "standard-version --release-as patch",
86
- "release:minor": "standard-version --release-as minor",
87
- "release:major": "standard-version --release-as major",
88
- "release:dry": "standard-version --dry-run"
84
+ "release": "./scripts/release.sh patch",
85
+ "release:patch": "./scripts/release.sh patch",
86
+ "release:minor": "./scripts/release.sh minor",
87
+ "release:major": "./scripts/release.sh major",
88
+ "release:dry": "./scripts/release.sh patch --dry-run",
89
+ "release:standard-version": "standard-version",
90
+ "release:standard-version:patch": "standard-version --release-as patch",
91
+ "release:standard-version:minor": "standard-version --release-as minor",
92
+ "release:standard-version:major": "standard-version --release-as major"
89
93
  },
90
94
  "keywords": [
91
95
  "ai-database",