@signetai/connector-hermes-agent 0.206.0 → 0.206.2

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.
Files changed (2) hide show
  1. package/dist/index.js +138 -14
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -11268,6 +11268,7 @@ var DAEMON_DERIVED_MEMORY_SOURCE_TYPES = [
11268
11268
  "dreaming"
11269
11269
  ];
11270
11270
  var MEMORIES_FTS_TOKENIZER = "unicode61";
11271
+ var FTS_STATE_TABLE = "memories_fts_state";
11271
11272
  function normalizeSql(sql) {
11272
11273
  return sql.replace(/\s+/g, " ").trim().toLowerCase();
11273
11274
  }
@@ -11280,18 +11281,67 @@ function createMemoriesFts(db) {
11280
11281
  tokenize='${MEMORIES_FTS_TOKENIZER}'
11281
11282
  );
11282
11283
  `);
11284
+ ensureMemoriesFtsState(db);
11285
+ createMemoriesFtsTriggers(db);
11286
+ }
11287
+ function ensureMemoriesFtsState(db) {
11283
11288
  db.exec(`
11284
- CREATE TRIGGER IF NOT EXISTS memories_ai AFTER INSERT ON memories BEGIN
11285
- INSERT INTO memories_fts(rowid, content) VALUES (new.rowid, new.content);
11286
- END;
11289
+ CREATE TABLE IF NOT EXISTS ${FTS_STATE_TABLE} (
11290
+ id INTEGER PRIMARY KEY CHECK (id = 1),
11291
+ memory_count INTEGER NOT NULL,
11292
+ indexed_count INTEGER NOT NULL,
11293
+ updated_at TEXT NOT NULL
11294
+ );
11295
+ INSERT OR IGNORE INTO ${FTS_STATE_TABLE} (id, memory_count, indexed_count, updated_at)
11296
+ VALUES (
11297
+ 1,
11298
+ -1,
11299
+ 0,
11300
+ datetime('now')
11301
+ );
11287
11302
  `);
11303
+ }
11304
+ function createMemoriesFtsTriggers(db) {
11288
11305
  db.exec(`
11289
- CREATE TRIGGER IF NOT EXISTS memories_ad AFTER DELETE ON memories BEGIN
11306
+ DROP TRIGGER IF EXISTS memories_ai;
11307
+ DROP TRIGGER IF EXISTS memories_ad;
11308
+ DROP TRIGGER IF EXISTS memories_au;
11309
+
11310
+ CREATE TRIGGER memories_ai AFTER INSERT ON memories BEGIN
11311
+ INSERT INTO memories_fts(rowid, content) VALUES (new.rowid, new.content);
11312
+ UPDATE ${FTS_STATE_TABLE}
11313
+ SET memory_count = CASE WHEN memory_count < 0 THEN -1 ELSE memory_count + 1 END,
11314
+ indexed_count = CASE WHEN indexed_count < 0 THEN 0 ELSE indexed_count + 1 END,
11315
+ updated_at = datetime('now')
11316
+ WHERE id = 1;
11317
+ END;
11318
+
11319
+ CREATE TRIGGER memories_ad AFTER DELETE ON memories BEGIN
11320
+ UPDATE ${FTS_STATE_TABLE}
11321
+ SET memory_count = CASE WHEN memory_count < 0 THEN -1 ELSE MAX(0, memory_count - 1) END,
11322
+ indexed_count = CASE
11323
+ WHEN indexed_count < 0 THEN 0
11324
+ ELSE MAX(0, indexed_count - CASE WHEN EXISTS(
11325
+ SELECT 1 FROM memories_fts_docsize WHERE id = old.rowid
11326
+ ) THEN 1 ELSE 0 END)
11327
+ END,
11328
+ updated_at = datetime('now')
11329
+ WHERE id = 1;
11290
11330
  INSERT INTO memories_fts(memories_fts, rowid, content) VALUES('delete', old.rowid, old.content);
11291
11331
  END;
11292
- `);
11293
- db.exec(`
11294
- CREATE TRIGGER IF NOT EXISTS memories_au AFTER UPDATE OF content ON memories BEGIN
11332
+
11333
+ CREATE TRIGGER memories_au AFTER UPDATE OF content ON memories BEGIN
11334
+ UPDATE ${FTS_STATE_TABLE}
11335
+ SET indexed_count = CASE
11336
+ WHEN indexed_count < 0 THEN CASE WHEN EXISTS(
11337
+ SELECT 1 FROM memories_fts_docsize WHERE id = old.rowid
11338
+ ) THEN 0 ELSE 1 END
11339
+ ELSE indexed_count + CASE WHEN EXISTS(
11340
+ SELECT 1 FROM memories_fts_docsize WHERE id = old.rowid
11341
+ ) THEN 0 ELSE 1 END
11342
+ END,
11343
+ updated_at = datetime('now')
11344
+ WHERE id = 1;
11295
11345
  INSERT INTO memories_fts(memories_fts, rowid, content) VALUES('delete', old.rowid, old.content);
