@signetai/signet-memory-openclaw 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 +1 -1
package/dist/index.js CHANGED
@@ -11525,6 +11525,7 @@ var DAEMON_DERIVED_MEMORY_SOURCE_TYPES = [
11525
11525
  "dreaming"
11526
11526
  ];
11527
11527
  var MEMORIES_FTS_TOKENIZER = "unicode61";
11528
+ var FTS_STATE_TABLE = "memories_fts_state";
11528
11529
  function normalizeSql(sql) {
11529
11530
  return sql.replace(/\s+/g, " ").trim().toLowerCase();
11530
11531
  }
@@ -11537,18 +11538,67 @@ function createMemoriesFts(db) {
11537
11538
  tokenize='${MEMORIES_FTS_TOKENIZER}'
11538
11539
  );
11539
11540
  `);
11541
+ ensureMemoriesFtsState(db);
11542
+ createMemoriesFtsTriggers(db);
11543
+ }
11544
+ function ensureMemoriesFtsState(db) {
11540
11545
  db.exec(`
11541
- CREATE TRIGGER IF NOT EXISTS memories_ai AFTER INSERT ON memories BEGIN
11542
- INSERT INTO memories_fts(rowid, content) VALUES (new.rowid, new.content);
11543
- END;
11546
+ CREATE TABLE IF NOT EXISTS ${FTS_STATE_TABLE} (
11547
+ id INTEGER PRIMARY KEY CHECK (id = 1),
11548
+ memory_count INTEGER NOT NULL,
11549
+ indexed_count INTEGER NOT NULL,
11550
+ updated_at TEXT NOT NULL
11551
+ );
11552
+ INSERT OR IGNORE INTO ${FTS_STATE_TABLE} (id, memory_count, indexed_count, updated_at)
11553
+ VALUES (
11554
+ 1,
11555
+ -1,
11556
+ 0,
11557
+ datetime('now')
11558
+ );
11544
11559
  `);
11560
+ }
11561
+ function createMemoriesFtsTriggers(db) {
11545
11562
  db.exec(`
11546
- CREATE TRIGGER IF NOT EXISTS memories_ad AFTER DELETE ON memories BEGIN
11563
+ DROP TRIGGER IF EXISTS memories_ai;
11564
+ DROP TRIGGER IF EXISTS memories_ad;
11565
+ DROP TRIGGER IF EXISTS memories_au;
11566
+
11567
+ CREATE TRIGGER memories_ai AFTER INSERT ON memories BEGIN
11568
+ INSERT INTO memories_fts(rowid, content) VALUES (new.rowid, new.content);
11569
+ UPDATE ${FTS_STATE_TABLE}
11570
+ SET memory_count = CASE WHEN memory_count < 0 THEN -1 ELSE memory_count + 1 END,
11571
+ indexed_count = CASE WHEN indexed_count < 0 THEN 0 ELSE indexed_count + 1 END,
11572
+ updated_at = datetime('now')
11573
+ WHERE id = 1;
11574
+ END;
11575
+
11576
+ CREATE TRIGGER memories_ad AFTER DELETE ON memories BEGIN
11577
+ UPDATE ${FTS_STATE_TABLE}
11578
+ SET memory_count = CASE WHEN memory_count < 0 THEN -1 ELSE MAX(0, memory_count - 1) END,
11579
+ indexed_count = CASE
11580
+ WHEN indexed_count < 0 THEN 0
11581
+ ELSE MAX(0, indexed_count - CASE WHEN EXISTS(
11582
+ SELECT 1 FROM memories_fts_docsize WHERE id = old.rowid
11583
+ ) THEN 1 ELSE 0 END)
11584
+ END,
11585
+ updated_at = datetime('now')
11586
+ WHERE id = 1;
11547
11587
  INSERT INTO memories_fts(memories_fts, rowid, content) VALUES('delete', old.rowid, old.content);
11548
11588
  END;
11549
- `);
11550
- db.exec(`
11551
- CREATE TRIGGER IF NOT EXISTS memories_au AFTER UPDATE OF content ON memories BEGIN
11589
+
11590
+ CREATE TRIGGER memories_au AFTER UPDATE OF content ON memories BEGIN
11591
+ UPDATE ${FTS_STATE_TABLE}
11592
+ SET indexed_count = CASE
11593
+ WHEN indexed_count < 0 THEN CASE WHEN EXISTS(
11594
+ SELECT 1 FROM memories_fts_docsize WHERE id = old.rowid
11595
+ ) THEN 0 ELSE 1 END
11596
+ ELSE indexed_count + CASE WHEN EXISTS(
11597
+ SELECT 1 FROM memories_fts_docsize WHERE id = old.rowid
11598
+ ) THEN 0 ELSE 1 END
11599
+ END,
11600
+ updated_at = datetime('now')
11601
+ WHERE id = 1;
11552
11602
  INSERT INTO memories_fts(memories_fts, rowid, content) VALUES('delete', old.rowid, old.content);
