@hasna/mementos 0.11.0 → 0.11.1

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/dist/cli/index.js CHANGED
@@ -2860,6 +2860,55 @@ CREATE TABLE IF NOT EXISTS memory_subscriptions (
2860
2860
  CREATE INDEX IF NOT EXISTS idx_memory_subs_agent ON memory_subscriptions(agent_id);
2861
2861
  CREATE INDEX IF NOT EXISTS idx_memory_subs_key ON memory_subscriptions(key_pattern);
2862
2862
  INSERT OR IGNORE INTO _migrations (id) VALUES (28);
2863
+ `,
2864
+ `
2865
+ PRAGMA foreign_keys = OFF;
2866
+
2867
+ -- Fix memory_tags FK if broken
2868
+ CREATE TABLE IF NOT EXISTS _mt_fix AS SELECT * FROM memory_tags;
2869
+ DROP TABLE IF EXISTS memory_tags;
2870
+ CREATE TABLE memory_tags (
2871
+ memory_id TEXT NOT NULL REFERENCES memories(id) ON DELETE CASCADE,
2872
+ tag TEXT NOT NULL,
2873
+ PRIMARY KEY (memory_id, tag)
2874
+ );
2875
+ INSERT OR IGNORE INTO memory_tags SELECT * FROM _mt_fix;
2876
+ DROP TABLE _mt_fix;
2877
+ CREATE INDEX IF NOT EXISTS idx_memory_tags_tag ON memory_tags(tag);
2878
+ CREATE INDEX IF NOT EXISTS idx_memory_tags_memory ON memory_tags(memory_id);
2879
+
2880
+ -- Fix entity_memories FK if broken
2881
+ CREATE TABLE IF NOT EXISTS _em_fix AS SELECT * FROM entity_memories;
2882
+ DROP TABLE IF EXISTS entity_memories;
2883
+ CREATE TABLE entity_memories (
2884
+ entity_id TEXT NOT NULL,
2885
+ memory_id TEXT NOT NULL,
2886
+ role TEXT NOT NULL DEFAULT 'context' CHECK (role IN ('subject','object','context')),
2887
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
2888
+ PRIMARY KEY (entity_id, memory_id),
2889
+ FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE,
2890
+ FOREIGN KEY (memory_id) REFERENCES memories(id) ON DELETE CASCADE
2891
+ );
2892
+ INSERT OR IGNORE INTO entity_memories SELECT * FROM _em_fix;
2893
+ DROP TABLE _em_fix;
2894
+ CREATE INDEX IF NOT EXISTS idx_entity_memories_memory ON entity_memories(memory_id);
2895
+
2896
+ -- Fix memory_embeddings FK if broken
2897
+ CREATE TABLE IF NOT EXISTS _me_fix AS SELECT * FROM memory_embeddings;
2898
+ DROP TABLE IF EXISTS memory_embeddings;
2899
+ CREATE TABLE memory_embeddings (
2900
+ memory_id TEXT PRIMARY KEY REFERENCES memories(id) ON DELETE CASCADE,
2901
+ embedding TEXT NOT NULL,
2902
+ model TEXT NOT NULL DEFAULT 'tfidf-512',
2903
+ dimensions INTEGER NOT NULL DEFAULT 512,
2904
+ created_at TEXT NOT NULL DEFAULT (datetime('now'))
2905
+ );
2906
+ INSERT OR IGNORE INTO memory_embeddings SELECT * FROM _me_fix;
2907
+ DROP TABLE _me_fix;
2908
+ CREATE INDEX IF NOT EXISTS idx_memory_embeddings_model ON memory_embeddings(model);
2909
+
2910
+ PRAGMA foreign_keys = ON;
2911
+ INSERT OR IGNORE INTO _migrations (id) VALUES (29);
2863
2912
  `
2864
2913
  ];
2865
2914
  });
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAmCtC,wBAAgB,SAAS,IAAI,MAAM,CAkBlC;AAwuBD,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAerD;AA+BD,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,IAAI,IAAI,MAAM,CAE7B;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAef"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAmCtC,wBAAgB,SAAS,IAAI,MAAM,CAkBlC;AA6xBD,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAerD;AA+BD,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,IAAI,IAAI,MAAM,CAE7B;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAef"}
package/dist/index.js CHANGED
@@ -793,6 +793,55 @@ CREATE TABLE IF NOT EXISTS memory_subscriptions (
793
793
  CREATE INDEX IF NOT EXISTS idx_memory_subs_agent ON memory_subscriptions(agent_id);
794
794
  CREATE INDEX IF NOT EXISTS idx_memory_subs_key ON memory_subscriptions(key_pattern);
795
795
  INSERT OR IGNORE INTO _migrations (id) VALUES (28);
796
+ `,
797
+ `
798
+ PRAGMA foreign_keys = OFF;
799
+
800
+ -- Fix memory_tags FK if broken
801
+ CREATE TABLE IF NOT EXISTS _mt_fix AS SELECT * FROM memory_tags;
802
+ DROP TABLE IF EXISTS memory_tags;
803
+ CREATE TABLE memory_tags (
804
+ memory_id TEXT NOT NULL REFERENCES memories(id) ON DELETE CASCADE,
805
+ tag TEXT NOT NULL,
806
+ PRIMARY KEY (memory_id, tag)
807
+ );
808
+ INSERT OR IGNORE INTO memory_tags SELECT * FROM _mt_fix;
809
+ DROP TABLE _mt_fix;
810
+ CREATE INDEX IF NOT EXISTS idx_memory_tags_tag ON memory_tags(tag);
811
+ CREATE INDEX IF NOT EXISTS idx_memory_tags_memory ON memory_tags(memory_id);
812
+
813
+ -- Fix entity_memories FK if broken
814
+ CREATE TABLE IF NOT EXISTS _em_fix AS SELECT * FROM entity_memories;
815
+ DROP TABLE IF EXISTS entity_memories;
816
+ CREATE TABLE entity_memories (
817
+ entity_id TEXT NOT NULL,
818
+ memory_id TEXT NOT NULL,
819
+ role TEXT NOT NULL DEFAULT 'context' CHECK (role IN ('subject','object','context')),
820
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
821
+ PRIMARY KEY (entity_id, memory_id),
822
+ FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE,
823
+ FOREIGN KEY (memory_id) REFERENCES memories(id) ON DELETE CASCADE
824
+ );
825
+ INSERT OR IGNORE INTO entity_memories SELECT * FROM _em_fix;
826
+ DROP TABLE _em_fix;
827
+ CREATE INDEX IF NOT EXISTS idx_entity_memories_memory ON entity_memories(memory_id);
828
+
829
+ -- Fix memory_embeddings FK if broken
830
+ CREATE TABLE IF NOT EXISTS _me_fix AS SELECT * FROM memory_embeddings;
831
+ DROP TABLE IF EXISTS memory_embeddings;
832
+ CREATE TABLE memory_embeddings (
833
+ memory_id TEXT PRIMARY KEY REFERENCES memories(id) ON DELETE CASCADE,
834
+ embedding TEXT NOT NULL,
835
+ model TEXT NOT NULL DEFAULT 'tfidf-512',
836
+ dimensions INTEGER NOT NULL DEFAULT 512,
837
+ created_at TEXT NOT NULL DEFAULT (datetime('now'))
838
+ );
839
+ INSERT OR IGNORE INTO memory_embeddings SELECT * FROM _me_fix;
840
+ DROP TABLE _me_fix;
841
+ CREATE INDEX IF NOT EXISTS idx_memory_embeddings_model ON memory_embeddings(model);
842
+
843
+ PRAGMA foreign_keys = ON;
844
+ INSERT OR IGNORE INTO _migrations (id) VALUES (29);
796
845
  `
797
846
  ];