11296
11346
  INSERT INTO memories_fts(rowid, content) VALUES (new.rowid, new.content);
11297
11347
  END;
@@ -11302,11 +11352,23 @@ function recreateMemoriesFtsSchema(db) {
11302
11352
  db.exec("DROP TRIGGER IF EXISTS memories_ad");
11303
11353
  db.exec("DROP TRIGGER IF EXISTS memories_au");
11304
11354
  db.exec("DROP TABLE IF EXISTS memories_fts");
11355
+ db.exec(`DROP TABLE IF EXISTS ${FTS_STATE_TABLE}`);
11305
11356
  createMemoriesFts(db);
11306
11357
  }
11307
11358
  function recreateMemoriesFts(db) {
11308
11359
  recreateMemoriesFtsSchema(db);
11309
11360
  db.exec("INSERT INTO memories_fts(rowid, content) SELECT rowid, content FROM memories");
11361
+ refreshMemoriesFtsState(db);
11362
+ }
11363
+ function refreshMemoriesFtsState(db) {
11364
+ ensureMemoriesFtsState(db);
11365
+ db.exec(`
11366
+ UPDATE ${FTS_STATE_TABLE}
11367
+ SET memory_count = (SELECT COUNT(*) FROM memories),
11368
+ indexed_count = (SELECT COUNT(*) FROM memories_fts_docsize),
11369
+ updated_at = datetime('now')
11370
+ WHERE id = 1;
11371
+ `);
11310
11372
  }