11553
11603
  INSERT INTO memories_fts(rowid, content) VALUES (new.rowid, new.content);
11554
11604
  END;
@@ -11559,11 +11609,23 @@ function recreateMemoriesFtsSchema(db) {
11559
11609
  db.exec("DROP TRIGGER IF EXISTS memories_ad");
11560
11610
  db.exec("DROP TRIGGER IF EXISTS memories_au");
11561
11611
  db.exec("DROP TABLE IF EXISTS memories_fts");
11612
+ db.exec(`DROP TABLE IF EXISTS ${FTS_STATE_TABLE}`);
11562
11613
  createMemoriesFts(db);
11563
11614
  }
11564
11615
  function recreateMemoriesFts(db) {
11565
11616
  recreateMemoriesFtsSchema(db);
11566
11617
  db.exec("INSERT INTO memories_fts(rowid, content) SELECT rowid, content FROM memories");
11618
+ refreshMemoriesFtsState(db);
11619
+ }
11620
+ function refreshMemoriesFtsState(db) {
11621
+ ensureMemoriesFtsState(db);
11622
+ db.exec(`
11623
+ UPDATE ${FTS_STATE_TABLE}
11624
+ SET memory_count = (SELECT COUNT(*) FROM memories),
11625
+ indexed_count = (SELECT COUNT(*) FROM memories_fts_docsize),
11626
+ updated_at = datetime('now')
11627
+ WHERE id = 1;
11628
+ `);
11567
11629
  }