798
847
  });
package/dist/mcp/index.js CHANGED
@@ -863,6 +863,55 @@ CREATE TABLE IF NOT EXISTS memory_subscriptions (
863
863
  CREATE INDEX IF NOT EXISTS idx_memory_subs_agent ON memory_subscriptions(agent_id);
864
864
  CREATE INDEX IF NOT EXISTS idx_memory_subs_key ON memory_subscriptions(key_pattern);
865
865
  INSERT OR IGNORE INTO _migrations (id) VALUES (28);
866
+ `,
867
+ `
868
+ PRAGMA foreign_keys = OFF;
869
+
870
+ -- Fix memory_tags FK if broken
871
+ CREATE TABLE IF NOT EXISTS _mt_fix AS SELECT * FROM memory_tags;
872
+ DROP TABLE IF EXISTS memory_tags;
873
+ CREATE TABLE memory_tags (
874
+ memory_id TEXT NOT NULL REFERENCES memories(id) ON DELETE CASCADE,
875
+ tag TEXT NOT NULL,
876
+ PRIMARY KEY (memory_id, tag)
877
+ );
878
+ INSERT OR IGNORE INTO memory_tags SELECT * FROM _mt_fix;
879
+ DROP TABLE _mt_fix;
880
+ CREATE INDEX IF NOT EXISTS idx_memory_tags_tag ON memory_tags(tag);
881
+ CREATE INDEX IF NOT EXISTS idx_memory_tags_memory ON memory_tags(memory_id);
882
+
883
+ -- Fix entity_memories FK if broken
884
+ CREATE TABLE IF NOT EXISTS _em_fix AS SELECT * FROM entity_memories;
885
+ DROP TABLE IF EXISTS entity_memories;
886
+ CREATE TABLE entity_memories (
887
+ entity_id TEXT NOT NULL,
888
+ memory_id TEXT NOT NULL,
889
+ role TEXT NOT NULL DEFAULT 'context' CHECK (role IN ('subject','object','context')),
890
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
891
+ PRIMARY KEY (entity_id, memory_id),
892
+ FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE,
893
+ FOREIGN KEY (memory_id) REFERENCES memories(id) ON DELETE CASCADE
894
+ );
895
+ INSERT OR IGNORE INTO entity_memories SELECT * FROM _em_fix;
896
+ DROP TABLE _em_fix;
897
+ CREATE INDEX IF NOT EXISTS idx_entity_memories_memory ON entity_memories(memory_id);
898
+
899
+ -- Fix memory_embeddings FK if broken
900
+ CREATE TABLE IF NOT EXISTS _me_fix AS SELECT * FROM memory_embeddings;
901
+ DROP TABLE IF EXISTS memory_embeddings;
902
+ CREATE TABLE memory_embeddings (
903
+ memory_id TEXT PRIMARY KEY REFERENCES memories(id) ON DELETE CASCADE,
904
+ embedding TEXT NOT NULL,
905
+ model TEXT NOT NULL DEFAULT 'tfidf-512',
906
+ dimensions INTEGER NOT NULL DEFAULT 512,
907
+ created_at TEXT NOT NULL DEFAULT (datetime('now'))
908
+ );
909
+ INSERT OR IGNORE INTO memory_embeddings SELECT * FROM _me_fix;
910
+ DROP TABLE _me_fix;
911
+ CREATE INDEX IF NOT EXISTS idx_memory_embeddings_model ON memory_embeddings(model);
912
+
913
+ PRAGMA foreign_keys = ON;
914
+ INSERT OR IGNORE INTO _migrations (id) VALUES (29);
866
915
  `
867
916
  ];
868
917
  });
@@ -853,6 +853,55 @@ CREATE TABLE IF NOT EXISTS memory_subscriptions (
853
853
  CREATE INDEX IF NOT EXISTS idx_memory_subs_agent ON memory_subscriptions(agent_id);
854
854
  CREATE INDEX IF NOT EXISTS idx_memory_subs_key ON memory_subscriptions(key_pattern);
855
855
  INSERT OR IGNORE INTO _migrations (id) VALUES (28);
856
+ `,
857
+ `
858
+ PRAGMA foreign_keys = OFF;
859
+
860
+ -- Fix memory_tags FK if broken
861
+ CREATE TABLE IF NOT EXISTS _mt_fix AS SELECT * FROM memory_tags;
862
+ DROP TABLE IF EXISTS memory_tags;
863
+ CREATE TABLE memory_tags (
864
+ memory_id TEXT NOT NULL REFERENCES memories(id) ON DELETE CASCADE,
865
+ tag TEXT NOT NULL,
866
+ PRIMARY KEY (memory_id, tag)
867
+ );
868
+ INSERT OR IGNORE INTO memory_tags SELECT * FROM _mt_fix;
869
+ DROP TABLE _mt_fix;
870
+ CREATE INDEX IF NOT EXISTS idx_memory_tags_tag ON memory_tags(tag);
871
+ CREATE INDEX IF NOT EXISTS idx_memory_tags_memory ON memory_tags(memory_id);
872
+
873
+ -- Fix entity_memories FK if broken
874
+ CREATE TABLE IF NOT EXISTS _em_fix AS SELECT * FROM entity_memories;
875
+ DROP TABLE IF EXISTS entity_memories;
876
+ CREATE TABLE entity_memories (
877
+ entity_id TEXT NOT NULL,
878
+ memory_id TEXT NOT NULL,
879
+ role TEXT NOT NULL DEFAULT 'context' CHECK (role IN ('subject','object','context')),
880
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
881
+ PRIMARY KEY (entity_id, memory_id),
882
+ FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE,
883
+ FOREIGN KEY (memory_id) REFERENCES memories(id) ON DELETE CASCADE
884
+ );
885
+ INSERT OR IGNORE INTO entity_memories SELECT * FROM _em_fix;
886
+ DROP TABLE _em_fix;
887
+ CREATE INDEX IF NOT EXISTS idx_entity_memories_memory ON entity_memories(memory_id);
888
+
889
+ -- Fix memory_embeddings FK if broken
890
+ CREATE TABLE IF NOT EXISTS _me_fix AS SELECT * FROM memory_embeddings;
891
+ DROP TABLE IF EXISTS memory_embeddings;
892
+ CREATE TABLE memory_embeddings (
893
+ memory_id TEXT PRIMARY KEY REFERENCES memories(id) ON DELETE CASCADE,
894
+ embedding TEXT NOT NULL,
895
+ model TEXT NOT NULL DEFAULT 'tfidf-512',
896
+ dimensions INTEGER NOT NULL DEFAULT 512,
897
+ created_at TEXT NOT NULL DEFAULT (datetime('now'))
898
+ );
899
+ INSERT OR IGNORE INTO memory_embeddings SELECT * FROM _me_fix;
900
+ DROP TABLE _me_fix;
901
+ CREATE INDEX IF NOT EXISTS idx_memory_embeddings_model ON memory_embeddings(model);
902
+
903
+ PRAGMA foreign_keys = ON;
904
+ INSERT OR IGNORE INTO _migrations (id) VALUES (29);
856
905
  `
857
906
  ];
858
907
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hasna/mementos",
3
- "version": "0.11.0",
3
+ "version": "0.11.1",
4
4
  "description": "Universal memory system for AI agents - CLI + MCP server + library API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",