11311
11373
  function readMemoriesFtsSql(db) {
11312
11374
  const row = db.prepare("SELECT sql FROM sqlite_master WHERE name = 'memories_fts' AND type = 'table'").get();
@@ -28308,6 +28370,7 @@ var DAEMON_DERIVED_MEMORY_SOURCE_TYPES2 = [
28308
28370
  "dreaming"
28309
28371
  ];
28310
28372
  var MEMORIES_FTS_TOKENIZER2 = "unicode61";
28373
+ var FTS_STATE_TABLE2 = "memories_fts_state";
28311
28374
  function normalizeSql2(sql) {
28312
28375
  return sql.replace(/\s+/g, " ").trim().toLowerCase();
28313
28376
  }
@@ -28320,18 +28383,67 @@ function createMemoriesFts2(db) {
28320
28383
  tokenize='${MEMORIES_FTS_TOKENIZER2}'
28321
28384
  );
28322
28385
  `);
28386
+ ensureMemoriesFtsState2(db);
28387
+ createMemoriesFtsTriggers2(db);
28388
+ }
28389
+ function ensureMemoriesFtsState2(db) {
28323
28390
  db.exec(`
28324
- CREATE TRIGGER IF NOT EXISTS memories_ai AFTER INSERT ON memories BEGIN
28325
- INSERT INTO memories_fts(rowid, content) VALUES (new.rowid, new.content);
28326
- END;
28391
+ CREATE TABLE IF NOT EXISTS ${FTS_STATE_TABLE2} (
28392
+ id INTEGER PRIMARY KEY CHECK (id = 1),
28393
+ memory_count INTEGER NOT NULL,
28394
+ indexed_count INTEGER NOT NULL,
28395
+ updated_at TEXT NOT NULL
28396
+ );
28397
+ INSERT OR IGNORE INTO ${FTS_STATE_TABLE2} (id, memory_count, indexed_count, updated_at)
28398
+ VALUES (
28399
+ 1,
28400
+ -1,
28401
+ 0,
28402
+ datetime('now')
28403
+ );
28327
28404
  `);
28405
+ }
28406
+ function createMemoriesFtsTriggers2(db) {
28328
28407
  db.exec(`
28329
- CREATE TRIGGER IF NOT EXISTS memories_ad AFTER DELETE ON memories BEGIN
28408
+ DROP TRIGGER IF EXISTS memories_ai;
28409
+ DROP TRIGGER IF EXISTS memories_ad;
28410
+ DROP TRIGGER IF EXISTS memories_au;
28411
+
28412
+ CREATE TRIGGER memories_ai AFTER INSERT ON memories BEGIN
28413
+ INSERT INTO memories_fts(rowid, content) VALUES (new.rowid, new.content);
28414
+ UPDATE ${FTS_STATE_TABLE2}
28415
+ SET memory_count = CASE WHEN memory_count < 0 THEN -1 ELSE memory_count + 1 END,
28416
+ indexed_count = CASE WHEN indexed_count < 0 THEN 0 ELSE indexed_count + 1 END,
28417
+ updated_at = datetime('now')
28418
+ WHERE id = 1;
28419
+ END;
28420
+
28421
+ CREATE TRIGGER memories_ad AFTER DELETE ON memories BEGIN
28422
+ UPDATE ${FTS_STATE_TABLE2}
28423
+ SET memory_count = CASE WHEN memory_count < 0 THEN -1 ELSE MAX(0, memory_count - 1) END,
28424
+ indexed_count = CASE
28425
+ WHEN indexed_count < 0 THEN 0
28426
+ ELSE MAX(0, indexed_count - CASE WHEN EXISTS(
28427
+ SELECT 1 FROM memories_fts_docsize WHERE id = old.rowid
28428
+ ) THEN 1 ELSE 0 END)
28429
+ END,
28430
+ updated_at = datetime('now')
28431
+ WHERE id = 1;
28330
28432
  INSERT INTO memories_fts(memories_fts, rowid, content) VALUES('delete', old.rowid, old.content);
28331
28433
  END;
28332
- `);
28333
- db.exec(`
28334
- CREATE TRIGGER IF NOT EXISTS memories_au AFTER UPDATE OF content ON memories BEGIN
28434
+
28435
+ CREATE TRIGGER memories_au AFTER UPDATE OF content ON memories BEGIN
28436
+ UPDATE ${FTS_STATE_TABLE2}
28437
+ SET indexed_count = CASE
28438
+ WHEN indexed_count < 0 THEN CASE WHEN EXISTS(
28439
+ SELECT 1 FROM memories_fts_docsize WHERE id = old.rowid
28440
+ ) THEN 0 ELSE 1 END
28441
+ ELSE indexed_count + CASE WHEN EXISTS(
28442
+ SELECT 1 FROM memories_fts_docsize WHERE id = old.rowid
28443
+ ) THEN 0 ELSE 1 END
28444
+ END,
28445
+ updated_at = datetime('now')
28446
+ WHERE id = 1;
28335
28447
  INSERT INTO memories_fts(memories_fts, rowid, content) VALUES('delete', old.rowid, old.content);
28336
28448
  INSERT INTO memories_fts(rowid, content) VALUES (new.rowid, new.content);
28337
28449
  END;
@@ -28342,11 +28454,23 @@ function recreateMemoriesFtsSchema2(db) {
28342
28454
  db.exec("DROP TRIGGER IF EXISTS memories_ad");
28343
28455
  db.exec("DROP TRIGGER IF EXISTS memories_au");
28344
28456
  db.exec("DROP TABLE IF EXISTS memories_fts");
28457
+ db.exec(`DROP TABLE IF EXISTS ${FTS_STATE_TABLE2}`);
28345
28458
  createMemoriesFts2(db);
28346
28459
  }
28347
28460
  function recreateMemoriesFts2(db) {
28348
28461
  recreateMemoriesFtsSchema2(db);
28349
28462
  db.exec("INSERT INTO memories_fts(rowid, content) SELECT rowid, content FROM memories");
28463
+ refreshMemoriesFtsState2(db);
28464
+ }
28465
+ function refreshMemoriesFtsState2(db) {
28466
+ ensureMemoriesFtsState2(db);
28467
+ db.exec(`
28468
+ UPDATE ${FTS_STATE_TABLE2}
28469
+ SET memory_count = (SELECT COUNT(*) FROM memories),
28470
+ indexed_count = (SELECT COUNT(*) FROM memories_fts_docsize),
28471
+ updated_at = datetime('now')
28472
+ WHERE id = 1;
28473
+ `);
28350
28474
  }
28351
28475
  function readMemoriesFtsSql2(db) {
28352
28476
  const row = db.prepare("SELECT sql FROM sqlite_master WHERE name = 'memories_fts' AND type = 'table'").get();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signetai/connector-hermes-agent",
3
- "version": "0.206.0",
3
+ "version": "0.206.2",
4
4
  "description": "Signet connector for Hermes Agent — installs Signet as a pluggable memory provider",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -25,8 +25,8 @@
25
25
  "typecheck": "tsc --noEmit"
26
26
  },
27
27
  "dependencies": {
28
- "@signetai/connector-base": "0.206.0",
29
- "@signetai/core": "0.206.0"
28
+ "@signetai/connector-base": "0.206.2",
29
+ "@signetai/core": "0.206.2"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/node": "^22.0.0",