11568
11630
  function readMemoriesFtsSql(db) {
11569
11631
  const row = db.prepare("SELECT sql FROM sqlite_master WHERE name = 'memories_fts' AND type = 'table'").get();
@@ -28708,6 +28770,7 @@ var DAEMON_DERIVED_MEMORY_SOURCE_TYPES2 = [
28708
28770
  "dreaming"
28709
28771
  ];
28710
28772
  var MEMORIES_FTS_TOKENIZER2 = "unicode61";
28773
+ var FTS_STATE_TABLE2 = "memories_fts_state";
28711
28774
  function normalizeSql2(sql) {
28712
28775
  return sql.replace(/\s+/g, " ").trim().toLowerCase();
28713
28776
  }
@@ -28720,18 +28783,67 @@ function createMemoriesFts2(db) {
28720
28783
  tokenize='${MEMORIES_FTS_TOKENIZER2}'
28721
28784
  );
28722
28785
  `);
28786
+ ensureMemoriesFtsState2(db);
28787
+ createMemoriesFtsTriggers2(db);
28788
+ }
28789
+ function ensureMemoriesFtsState2(db) {
28723
28790
  db.exec(`
28724
- CREATE TRIGGER IF NOT EXISTS memories_ai AFTER INSERT ON memories BEGIN
28725
- INSERT INTO memories_fts(rowid, content) VALUES (new.rowid, new.content);
28726
- END;
28791
+ CREATE TABLE IF NOT EXISTS ${FTS_STATE_TABLE2} (
28792
+ id INTEGER PRIMARY KEY CHECK (id = 1),
28793
+ memory_count INTEGER NOT NULL,
28794
+ indexed_count INTEGER NOT NULL,
28795
+ updated_at TEXT NOT NULL
28796
+ );
28797
+ INSERT OR IGNORE INTO ${FTS_STATE_TABLE2} (id, memory_count, indexed_count, updated_at)
28798
+ VALUES (
28799
+ 1,
28800
+ -1,
28801
+ 0,
28802
+ datetime('now')
28803
+ );
28727
28804
  `);
28805
+ }
28806
+ function createMemoriesFtsTriggers2(db) {
28728
28807
  db.exec(`
28729
- CREATE TRIGGER IF NOT EXISTS memories_ad AFTER DELETE ON memories BEGIN
28808
+ DROP TRIGGER IF EXISTS memories_ai;
28809
+ DROP TRIGGER IF EXISTS memories_ad;
28810
+ DROP TRIGGER IF EXISTS memories_au;
28811
+
28812
+ CREATE TRIGGER memories_ai AFTER INSERT ON memories BEGIN
28813
+ INSERT INTO memories_fts(rowid, content) VALUES (new.rowid, new.content);
28814
+ UPDATE ${FTS_STATE_TABLE2}
28815
+ SET memory_count = CASE WHEN memory_count < 0 THEN -1 ELSE memory_count + 1 END,
28816
+ indexed_count = CASE WHEN indexed_count < 0 THEN 0 ELSE indexed_count + 1 END,
28817
+ updated_at = datetime('now')
28818
+ WHERE id = 1;
28819
+ END;
28820
+
28821
+ CREATE TRIGGER memories_ad AFTER DELETE ON memories BEGIN
28822
+ UPDATE ${FTS_STATE_TABLE2}
28823
+ SET memory_count = CASE WHEN memory_count < 0 THEN -1 ELSE MAX(0, memory_count - 1) END,
28824
+ indexed_count = CASE
28825
+ WHEN indexed_count < 0 THEN 0
28826
+ ELSE MAX(0, indexed_count - CASE WHEN EXISTS(
28827
+ SELECT 1 FROM memories_fts_docsize WHERE id = old.rowid
28828
+ ) THEN 1 ELSE 0 END)
28829
+ END,
28830
+ updated_at = datetime('now')
28831
+ WHERE id = 1;
28730
28832
  INSERT INTO memories_fts(memories_fts, rowid, content) VALUES('delete', old.rowid, old.content);
28731
28833
  END;
28732
- `);
28733
- db.exec(`
28734
- CREATE TRIGGER IF NOT EXISTS memories_au AFTER UPDATE OF content ON memories BEGIN
28834
+
28835
+ CREATE TRIGGER memories_au AFTER UPDATE OF content ON memories BEGIN
28836
+ UPDATE ${FTS_STATE_TABLE2}
28837
+ SET indexed_count = CASE
28838
+ WHEN indexed_count < 0 THEN CASE WHEN EXISTS(
28839
+ SELECT 1 FROM memories_fts_docsize WHERE id = old.rowid
28840
+ ) THEN 0 ELSE 1 END
28841
+ ELSE indexed_count + CASE WHEN EXISTS(
28842
+ SELECT 1 FROM memories_fts_docsize WHERE id = old.rowid
28843
+ ) THEN 0 ELSE 1 END
28844
+ END,
28845
+ updated_at = datetime('now')
28846
+ WHERE id = 1;
28735
28847
  INSERT INTO memories_fts(memories_fts, rowid, content) VALUES('delete', old.rowid, old.content);
28736
28848
  INSERT INTO memories_fts(rowid, content) VALUES (new.rowid, new.content);
28737
28849
  END;
@@ -28742,11 +28854,23 @@ function recreateMemoriesFtsSchema2(db) {
28742
28854
  db.exec("DROP TRIGGER IF EXISTS memories_ad");
28743
28855
  db.exec("DROP TRIGGER IF EXISTS memories_au");
28744
28856
  db.exec("DROP TABLE IF EXISTS memories_fts");
28857
+ db.exec(`DROP TABLE IF EXISTS ${FTS_STATE_TABLE2}`);
28745
28858
  createMemoriesFts2(db);
28746
28859
  }
28747
28860
  function recreateMemoriesFts2(db) {
28748
28861
  recreateMemoriesFtsSchema2(db);
28749
28862
  db.exec("INSERT INTO memories_fts(rowid, content) SELECT rowid, content FROM memories");
28863
+ refreshMemoriesFtsState2(db);
28864
+ }
28865
+ function refreshMemoriesFtsState2(db) {
28866
+ ensureMemoriesFtsState2(db);
28867
+ db.exec(`
28868
+ UPDATE ${FTS_STATE_TABLE2}
28869
+ SET memory_count = (SELECT COUNT(*) FROM memories),
28870
+ indexed_count = (SELECT COUNT(*) FROM memories_fts_docsize),
28871
+ updated_at = datetime('now')
28872
+ WHERE id = 1;
28873
+ `);
28750
28874
  }
28751
28875
  function readMemoriesFtsSql2(db) {
28752
28876
  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/signet-memory-openclaw",
3
- "version": "0.206.0",
3
+ "version": "0.206.2",
4
4
  "description": "Signet adapter for OpenClaw — runtime plugin for AI agent memory",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",