@knowledgine/core 0.2.1 → 0.3.0
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/config/config-loader.d.ts +13 -0
- package/dist/config/config-loader.d.ts.map +1 -1
- package/dist/config/config-loader.js +19 -11
- package/dist/config/config-loader.js.map +1 -1
- package/dist/extraction/causal-link-detector.d.ts +16 -0
- package/dist/extraction/causal-link-detector.d.ts.map +1 -0
- package/dist/extraction/causal-link-detector.js +142 -0
- package/dist/extraction/causal-link-detector.js.map +1 -0
- package/dist/extraction/incremental-extractor.d.ts +21 -0
- package/dist/extraction/incremental-extractor.d.ts.map +1 -0
- package/dist/extraction/incremental-extractor.js +113 -0
- package/dist/extraction/incremental-extractor.js.map +1 -0
- package/dist/extraction/psp-detector.d.ts +3 -3
- package/dist/extraction/psp-detector.d.ts.map +1 -1
- package/dist/extraction/psp-detector.js +51 -3
- package/dist/extraction/psp-detector.js.map +1 -1
- package/dist/graph/entity-extractor.d.ts +1 -0
- package/dist/graph/entity-extractor.d.ts.map +1 -1
- package/dist/graph/entity-extractor.js +24 -0
- package/dist/graph/entity-extractor.js.map +1 -1
- package/dist/graph/graph-repository.d.ts +5 -5
- package/dist/graph/graph-repository.d.ts.map +1 -1
- package/dist/graph/graph-repository.js +12 -12
- package/dist/graph/graph-repository.js.map +1 -1
- package/dist/index.d.ts +16 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -1
- package/dist/llm/errors.d.ts +8 -0
- package/dist/llm/errors.d.ts.map +1 -0
- package/dist/llm/errors.js +11 -0
- package/dist/llm/errors.js.map +1 -0
- package/dist/llm/index.d.ts +7 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +5 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/ollama-provider.d.ts +13 -0
- package/dist/llm/ollama-provider.d.ts.map +1 -0
- package/dist/llm/ollama-provider.js +130 -0
- package/dist/llm/ollama-provider.js.map +1 -0
- package/dist/llm/openai-provider.d.ts +15 -0
- package/dist/llm/openai-provider.d.ts.map +1 -0
- package/dist/llm/openai-provider.js +143 -0
- package/dist/llm/openai-provider.js.map +1 -0
- package/dist/llm/provider-factory.d.ts +3 -0
- package/dist/llm/provider-factory.d.ts.map +1 -0
- package/dist/llm/provider-factory.js +25 -0
- package/dist/llm/provider-factory.js.map +1 -0
- package/dist/llm/types.d.ts +50 -0
- package/dist/llm/types.d.ts.map +1 -0
- package/dist/llm/types.js +2 -0
- package/dist/llm/types.js.map +1 -0
- package/dist/provenance/provenance-repository.d.ts +23 -22
- package/dist/provenance/provenance-repository.d.ts.map +1 -1
- package/dist/provenance/provenance-repository.js +82 -44
- package/dist/provenance/provenance-repository.js.map +1 -1
- package/dist/search/knowledge-searcher.d.ts +10 -1
- package/dist/search/knowledge-searcher.d.ts.map +1 -1
- package/dist/search/knowledge-searcher.js +78 -31
- package/dist/search/knowledge-searcher.js.map +1 -1
- package/dist/search/reasoning-reranker.d.ts +59 -0
- package/dist/search/reasoning-reranker.d.ts.map +1 -0
- package/dist/search/reasoning-reranker.js +334 -0
- package/dist/search/reasoning-reranker.js.map +1 -0
- package/dist/services/knowledge-service.d.ts +4 -0
- package/dist/services/knowledge-service.d.ts.map +1 -1
- package/dist/services/knowledge-service.js +6 -1
- package/dist/services/knowledge-service.js.map +1 -1
- package/dist/storage/database.d.ts.map +1 -1
- package/dist/storage/database.js +46 -6
- package/dist/storage/database.js.map +1 -1
- package/dist/storage/knowledge-repository.d.ts +49 -1
- package/dist/storage/knowledge-repository.d.ts.map +1 -1
- package/dist/storage/knowledge-repository.js +93 -7
- package/dist/storage/knowledge-repository.js.map +1 -1
- package/dist/storage/migrations/007_spec_alignment.d.ts +3 -0
- package/dist/storage/migrations/007_spec_alignment.d.ts.map +1 -0
- package/dist/storage/migrations/007_spec_alignment.js +116 -0
- package/dist/storage/migrations/007_spec_alignment.js.map +1 -0
- package/dist/storage/migrations/008_knowledge_versioning.d.ts +15 -0
- package/dist/storage/migrations/008_knowledge_versioning.d.ts.map +1 -0
- package/dist/storage/migrations/008_knowledge_versioning.js +69 -0
- package/dist/storage/migrations/008_knowledge_versioning.js.map +1 -0
- package/dist/storage/migrations/009_extraction_metadata.d.ts +12 -0
- package/dist/storage/migrations/009_extraction_metadata.d.ts.map +1 -0
- package/dist/storage/migrations/009_extraction_metadata.js +39 -0
- package/dist/storage/migrations/009_extraction_metadata.js.map +1 -0
- package/dist/storage/migrator.d.ts +3 -1
- package/dist/storage/migrator.d.ts.map +1 -1
- package/dist/storage/migrator.js +2 -1
- package/dist/storage/migrator.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-service.js","sourceRoot":"","sources":["../../src/services/knowledge-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAM5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"knowledge-service.js","sourceRoot":"","sources":["../../src/services/knowledge-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAyBtC,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,qBAA0B,GAClC,QAAQ,CAAC,QAAQ,CA6DnB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CASpF"}
|
package/dist/storage/database.js
CHANGED
|
@@ -1,7 +1,28 @@
|
|
|
1
1
|
import Database from "better-sqlite3";
|
|
2
|
-
import { mkdirSync } from "fs";
|
|
3
|
-
import { dirname } from "path";
|
|
2
|
+
import { mkdirSync, existsSync } from "fs";
|
|
3
|
+
import { dirname, join } from "path";
|
|
4
4
|
import { DatabaseError } from "../errors.js";
|
|
5
|
+
function detectPackageManager(cwd = process.cwd()) {
|
|
6
|
+
if (process.env.VOLTA_HOME)
|
|
7
|
+
return "volta";
|
|
8
|
+
if (existsSync(join(cwd, "pnpm-lock.yaml")))
|
|
9
|
+
return "pnpm";
|
|
10
|
+
if (existsSync(join(cwd, "yarn.lock")))
|
|
11
|
+
return "yarn";
|
|
12
|
+
return "npm";
|
|
13
|
+
}
|
|
14
|
+
function getRebuildCommand(pm) {
|
|
15
|
+
switch (pm) {
|
|
16
|
+
case "volta":
|
|
17
|
+
return "volta run npm rebuild better-sqlite3";
|
|
18
|
+
case "pnpm":
|
|
19
|
+
return "pnpm rebuild better-sqlite3";
|
|
20
|
+
case "yarn":
|
|
21
|
+
return "yarn rebuild";
|
|
22
|
+
default:
|
|
23
|
+
return "npm rebuild better-sqlite3";
|
|
24
|
+
}
|
|
25
|
+
}
|
|
5
26
|
export function createDatabase(dbPath, options = {}) {
|
|
6
27
|
// Ensure directory exists (skip for :memory:)
|
|
7
28
|
if (dbPath !== ":memory:") {
|
|
@@ -14,28 +35,47 @@ export function createDatabase(dbPath, options = {}) {
|
|
|
14
35
|
catch (error) {
|
|
15
36
|
const msg = error instanceof Error ? error.message : String(error);
|
|
16
37
|
if (/MODULE_NOT_FOUND|DLOPEN|NODE_MODULE_VERSION|NAPI/i.test(msg)) {
|
|
38
|
+
const pm = detectPackageManager();
|
|
39
|
+
const rebuildCmd = getRebuildCommand(pm);
|
|
17
40
|
throw new DatabaseError(`initialization - Native module error detected.\n\n` +
|
|
18
41
|
`Resolution:\n` +
|
|
19
|
-
` 1.
|
|
20
|
-
` 2. Or: rm -rf node_modules && npm install\n` +
|
|
42
|
+
` 1. ${rebuildCmd}\n` +
|
|
43
|
+
` 2. Or: rm -rf node_modules && ${pm === "pnpm" ? "pnpm install" : pm === "yarn" ? "yarn install" : "npm install"}\n` +
|
|
21
44
|
` 3. Current Node.js: ${process.version}`, error, { dbPath });
|
|
22
45
|
}
|
|
23
46
|
throw new DatabaseError("initialization", error, { dbPath });
|
|
24
47
|
}
|
|
25
48
|
db.pragma("journal_mode = WAL");
|
|
26
49
|
db.pragma("foreign_keys = ON");
|
|
27
|
-
//
|
|
28
|
-
|
|
50
|
+
// Load sqlite-vec if requested
|
|
51
|
+
let vec0Loaded = false;
|
|
29
52
|
if (options.enableVec === true) {
|
|
30
53
|
try {
|
|
31
54
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
32
55
|
const sqliteVec = require("sqlite-vec");
|
|
33
56
|
sqliteVec.load(db);
|
|
57
|
+
vec0Loaded = true;
|
|
34
58
|
}
|
|
35
59
|
catch {
|
|
36
60
|
// sqlite-vec not available — graceful degradation
|
|
37
61
|
}
|
|
38
62
|
}
|
|
63
|
+
// Drop vec0-dependent triggers if vec0 is not loaded to prevent cascade errors
|
|
64
|
+
if (!vec0Loaded) {
|
|
65
|
+
try {
|
|
66
|
+
const trigger = db
|
|
67
|
+
.prepare("SELECT name FROM sqlite_master WHERE type='trigger' AND name='note_embeddings_ad'")
|
|
68
|
+
.get();
|
|
69
|
+
if (trigger) {
|
|
70
|
+
db.exec("DROP TRIGGER IF EXISTS note_embeddings_ad");
|
|
71
|
+
db.exec("DROP TRIGGER IF EXISTS note_embeddings_au");
|
|
72
|
+
db.exec("DROP TRIGGER IF EXISTS note_embeddings_ai");
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
// DB may not have the table yet — ignore
|
|
77
|
+
}
|
|
78
|
+
}
|
|
39
79
|
return db;
|
|
40
80
|
}
|
|
41
81
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,10 @@ export interface KnowledgeNote {
|
|
|
9
9
|
created_at: string;
|
|
10
10
|
updated_at: string | null;
|
|
11
11
|
content_hash: string | null;
|
|
12
|
+
valid_from: string | null;
|
|
13
|
+
deprecated: 0 | 1 | null;
|
|
14
|
+
extracted_at: string | null;
|
|
15
|
+
code_location_json: string | null;
|
|
12
16
|
}
|
|
13
17
|
export interface ExtractedPatternRow {
|
|
14
18
|
id: number;
|
|
@@ -69,6 +73,11 @@ export declare class KnowledgeRepository {
|
|
|
69
73
|
totalPairs: number;
|
|
70
74
|
patternsByType: Record<string, number>;
|
|
71
75
|
};
|
|
76
|
+
/**
|
|
77
|
+
* コードファイルパスで code_location_json を持つノートを検索する
|
|
78
|
+
* path パラメータを含む code_location_json が NULL でないノートを返す
|
|
79
|
+
*/
|
|
80
|
+
searchByCodeLocation(path: string): KnowledgeNote[];
|
|
72
81
|
/**
|
|
73
82
|
* ノートの埋め込みベクトルを保存する(upsert)
|
|
74
83
|
*/
|
|
@@ -84,7 +93,7 @@ export declare class KnowledgeRepository {
|
|
|
84
93
|
/**
|
|
85
94
|
* FTS5 rank付きでノートを検索する
|
|
86
95
|
*/
|
|
87
|
-
searchNotesWithRank(query: string, limit?: number): Array<{
|
|
96
|
+
searchNotesWithRank(query: string, limit?: number, includeDeprecated?: boolean): Array<{
|
|
88
97
|
note: KnowledgeNote;
|
|
89
98
|
rank: number;
|
|
90
99
|
}>;
|
|
@@ -113,6 +122,45 @@ export declare class KnowledgeRepository {
|
|
|
113
122
|
* 指定IDリストのノートを一括削除する
|
|
114
123
|
*/
|
|
115
124
|
deleteNotesByIds(ids: number[]): number;
|
|
125
|
+
/**
|
|
126
|
+
* ノートの extracted_at タイムスタンプを更新する
|
|
127
|
+
*/
|
|
128
|
+
updateExtractedAt(noteId: number): void;
|
|
129
|
+
/**
|
|
130
|
+
* sourceUri プレフィックスでノートを取得する
|
|
131
|
+
* file_path が sourceUri として使われている(normalizer.ts の仕様)
|
|
132
|
+
*/
|
|
133
|
+
getNotesBySourceUriPrefix(prefix: string): KnowledgeNote[];
|
|
134
|
+
/**
|
|
135
|
+
* 既存リンクチェック後に note_links へ INSERT する(冪等)
|
|
136
|
+
* 同じ source/target ペアが既に存在する場合は false を返す
|
|
137
|
+
*/
|
|
138
|
+
saveNoteLinkIfNotExists(sourceNoteId: number, targetNoteId: number, linkType: string, similarity?: number): boolean;
|
|
139
|
+
/**
|
|
140
|
+
* 指定ノートに関するリンクをすべて取得する(source または target)
|
|
141
|
+
*/
|
|
142
|
+
getLinksForNote(noteId: number): Array<{
|
|
143
|
+
id: number;
|
|
144
|
+
sourceNoteId: number;
|
|
145
|
+
targetNoteId: number;
|
|
146
|
+
linkType: string;
|
|
147
|
+
similarity: number | null;
|
|
148
|
+
createdAt: string;
|
|
149
|
+
}>;
|
|
150
|
+
/**
|
|
151
|
+
* サジェスト結果へのフィードバックを保存する
|
|
152
|
+
*/
|
|
153
|
+
saveSuggestFeedback(noteId: number, query: string, isUseful: boolean, context?: string): number;
|
|
154
|
+
/**
|
|
155
|
+
* 特定ノートのサジェストフィードバック一覧を取得する(新しい順)
|
|
156
|
+
*/
|
|
157
|
+
getSuggestFeedbackForNote(noteId: number): Array<{
|
|
158
|
+
id: number;
|
|
159
|
+
query: string;
|
|
160
|
+
isUseful: boolean;
|
|
161
|
+
context: string | null;
|
|
162
|
+
createdAt: string;
|
|
163
|
+
}>;
|
|
116
164
|
close(): void;
|
|
117
165
|
}
|
|
118
166
|
//# sourceMappingURL=knowledge-repository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-repository.d.ts","sourceRoot":"","sources":["../../src/storage/knowledge-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAInE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"knowledge-repository.d.ts","sourceRoot":"","sources":["../../src/storage/knowledge-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ export class KnowledgeRepository {
|
|
|
28
28
|
const frontmatterJson = data.frontmatter && Object.keys(data.frontmatter).length > 0
|
|
29
29
|
? JSON.stringify(data.frontmatter)
|
|
30
30
|
: null;
|
|
31
|
+
const codeLocationJson = data.codeLocationJson ?? null;
|
|
31
32
|
if (existing) {
|
|
32
33
|
// Skip update if content hasn't changed
|
|
33
34
|
if (existing.content_hash === contentHash) {
|
|
@@ -36,20 +37,20 @@ export class KnowledgeRepository {
|
|
|
36
37
|
const stmt = this.db.prepare(`
|
|
37
38
|
UPDATE knowledge_notes
|
|
38
39
|
SET title = ?, content = ?, frontmatter_json = ?,
|
|
39
|
-
updated_at = ?, content_hash = ?
|
|
40
|
+
updated_at = ?, content_hash = ?, code_location_json = ?
|
|
40
41
|
WHERE id = ?
|
|
41
42
|
`);
|
|
42
|
-
stmt.run(data.title, data.content, frontmatterJson, now, contentHash, existing.id);
|
|
43
|
+
stmt.run(data.title, data.content, frontmatterJson, now, contentHash, codeLocationJson, existing.id);
|
|
43
44
|
return existing.id;
|
|
44
45
|
}
|
|
45
46
|
else {
|
|
46
47
|
const stmt = this.db.prepare(`
|
|
47
48
|
INSERT INTO knowledge_notes (
|
|
48
49
|
file_path, title, content, frontmatter_json,
|
|
49
|
-
created_at, updated_at, content_hash
|
|
50
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
50
|
+
created_at, updated_at, content_hash, code_location_json
|
|
51
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
51
52
|
`);
|
|
52
|
-
const info = stmt.run(data.filePath, data.title, data.content, frontmatterJson, data.createdAt || now, now, contentHash);
|
|
53
|
+
const info = stmt.run(data.filePath, data.title, data.content, frontmatterJson, data.createdAt || now, now, contentHash, codeLocationJson);
|
|
53
54
|
return Number(info.lastInsertRowid);
|
|
54
55
|
}
|
|
55
56
|
}
|
|
@@ -239,6 +240,19 @@ export class KnowledgeRepository {
|
|
|
239
240
|
}
|
|
240
241
|
return { totalNotes, totalPatterns, totalLinks, totalPairs, patternsByType };
|
|
241
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* コードファイルパスで code_location_json を持つノートを検索する
|
|
245
|
+
* path パラメータを含む code_location_json が NULL でないノートを返す
|
|
246
|
+
*/
|
|
247
|
+
searchByCodeLocation(path) {
|
|
248
|
+
const stmt = this.db.prepare(`
|
|
249
|
+
SELECT * FROM knowledge_notes
|
|
250
|
+
WHERE code_location_json IS NOT NULL
|
|
251
|
+
AND code_location_json LIKE ?
|
|
252
|
+
ORDER BY created_at DESC
|
|
253
|
+
`);
|
|
254
|
+
return stmt.all(`%${path}%`);
|
|
255
|
+
}
|
|
242
256
|
/**
|
|
243
257
|
* ノートの埋め込みベクトルを保存する(upsert)
|
|
244
258
|
*/
|
|
@@ -301,13 +315,15 @@ export class KnowledgeRepository {
|
|
|
301
315
|
/**
|
|
302
316
|
* FTS5 rank付きでノートを検索する
|
|
303
317
|
*/
|
|
304
|
-
searchNotesWithRank(query, limit = 50) {
|
|
318
|
+
searchNotesWithRank(query, limit = 50, includeDeprecated = false) {
|
|
319
|
+
const deprecatedFilter = includeDeprecated ? "" : "AND n.deprecated = 0";
|
|
305
320
|
try {
|
|
306
321
|
const stmt = this.db.prepare(`
|
|
307
322
|
SELECT n.*, fts.rank
|
|
308
323
|
FROM knowledge_notes n
|
|
309
324
|
JOIN knowledge_notes_fts fts ON n.id = fts.rowid
|
|
310
325
|
WHERE knowledge_notes_fts MATCH ?
|
|
326
|
+
${deprecatedFilter}
|
|
311
327
|
ORDER BY rank
|
|
312
328
|
LIMIT ?
|
|
313
329
|
`);
|
|
@@ -316,7 +332,8 @@ export class KnowledgeRepository {
|
|
|
316
332
|
}
|
|
317
333
|
catch {
|
|
318
334
|
// FTS5失敗時はLIKEフォールバック(不正なクエリ構文への耐性)
|
|
319
|
-
const
|
|
335
|
+
const deprecatedClause = includeDeprecated ? "" : "AND n.deprecated = 0";
|
|
336
|
+
const fallbackStmt = this.db.prepare(`SELECT n.* FROM knowledge_notes n WHERE (n.title LIKE ? OR n.content LIKE ?) ${deprecatedClause} LIMIT ?`);
|
|
320
337
|
const fallbackRows = fallbackStmt.all(`%${query}%`, `%${query}%`, limit);
|
|
321
338
|
return fallbackRows.map((row) => ({ note: row, rank: 0 }));
|
|
322
339
|
}
|
|
@@ -376,6 +393,75 @@ export class KnowledgeRepository {
|
|
|
376
393
|
const info = stmt.run(...ids);
|
|
377
394
|
return info.changes;
|
|
378
395
|
}
|
|
396
|
+
/**
|
|
397
|
+
* ノートの extracted_at タイムスタンプを更新する
|
|
398
|
+
*/
|
|
399
|
+
updateExtractedAt(noteId) {
|
|
400
|
+
const now = new Date().toISOString();
|
|
401
|
+
this.db.prepare("UPDATE knowledge_notes SET extracted_at = ? WHERE id = ?").run(now, noteId);
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* sourceUri プレフィックスでノートを取得する
|
|
405
|
+
* file_path が sourceUri として使われている(normalizer.ts の仕様)
|
|
406
|
+
*/
|
|
407
|
+
getNotesBySourceUriPrefix(prefix) {
|
|
408
|
+
const stmt = this.db.prepare("SELECT * FROM knowledge_notes WHERE file_path LIKE ? ORDER BY created_at ASC");
|
|
409
|
+
return stmt.all(`${prefix}%`);
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* 既存リンクチェック後に note_links へ INSERT する(冪等)
|
|
413
|
+
* 同じ source/target ペアが既に存在する場合は false を返す
|
|
414
|
+
*/
|
|
415
|
+
saveNoteLinkIfNotExists(sourceNoteId, targetNoteId, linkType, similarity) {
|
|
416
|
+
const existing = this.db
|
|
417
|
+
.prepare("SELECT id FROM note_links WHERE source_note_id = ? AND target_note_id = ?")
|
|
418
|
+
.get(sourceNoteId, targetNoteId);
|
|
419
|
+
if (existing)
|
|
420
|
+
return false;
|
|
421
|
+
const now = new Date().toISOString();
|
|
422
|
+
this.db
|
|
423
|
+
.prepare("INSERT INTO note_links (source_note_id, target_note_id, link_type, similarity, created_at) VALUES (?, ?, ?, ?, ?)")
|
|
424
|
+
.run(sourceNoteId, targetNoteId, linkType, similarity ?? null, now);
|
|
425
|
+
return true;
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* 指定ノートに関するリンクをすべて取得する(source または target)
|
|
429
|
+
*/
|
|
430
|
+
getLinksForNote(noteId) {
|
|
431
|
+
const stmt = this.db.prepare(`
|
|
432
|
+
SELECT id, source_note_id as sourceNoteId, target_note_id as targetNoteId,
|
|
433
|
+
link_type as linkType, similarity, created_at as createdAt
|
|
434
|
+
FROM note_links
|
|
435
|
+
WHERE source_note_id = ? OR target_note_id = ?
|
|
436
|
+
ORDER BY created_at DESC
|
|
437
|
+
`);
|
|
438
|
+
return stmt.all(noteId, noteId);
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* サジェスト結果へのフィードバックを保存する
|
|
442
|
+
*/
|
|
443
|
+
saveSuggestFeedback(noteId, query, isUseful, context) {
|
|
444
|
+
const now = new Date().toISOString();
|
|
445
|
+
const stmt = this.db.prepare(`
|
|
446
|
+
INSERT INTO suggest_feedback (note_id, query, is_useful, context, created_at)
|
|
447
|
+
VALUES (?, ?, ?, ?, ?)
|
|
448
|
+
`);
|
|
449
|
+
const info = stmt.run(noteId, query, isUseful ? 1 : 0, context ?? null, now);
|
|
450
|
+
return Number(info.lastInsertRowid);
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* 特定ノートのサジェストフィードバック一覧を取得する(新しい順)
|
|
454
|
+
*/
|
|
455
|
+
getSuggestFeedbackForNote(noteId) {
|
|
456
|
+
const stmt = this.db.prepare(`
|
|
457
|
+
SELECT id, query, is_useful as isUseful, context, created_at as createdAt
|
|
458
|
+
FROM suggest_feedback
|
|
459
|
+
WHERE note_id = ?
|
|
460
|
+
ORDER BY id DESC
|
|
461
|
+
`);
|
|
462
|
+
const rows = stmt.all(noteId);
|
|
463
|
+
return rows.map((row) => ({ ...row, isUseful: row.isUseful === 1 }));
|
|
464
|
+
}
|
|
379
465
|
close() {
|
|
380
466
|
this.db.close();
|
|
381
467
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-repository.js","sourceRoot":"","sources":["../../src/storage/knowledge-repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"knowledge-repository.js","sourceRoot":"","sources":["../../src/storage/knowledge-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"007_spec_alignment.d.ts","sourceRoot":"","sources":["../../../src/storage/migrations/007_spec_alignment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AA6GhD,eAAO,MAAM,YAAY,EAAE,SAS1B,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
const SPEC_ALIGNMENT_SQL = `
|
|
2
|
+
-- ① bi-temporal カラム改名 (relations)
|
|
3
|
+
ALTER TABLE relations RENAME COLUMN valid_from TO valid_at;
|
|
4
|
+
ALTER TABLE relations RENAME COLUMN valid_to TO invalid_at;
|
|
5
|
+
ALTER TABLE relations RENAME COLUMN superseded_at TO superseded_by;
|
|
6
|
+
ALTER TABLE relations ADD COLUMN expired_at TEXT;
|
|
7
|
+
ALTER TABLE relations ADD COLUMN source_event_id TEXT;
|
|
8
|
+
|
|
9
|
+
-- bi-temporal カラム改名 (observations)
|
|
10
|
+
ALTER TABLE observations RENAME COLUMN valid_from TO valid_at;
|
|
11
|
+
ALTER TABLE observations RENAME COLUMN valid_to TO invalid_at;
|
|
12
|
+
ALTER TABLE observations RENAME COLUMN superseded_at TO superseded_by;
|
|
13
|
+
ALTER TABLE observations ADD COLUMN expired_at TEXT;
|
|
14
|
+
ALTER TABLE observations ADD COLUMN source_event_id TEXT;
|
|
15
|
+
|
|
16
|
+
-- VIEW 再作成
|
|
17
|
+
DROP VIEW IF EXISTS active_relations;
|
|
18
|
+
DROP VIEW IF EXISTS active_observations;
|
|
19
|
+
CREATE VIEW active_relations AS
|
|
20
|
+
SELECT * FROM relations WHERE (invalid_at IS NULL) AND (expired_at IS NULL);
|
|
21
|
+
CREATE VIEW active_observations AS
|
|
22
|
+
SELECT * FROM observations WHERE (invalid_at IS NULL) AND (expired_at IS NULL);
|
|
23
|
+
|
|
24
|
+
-- インデックス再作成
|
|
25
|
+
DROP INDEX IF EXISTS idx_relations_valid_to;
|
|
26
|
+
DROP INDEX IF EXISTS idx_relations_superseded;
|
|
27
|
+
DROP INDEX IF EXISTS idx_observations_valid_to;
|
|
28
|
+
DROP INDEX IF EXISTS idx_observations_superseded;
|
|
29
|
+
CREATE INDEX idx_relations_invalid_at ON relations(invalid_at);
|
|
30
|
+
CREATE INDEX idx_relations_superseded_by ON relations(superseded_by);
|
|
31
|
+
CREATE INDEX idx_observations_invalid_at ON observations(invalid_at);
|
|
32
|
+
CREATE INDEX idx_observations_superseded_by ON observations(superseded_by);
|
|
33
|
+
|
|
34
|
+
-- ② memory_entries scope
|
|
35
|
+
ALTER TABLE memory_entries ADD COLUMN scope TEXT DEFAULT 'project';
|
|
36
|
+
|
|
37
|
+
-- ③ provenance_links (新規)
|
|
38
|
+
CREATE TABLE provenance_links (
|
|
39
|
+
id TEXT PRIMARY KEY,
|
|
40
|
+
from_entity_uri TEXT NOT NULL,
|
|
41
|
+
to_entity_uri TEXT NOT NULL,
|
|
42
|
+
relation TEXT NOT NULL,
|
|
43
|
+
created_at TEXT NOT NULL
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
-- ④ provenance テーブル再構築
|
|
47
|
+
CREATE TABLE provenance_new (
|
|
48
|
+
id TEXT PRIMARY KEY,
|
|
49
|
+
entity_uri TEXT NOT NULL,
|
|
50
|
+
activity_type TEXT NOT NULL,
|
|
51
|
+
agent TEXT,
|
|
52
|
+
source_uri TEXT,
|
|
53
|
+
generated_at TEXT NOT NULL,
|
|
54
|
+
metadata TEXT
|
|
55
|
+
);
|
|
56
|
+
INSERT INTO provenance_new (id, entity_uri, activity_type, agent, source_uri, generated_at, metadata)
|
|
57
|
+
SELECT CAST(id AS TEXT), entity_uri, activity_type, agent,
|
|
58
|
+
COALESCE(input_uris, ''), started_at, metadata_json
|
|
59
|
+
FROM provenance;
|
|
60
|
+
DROP TABLE provenance;
|
|
61
|
+
ALTER TABLE provenance_new RENAME TO provenance;
|
|
62
|
+
CREATE INDEX idx_provenance_entity ON provenance(entity_uri);
|
|
63
|
+
CREATE INDEX idx_provenance_activity ON provenance(activity_type);
|
|
64
|
+
|
|
65
|
+
-- ⑤ file_timeline 再構築
|
|
66
|
+
CREATE TABLE file_timeline_new (
|
|
67
|
+
file_path TEXT NOT NULL,
|
|
68
|
+
event_id TEXT NOT NULL,
|
|
69
|
+
changed_at TEXT NOT NULL,
|
|
70
|
+
change_type TEXT NOT NULL
|
|
71
|
+
);
|
|
72
|
+
INSERT INTO file_timeline_new (file_path, event_id, changed_at, change_type)
|
|
73
|
+
SELECT file_path, CAST(COALESCE(event_id, '') AS TEXT), occurred_at, event_type
|
|
74
|
+
FROM file_timeline;
|
|
75
|
+
DROP TABLE file_timeline;
|
|
76
|
+
ALTER TABLE file_timeline_new RENAME TO file_timeline;
|
|
77
|
+
CREATE INDEX idx_file_timeline_path ON file_timeline(file_path);
|
|
78
|
+
CREATE INDEX idx_file_timeline_changed ON file_timeline(changed_at);
|
|
79
|
+
|
|
80
|
+
-- ⑥ snapshots 再構築
|
|
81
|
+
CREATE TABLE snapshots_new (
|
|
82
|
+
id TEXT PRIMARY KEY,
|
|
83
|
+
snapshot_at TEXT NOT NULL,
|
|
84
|
+
entity_count INTEGER,
|
|
85
|
+
event_count INTEGER,
|
|
86
|
+
metadata TEXT
|
|
87
|
+
);
|
|
88
|
+
INSERT INTO snapshots_new (id, snapshot_at, entity_count, event_count, metadata)
|
|
89
|
+
SELECT CAST(id AS TEXT), snapshot_at, entity_count, event_count, metadata_json
|
|
90
|
+
FROM snapshots;
|
|
91
|
+
DROP TABLE snapshots;
|
|
92
|
+
ALTER TABLE snapshots_new RENAME TO snapshots;
|
|
93
|
+
`;
|
|
94
|
+
const SPEC_ALIGNMENT_DOWN_SQL = `
|
|
95
|
+
-- provenance_links 削除
|
|
96
|
+
DROP TABLE IF EXISTS provenance_links;
|
|
97
|
+
|
|
98
|
+
-- VIEWの再作成(元の条件)
|
|
99
|
+
DROP VIEW IF EXISTS active_relations;
|
|
100
|
+
DROP VIEW IF EXISTS active_observations;
|
|
101
|
+
CREATE VIEW active_relations AS
|
|
102
|
+
SELECT * FROM relations WHERE invalid_at IS NULL AND superseded_by IS NULL;
|
|
103
|
+
CREATE VIEW active_observations AS
|
|
104
|
+
SELECT * FROM observations WHERE invalid_at IS NULL AND superseded_by IS NULL;
|
|
105
|
+
`;
|
|
106
|
+
export const migration007 = {
|
|
107
|
+
version: 9,
|
|
108
|
+
name: "spec_alignment",
|
|
109
|
+
up: (db) => {
|
|
110
|
+
db.exec(SPEC_ALIGNMENT_SQL);
|
|
111
|
+
},
|
|
112
|
+
down: (db) => {
|
|
113
|
+
db.exec(SPEC_ALIGNMENT_DOWN_SQL);
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=007_spec_alignment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"007_spec_alignment.js","sourceRoot":"","sources":["../../../src/storage/migrations/007_spec_alignment.ts"],"names":[],"mappings":"AAEA,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4F1B,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;;;;;;CAW/B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAc;IACrC,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,gBAAgB;IACtB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACT,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;QACX,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACnC,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Migration } from "../migrator.js";
|
|
2
|
+
/**
|
|
3
|
+
* Migration 008: Knowledge Versioning
|
|
4
|
+
*
|
|
5
|
+
* Adds versioning and deprecation support to knowledge tables:
|
|
6
|
+
* - knowledge_notes: version tracking, supersedes (FK), valid_from, deprecated flag
|
|
7
|
+
* - extracted_patterns: deprecated flag
|
|
8
|
+
* - problem_solution_pairs: version tracking, supersedes, deprecated flag
|
|
9
|
+
*
|
|
10
|
+
* Naming note:
|
|
11
|
+
* - knowledge_notes uses `valid_from` (start point) vs graph's `valid_at` (point in time)
|
|
12
|
+
* - knowledge_notes uses `supersedes` (INTEGER FK) vs graph's `superseded_by` (TEXT, legacy)
|
|
13
|
+
*/
|
|
14
|
+
export declare const migration008: Migration;
|
|
15
|
+
//# sourceMappingURL=008_knowledge_versioning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"008_knowledge_versioning.d.ts","sourceRoot":"","sources":["../../../src/storage/migrations/008_knowledge_versioning.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,SA8D1B,CAAC"}
|