sigma-memory 0.2.1 → 0.2.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.
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -22
- package/dist/index.js.map +1 -1
- package/dist/notes.d.ts +1 -1
- package/dist/notes.d.ts.map +1 -1
- package/dist/notes.js +24 -24
- package/dist/notes.js.map +1 -1
- package/dist/ontology.d.ts +3 -3
- package/dist/ontology.d.ts.map +1 -1
- package/dist/ontology.js +26 -23
- package/dist/ontology.js.map +1 -1
- package/dist/types.d.ts +7 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/vector-store.d.ts +1 -1
- package/dist/vector-store.d.ts.map +1 -1
- package/dist/vector-store.js +39 -33
- package/dist/vector-store.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +176 -176
- package/src/notes.ts +161 -161
- package/src/ontology.ts +359 -352
- package/src/types.ts +63 -63
- package/src/vector-store.ts +356 -357
- package/src/vendor.d.ts +21 -21
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { NotesManager } from
|
|
2
|
-
import { OntologyManager } from
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
1
|
+
import { NotesManager } from "./notes.js";
|
|
2
|
+
import { OntologyManager } from "./ontology.js";
|
|
3
|
+
import type { MemoryConfig, MemoryStatus, UnifiedSearchResult } from "./types.js";
|
|
4
|
+
import { VectorStore } from "./vector-store.js";
|
|
5
5
|
export declare class SigmaMemory {
|
|
6
6
|
readonly notes: NotesManager;
|
|
7
7
|
readonly ontology: OntologyManager;
|
|
@@ -31,9 +31,9 @@ export declare class SigmaMemory {
|
|
|
31
31
|
*/
|
|
32
32
|
getConfig(): MemoryConfig;
|
|
33
33
|
}
|
|
34
|
-
export { NotesManager } from
|
|
35
|
-
export { OntologyManager } from
|
|
36
|
-
export
|
|
37
|
-
export
|
|
34
|
+
export { NotesManager } from "./notes.js";
|
|
35
|
+
export { OntologyManager } from "./ontology.js";
|
|
36
|
+
export * from "./types.js";
|
|
37
|
+
export { VectorStore } from "./vector-store.js";
|
|
38
38
|
export default SigmaMemory;
|
|
39
39
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,WAAW;IACvB,SAAgB,KAAK,EAAE,YAAY,CAAC;IACpC,SAAgB,QAAQ,EAAE,eAAe,CAAC;IAC1C,SAAgB,OAAO,EAAE,WAAW,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;IAgB1C;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAiE3D;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB3B;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IA6BrC;;OAEG;IACH,SAAS,IAAI,YAAY;CAGzB;AAGD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,eAAe,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -15,9 +15,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.VectorStore = exports.OntologyManager = exports.NotesManager = exports.SigmaMemory = void 0;
|
|
18
|
-
const path_1 = require("path");
|
|
19
|
-
const os_1 = require("os");
|
|
20
18
|
const fs_1 = require("fs");
|
|
19
|
+
const os_1 = require("os");
|
|
20
|
+
const path_1 = require("path");
|
|
21
21
|
const notes_js_1 = require("./notes.js");
|
|
22
22
|
const ontology_js_1 = require("./ontology.js");
|
|
23
23
|
const vector_store_js_1 = require("./vector-store.js");
|
|
@@ -29,15 +29,15 @@ class SigmaMemory {
|
|
|
29
29
|
constructor(config) {
|
|
30
30
|
// Default configuration
|
|
31
31
|
const defaultConfig = {
|
|
32
|
-
memoryDir: (0, path_1.join)((0, os_1.homedir)(),
|
|
33
|
-
projectMemoryDir: (0, path_1.join)(process.cwd(),
|
|
34
|
-
ontologyPath: (0, path_1.join)((0, os_1.homedir)(),
|
|
32
|
+
memoryDir: (0, path_1.join)((0, os_1.homedir)(), ".phi", "memory"),
|
|
33
|
+
projectMemoryDir: (0, path_1.join)(process.cwd(), ".phi", "memory"),
|
|
34
|
+
ontologyPath: (0, path_1.join)((0, os_1.homedir)(), ".phi", "memory", "ontology", "graph.jsonl"),
|
|
35
35
|
};
|
|
36
36
|
this.config = { ...defaultConfig, ...config };
|
|
37
37
|
// Initialize managers
|
|
38
38
|
this.notes = new notes_js_1.NotesManager(this.config);
|
|
39
39
|
this.ontology = new ontology_js_1.OntologyManager(this.config);
|
|
40
|
-
this.vectors = new vector_store_js_1.VectorStore((0, path_1.join)(this.config.memoryDir,
|
|
40
|
+
this.vectors = new vector_store_js_1.VectorStore((0, path_1.join)(this.config.memoryDir, "vectors.db"));
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
43
|
* Unified search: searches notes + ontology + vectors, combines results
|
|
@@ -49,10 +49,10 @@ class SigmaMemory {
|
|
|
49
49
|
const notesResults = this.notes.search(query);
|
|
50
50
|
for (const result of notesResults) {
|
|
51
51
|
results.push({
|
|
52
|
-
source:
|
|
53
|
-
type:
|
|
52
|
+
source: "notes",
|
|
53
|
+
type: "note",
|
|
54
54
|
score: 0.8, // Default score for text-match notes
|
|
55
|
-
data: result
|
|
55
|
+
data: result,
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
}
|
|
@@ -64,19 +64,19 @@ class SigmaMemory {
|
|
|
64
64
|
const entityResults = this.ontology.findEntity({ name: query });
|
|
65
65
|
for (const entity of entityResults) {
|
|
66
66
|
results.push({
|
|
67
|
-
source:
|
|
68
|
-
type:
|
|
67
|
+
source: "ontology",
|
|
68
|
+
type: "entity",
|
|
69
69
|
score: 0.9,
|
|
70
|
-
data: entity
|
|
70
|
+
data: entity,
|
|
71
71
|
});
|
|
72
72
|
// Include relations for this entity
|
|
73
73
|
const relations = this.ontology.findRelations(entity.id);
|
|
74
74
|
for (const relation of relations) {
|
|
75
75
|
results.push({
|
|
76
|
-
source:
|
|
77
|
-
type:
|
|
76
|
+
source: "ontology",
|
|
77
|
+
type: "relation",
|
|
78
78
|
score: 0.7,
|
|
79
|
-
data: relation
|
|
79
|
+
data: relation,
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
82
|
}
|
|
@@ -89,10 +89,10 @@ class SigmaMemory {
|
|
|
89
89
|
const vectorResults = await this.vectors.search(query, 5);
|
|
90
90
|
for (const result of vectorResults) {
|
|
91
91
|
results.push({
|
|
92
|
-
source:
|
|
93
|
-
type:
|
|
92
|
+
source: "vectors",
|
|
93
|
+
type: "file",
|
|
94
94
|
score: result.score,
|
|
95
|
-
data: result
|
|
95
|
+
data: result,
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
98
|
}
|
|
@@ -145,7 +145,7 @@ class SigmaMemory {
|
|
|
145
145
|
const notesStatus = {
|
|
146
146
|
count: notesList.length,
|
|
147
147
|
totalSize: notesList.reduce((sum, note) => sum + note.size, 0),
|
|
148
|
-
lastModified: notesList.length > 0 ? notesList[0].date : null
|
|
148
|
+
lastModified: notesList.length > 0 ? notesList[0].date : null,
|
|
149
149
|
};
|
|
150
150
|
// Ontology status
|
|
151
151
|
const ontologyStats = this.ontology.stats();
|
|
@@ -154,14 +154,14 @@ class SigmaMemory {
|
|
|
154
154
|
entities: ontologyGraph.entities.length,
|
|
155
155
|
relations: ontologyGraph.relations.length,
|
|
156
156
|
entitiesByType: ontologyStats.entitiesByType,
|
|
157
|
-
relationsByType: ontologyStats.relationsByType
|
|
157
|
+
relationsByType: ontologyStats.relationsByType,
|
|
158
158
|
};
|
|
159
159
|
// Vector store status
|
|
160
160
|
const vectorStats = this.vectors.getStats();
|
|
161
161
|
return {
|
|
162
162
|
notes: notesStatus,
|
|
163
163
|
ontology: ontologyStatus,
|
|
164
|
-
vectors: vectorStats
|
|
164
|
+
vectors: vectorStats,
|
|
165
165
|
};
|
|
166
166
|
}
|
|
167
167
|
/**
|
|
@@ -177,9 +177,9 @@ var notes_js_2 = require("./notes.js");
|
|
|
177
177
|
Object.defineProperty(exports, "NotesManager", { enumerable: true, get: function () { return notes_js_2.NotesManager; } });
|
|
178
178
|
var ontology_js_2 = require("./ontology.js");
|
|
179
179
|
Object.defineProperty(exports, "OntologyManager", { enumerable: true, get: function () { return ontology_js_2.OntologyManager; } });
|
|
180
|
+
__exportStar(require("./types.js"), exports);
|
|
180
181
|
var vector_store_js_2 = require("./vector-store.js");
|
|
181
182
|
Object.defineProperty(exports, "VectorStore", { enumerable: true, get: function () { return vector_store_js_2.VectorStore; } });
|
|
182
|
-
__exportStar(require("./types.js"), exports);
|
|
183
183
|
// Default export
|
|
184
184
|
exports.default = SigmaMemory;
|
|
185
185
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/notes.d.ts
CHANGED
package/dist/notes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notes.d.ts","sourceRoot":"","sources":["../src/notes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAErD,qBAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"notes.d.ts","sourceRoot":"","sources":["../src/notes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAErD,qBAAa,YAAY;IACxB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,YAAY;IAMhC,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ/C;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAQ9B;;OAEG;IACH,IAAI,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAmB3D;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAoD7E;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE;IAmB/B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;CAchD"}
|
package/dist/notes.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.NotesManager = void 0;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
4
5
|
const fs_1 = require("fs");
|
|
5
6
|
const path_1 = require("path");
|
|
6
|
-
const child_process_1 = require("child_process");
|
|
7
7
|
class NotesManager {
|
|
8
8
|
config;
|
|
9
9
|
notesDir;
|
|
10
10
|
constructor(config) {
|
|
11
11
|
this.config = config;
|
|
12
|
-
this.notesDir = (0, path_1.join)(config.memoryDir,
|
|
12
|
+
this.notesDir = (0, path_1.join)(config.memoryDir, "notes");
|
|
13
13
|
this.ensureDirectories();
|
|
14
14
|
}
|
|
15
15
|
ensureDirectories() {
|
|
@@ -24,10 +24,10 @@ class NotesManager {
|
|
|
24
24
|
* Écrit dans un fichier .md (date du jour si pas de nom)
|
|
25
25
|
*/
|
|
26
26
|
write(content, filename) {
|
|
27
|
-
const today = new Date().toISOString().split(
|
|
27
|
+
const today = new Date().toISOString().split("T")[0]; // YYYY-MM-DD
|
|
28
28
|
const file = filename || `${today}.md`;
|
|
29
29
|
const filePath = (0, path_1.join)(this.notesDir, file);
|
|
30
|
-
(0, fs_1.writeFileSync)(filePath, content,
|
|
30
|
+
(0, fs_1.writeFileSync)(filePath, content, "utf8");
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Lit un fichier
|
|
@@ -37,7 +37,7 @@ class NotesManager {
|
|
|
37
37
|
if (!(0, fs_1.existsSync)(filePath)) {
|
|
38
38
|
throw new Error(`File not found: ${filename}`);
|
|
39
39
|
}
|
|
40
|
-
return (0, fs_1.readFileSync)(filePath,
|
|
40
|
+
return (0, fs_1.readFileSync)(filePath, "utf8");
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
43
|
* Liste tous les fichiers .md avec leur taille et date
|
|
@@ -47,14 +47,14 @@ class NotesManager {
|
|
|
47
47
|
return [];
|
|
48
48
|
}
|
|
49
49
|
return (0, fs_1.readdirSync)(this.notesDir)
|
|
50
|
-
.filter(file => file.endsWith(
|
|
51
|
-
.map(file => {
|
|
50
|
+
.filter((file) => file.endsWith(".md"))
|
|
51
|
+
.map((file) => {
|
|
52
52
|
const filePath = (0, path_1.join)(this.notesDir, file);
|
|
53
53
|
const stats = (0, fs_1.statSync)(filePath);
|
|
54
54
|
return {
|
|
55
55
|
name: file,
|
|
56
56
|
size: stats.size,
|
|
57
|
-
date: stats.mtime.toISOString()
|
|
57
|
+
date: stats.mtime.toISOString(),
|
|
58
58
|
};
|
|
59
59
|
})
|
|
60
60
|
.sort((a, b) => b.date.localeCompare(a.date));
|
|
@@ -69,18 +69,18 @@ class NotesManager {
|
|
|
69
69
|
const results = [];
|
|
70
70
|
try {
|
|
71
71
|
// Utilise grep pour une recherche efficace
|
|
72
|
-
const grepResult = (0, child_process_1.execSync)(`grep -n "${query.replace(/"/g, '\\"')}" "${this.notesDir}"/*.md 2>/dev/null || true`, { encoding:
|
|
72
|
+
const grepResult = (0, child_process_1.execSync)(`grep -n "${query.replace(/"/g, '\\"')}" "${this.notesDir}"/*.md 2>/dev/null || true`, { encoding: "utf8" });
|
|
73
73
|
if (grepResult.trim()) {
|
|
74
|
-
const lines = grepResult.trim().split(
|
|
74
|
+
const lines = grepResult.trim().split("\n");
|
|
75
75
|
for (const line of lines) {
|
|
76
76
|
const match = line.match(/^(.+?):(\d+):(.+)$/);
|
|
77
77
|
if (match) {
|
|
78
78
|
const [, fullPath, lineNumber, content] = match;
|
|
79
|
-
const filename = fullPath.replace(this.notesDir +
|
|
79
|
+
const filename = fullPath.replace(this.notesDir + "/", "");
|
|
80
80
|
results.push({
|
|
81
81
|
file: filename,
|
|
82
82
|
line: parseInt(lineNumber),
|
|
83
|
-
content: content.trim()
|
|
83
|
+
content: content.trim(),
|
|
84
84
|
});
|
|
85
85
|
}
|
|
86
86
|
}
|
|
@@ -88,17 +88,17 @@ class NotesManager {
|
|
|
88
88
|
}
|
|
89
89
|
catch (error) {
|
|
90
90
|
// Fallback to JavaScript search if grep fails
|
|
91
|
-
const files = (0, fs_1.readdirSync)(this.notesDir).filter(f => f.endsWith(
|
|
91
|
+
const files = (0, fs_1.readdirSync)(this.notesDir).filter((f) => f.endsWith(".md"));
|
|
92
92
|
for (const file of files) {
|
|
93
93
|
const filePath = (0, path_1.join)(this.notesDir, file);
|
|
94
|
-
const content = (0, fs_1.readFileSync)(filePath,
|
|
95
|
-
const lines = content.split(
|
|
94
|
+
const content = (0, fs_1.readFileSync)(filePath, "utf8");
|
|
95
|
+
const lines = content.split("\n");
|
|
96
96
|
lines.forEach((line, index) => {
|
|
97
97
|
if (line.toLowerCase().includes(query.toLowerCase())) {
|
|
98
98
|
results.push({
|
|
99
99
|
file,
|
|
100
100
|
line: index + 1,
|
|
101
|
-
content: line.trim()
|
|
101
|
+
content: line.trim(),
|
|
102
102
|
});
|
|
103
103
|
}
|
|
104
104
|
});
|
|
@@ -112,16 +112,16 @@ class NotesManager {
|
|
|
112
112
|
getRecent(days) {
|
|
113
113
|
const cutoffDate = new Date();
|
|
114
114
|
cutoffDate.setDate(cutoffDate.getDate() - days);
|
|
115
|
-
const files = this.list().filter(file => {
|
|
115
|
+
const files = this.list().filter((file) => {
|
|
116
116
|
const fileDate = new Date(file.date);
|
|
117
117
|
return fileDate >= cutoffDate;
|
|
118
118
|
});
|
|
119
|
-
return files.map(file => {
|
|
119
|
+
return files.map((file) => {
|
|
120
120
|
const content = this.read(file.name);
|
|
121
121
|
return {
|
|
122
122
|
file: file.name,
|
|
123
123
|
date: file.date,
|
|
124
|
-
content
|
|
124
|
+
content,
|
|
125
125
|
};
|
|
126
126
|
});
|
|
127
127
|
}
|
|
@@ -129,17 +129,17 @@ class NotesManager {
|
|
|
129
129
|
* Ajoute à un fichier existant
|
|
130
130
|
*/
|
|
131
131
|
append(content, filename) {
|
|
132
|
-
const today = new Date().toISOString().split(
|
|
132
|
+
const today = new Date().toISOString().split("T")[0]; // YYYY-MM-DD
|
|
133
133
|
const file = filename || `${today}.md`;
|
|
134
134
|
const filePath = (0, path_1.join)(this.notesDir, file);
|
|
135
135
|
// Add blank line if file exists and doesn't end with one
|
|
136
136
|
if ((0, fs_1.existsSync)(filePath)) {
|
|
137
|
-
const existingContent = (0, fs_1.readFileSync)(filePath,
|
|
138
|
-
const separator = existingContent.endsWith(
|
|
139
|
-
(0, fs_1.appendFileSync)(filePath, separator + content,
|
|
137
|
+
const existingContent = (0, fs_1.readFileSync)(filePath, "utf8");
|
|
138
|
+
const separator = existingContent.endsWith("\n") ? "" : "\n";
|
|
139
|
+
(0, fs_1.appendFileSync)(filePath, separator + content, "utf8");
|
|
140
140
|
}
|
|
141
141
|
else {
|
|
142
|
-
(0, fs_1.writeFileSync)(filePath, content,
|
|
142
|
+
(0, fs_1.writeFileSync)(filePath, content, "utf8");
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
}
|
package/dist/notes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notes.js","sourceRoot":"","sources":["../src/notes.ts"],"names":[],"mappings":";;;AAAA,2BAA+G;AAC/G,+BAAqC;
|
|
1
|
+
{"version":3,"file":"notes.js","sourceRoot":"","sources":["../src/notes.ts"],"names":[],"mappings":"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"}
|
package/dist/ontology.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MemoryConfig, OntologyEntity, OntologyRelation } from
|
|
1
|
+
import type { MemoryConfig, OntologyEntity, OntologyRelation } from "./types.js";
|
|
2
2
|
export declare class OntologyManager {
|
|
3
3
|
private config;
|
|
4
4
|
private graphPath;
|
|
@@ -13,11 +13,11 @@ export declare class OntologyManager {
|
|
|
13
13
|
/**
|
|
14
14
|
* Ajoute une entité
|
|
15
15
|
*/
|
|
16
|
-
addEntity(entity: Omit<OntologyEntity,
|
|
16
|
+
addEntity(entity: Omit<OntologyEntity, "id" | "createdAt" | "updatedAt">): string;
|
|
17
17
|
/**
|
|
18
18
|
* Ajoute une relation
|
|
19
19
|
*/
|
|
20
|
-
addRelation(relation: Omit<OntologyRelation,
|
|
20
|
+
addRelation(relation: Omit<OntologyRelation, "id" | "createdAt">): string;
|
|
21
21
|
/**
|
|
22
22
|
* Recherche par id/type/nom
|
|
23
23
|
*/
|
package/dist/ontology.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ontology.d.ts","sourceRoot":"","sources":["../src/ontology.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ontology.d.ts","sourceRoot":"","sources":["../src/ontology.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,YAAY,EAEZ,cAAc,EAGd,gBAAgB,EAEhB,MAAM,YAAY,CAAC;AAEpB,qBAAa,eAAe;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,SAAS,CAA4C;IAC7D,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,YAAY;IAMhC,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAgEjB,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,MAAM;IAwBjF;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,MAAM;IA+BzE;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc,EAAE;IA8BlF;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAcnD;;OAEG;IACH,QAAQ,IAAI;QAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;QAAC,SAAS,EAAE,gBAAgB,EAAE,CAAA;KAAE;IASzE;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IA2B9B;;OAEG;IACH,SAAS,CACR,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAI,GACV,KAAK,CAAC;QAAE,MAAM,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAC,GAAG,IAAI;IAmExE;;OAEG;IACH,MAAM,IAAI;QAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;QAAC,SAAS,EAAE,gBAAgB,EAAE,CAAA;KAAE;IAIvE;;OAEG;IACH,KAAK,IAAI;QAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;CAgB5F"}
|
package/dist/ontology.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OntologyManager = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
4
5
|
const fs_1 = require("fs");
|
|
5
6
|
const path_1 = require("path");
|
|
6
|
-
const crypto_1 = require("crypto");
|
|
7
7
|
class OntologyManager {
|
|
8
8
|
config;
|
|
9
9
|
graphPath;
|
|
@@ -22,7 +22,7 @@ class OntologyManager {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
generateId() {
|
|
25
|
-
return (0, crypto_1.randomBytes)(16).toString(
|
|
25
|
+
return (0, crypto_1.randomBytes)(16).toString("hex");
|
|
26
26
|
}
|
|
27
27
|
loadGraph() {
|
|
28
28
|
if (this.loaded)
|
|
@@ -33,33 +33,36 @@ class OntologyManager {
|
|
|
33
33
|
this.loaded = true;
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
|
-
const content = (0, fs_1.readFileSync)(this.graphPath,
|
|
37
|
-
const lines = content
|
|
36
|
+
const content = (0, fs_1.readFileSync)(this.graphPath, "utf8");
|
|
37
|
+
const lines = content
|
|
38
|
+
.trim()
|
|
39
|
+
.split("\n")
|
|
40
|
+
.filter((line) => line.trim());
|
|
38
41
|
for (const line of lines) {
|
|
39
42
|
try {
|
|
40
43
|
const entry = JSON.parse(line);
|
|
41
44
|
switch (entry.kind) {
|
|
42
|
-
case
|
|
45
|
+
case "entity":
|
|
43
46
|
this.entities.set(entry.id, {
|
|
44
47
|
id: entry.id,
|
|
45
48
|
type: entry.type,
|
|
46
49
|
name: entry.name,
|
|
47
50
|
properties: entry.properties,
|
|
48
51
|
createdAt: entry.createdAt,
|
|
49
|
-
updatedAt: entry.updatedAt
|
|
52
|
+
updatedAt: entry.updatedAt,
|
|
50
53
|
});
|
|
51
54
|
break;
|
|
52
|
-
case
|
|
55
|
+
case "relation":
|
|
53
56
|
this.relations.set(entry.id, {
|
|
54
57
|
id: entry.id,
|
|
55
58
|
from: entry.from,
|
|
56
59
|
to: entry.to,
|
|
57
60
|
type: entry.type,
|
|
58
61
|
properties: entry.properties,
|
|
59
|
-
createdAt: entry.createdAt
|
|
62
|
+
createdAt: entry.createdAt,
|
|
60
63
|
});
|
|
61
64
|
break;
|
|
62
|
-
case
|
|
65
|
+
case "delete":
|
|
63
66
|
// Delete entity or relation
|
|
64
67
|
this.entities.delete(entry.targetId);
|
|
65
68
|
this.relations.delete(entry.targetId);
|
|
@@ -80,8 +83,8 @@ class OntologyManager {
|
|
|
80
83
|
}
|
|
81
84
|
appendToFile(entry) {
|
|
82
85
|
this.ensureDirectories();
|
|
83
|
-
const line = JSON.stringify(entry) +
|
|
84
|
-
(0, fs_1.appendFileSync)(this.graphPath, line,
|
|
86
|
+
const line = JSON.stringify(entry) + "\n";
|
|
87
|
+
(0, fs_1.appendFileSync)(this.graphPath, line, "utf8");
|
|
85
88
|
}
|
|
86
89
|
/**
|
|
87
90
|
* Ajoute une entité
|
|
@@ -94,12 +97,12 @@ class OntologyManager {
|
|
|
94
97
|
...entity,
|
|
95
98
|
id,
|
|
96
99
|
createdAt: now,
|
|
97
|
-
updatedAt: now
|
|
100
|
+
updatedAt: now,
|
|
98
101
|
};
|
|
99
102
|
this.entities.set(id, newEntity);
|
|
100
103
|
const entry = {
|
|
101
|
-
kind:
|
|
102
|
-
...newEntity
|
|
104
|
+
kind: "entity",
|
|
105
|
+
...newEntity,
|
|
103
106
|
};
|
|
104
107
|
this.appendToFile(entry);
|
|
105
108
|
return id;
|
|
@@ -121,12 +124,12 @@ class OntologyManager {
|
|
|
121
124
|
const newRelation = {
|
|
122
125
|
...relation,
|
|
123
126
|
id,
|
|
124
|
-
createdAt: now
|
|
127
|
+
createdAt: now,
|
|
125
128
|
};
|
|
126
129
|
this.relations.set(id, newRelation);
|
|
127
130
|
const entry = {
|
|
128
|
-
kind:
|
|
129
|
-
...newRelation
|
|
131
|
+
kind: "relation",
|
|
132
|
+
...newRelation,
|
|
130
133
|
};
|
|
131
134
|
this.appendToFile(entry);
|
|
132
135
|
return id;
|
|
@@ -176,7 +179,7 @@ class OntologyManager {
|
|
|
176
179
|
this.loadGraph();
|
|
177
180
|
return {
|
|
178
181
|
entities: Array.from(this.entities.values()),
|
|
179
|
-
relations: Array.from(this.relations.values())
|
|
182
|
+
relations: Array.from(this.relations.values()),
|
|
180
183
|
};
|
|
181
184
|
}
|
|
182
185
|
/**
|
|
@@ -189,9 +192,9 @@ class OntologyManager {
|
|
|
189
192
|
}
|
|
190
193
|
// Mark as deleted in file
|
|
191
194
|
const deleteEntry = {
|
|
192
|
-
kind:
|
|
195
|
+
kind: "delete",
|
|
193
196
|
targetId: id,
|
|
194
|
-
deletedAt: new Date().toISOString()
|
|
197
|
+
deletedAt: new Date().toISOString(),
|
|
195
198
|
};
|
|
196
199
|
this.appendToFile(deleteEntry);
|
|
197
200
|
// Remove from memory
|
|
@@ -216,7 +219,7 @@ class OntologyManager {
|
|
|
216
219
|
}
|
|
217
220
|
// BFS pour trouver le chemin le plus court
|
|
218
221
|
const queue = [
|
|
219
|
-
{ entityId: fromId, path: [{ entity: this.entities.get(fromId) }] }
|
|
222
|
+
{ entityId: fromId, path: [{ entity: this.entities.get(fromId) }] },
|
|
220
223
|
];
|
|
221
224
|
const visited = new Set([fromId]);
|
|
222
225
|
while (queue.length > 0) {
|
|
@@ -236,7 +239,7 @@ class OntologyManager {
|
|
|
236
239
|
visited.add(targetId);
|
|
237
240
|
queue.push({
|
|
238
241
|
entityId: targetId,
|
|
239
|
-
path: [...path, { entity: this.entities.get(targetId), relation }]
|
|
242
|
+
path: [...path, { entity: this.entities.get(targetId), relation }],
|
|
240
243
|
});
|
|
241
244
|
}
|
|
242
245
|
}
|
|
@@ -251,7 +254,7 @@ class OntologyManager {
|
|
|
251
254
|
visited.add(targetId);
|
|
252
255
|
queue.push({
|
|
253
256
|
entityId: targetId,
|
|
254
|
-
path: [...path, { entity: this.entities.get(targetId), relation }]
|
|
257
|
+
path: [...path, { entity: this.entities.get(targetId), relation }],
|
|
255
258
|
});
|
|
256
259
|
}
|
|
257
260
|
}
|
package/dist/ontology.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ontology.js","sourceRoot":"","sources":["../src/ontology.ts"],"names":[],"mappings":";;;AAAA,2BAAwF;AACxF,+BAAqC;
|
|
1
|
+
{"version":3,"file":"ontology.js","sourceRoot":"","sources":["../src/ontology.ts"],"names":[],"mappings":"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"}
|