@knowledgine/core 0.2.1 → 0.4.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.
Files changed (130) hide show
  1. package/dist/agents/index.d.ts +7 -0
  2. package/dist/agents/index.d.ts.map +1 -0
  3. package/dist/agents/index.js +4 -0
  4. package/dist/agents/index.js.map +1 -0
  5. package/dist/agents/observer-agent.d.ts +31 -0
  6. package/dist/agents/observer-agent.d.ts.map +1 -0
  7. package/dist/agents/observer-agent.js +164 -0
  8. package/dist/agents/observer-agent.js.map +1 -0
  9. package/dist/agents/reflector-agent.d.ts +66 -0
  10. package/dist/agents/reflector-agent.d.ts.map +1 -0
  11. package/dist/agents/reflector-agent.js +420 -0
  12. package/dist/agents/reflector-agent.js.map +1 -0
  13. package/dist/agents/types.d.ts +47 -0
  14. package/dist/agents/types.d.ts.map +1 -0
  15. package/dist/agents/types.js +2 -0
  16. package/dist/agents/types.js.map +1 -0
  17. package/dist/agents/vector-classification-rules.d.ts +14 -0
  18. package/dist/agents/vector-classification-rules.d.ts.map +1 -0
  19. package/dist/agents/vector-classification-rules.js +229 -0
  20. package/dist/agents/vector-classification-rules.js.map +1 -0
  21. package/dist/config/config-loader.d.ts +13 -0
  22. package/dist/config/config-loader.d.ts.map +1 -1
  23. package/dist/config/config-loader.js +19 -11
  24. package/dist/config/config-loader.js.map +1 -1
  25. package/dist/extraction/causal-link-detector.d.ts +16 -0
  26. package/dist/extraction/causal-link-detector.d.ts.map +1 -0
  27. package/dist/extraction/causal-link-detector.js +142 -0
  28. package/dist/extraction/causal-link-detector.js.map +1 -0
  29. package/dist/extraction/incremental-extractor.d.ts +21 -0
  30. package/dist/extraction/incremental-extractor.d.ts.map +1 -0
  31. package/dist/extraction/incremental-extractor.js +113 -0
  32. package/dist/extraction/incremental-extractor.js.map +1 -0
  33. package/dist/extraction/psp-detector.d.ts +3 -3
  34. package/dist/extraction/psp-detector.d.ts.map +1 -1
  35. package/dist/extraction/psp-detector.js +51 -3
  36. package/dist/extraction/psp-detector.js.map +1 -1
  37. package/dist/graph/entity-extractor.d.ts +1 -0
  38. package/dist/graph/entity-extractor.d.ts.map +1 -1
  39. package/dist/graph/entity-extractor.js +36 -2
  40. package/dist/graph/entity-extractor.js.map +1 -1
  41. package/dist/graph/graph-repository.d.ts +37 -5
  42. package/dist/graph/graph-repository.d.ts.map +1 -1
  43. package/dist/graph/graph-repository.js +68 -12
  44. package/dist/graph/graph-repository.js.map +1 -1
  45. package/dist/graph/temporal-query.d.ts +69 -0
  46. package/dist/graph/temporal-query.d.ts.map +1 -0
  47. package/dist/graph/temporal-query.js +172 -0
  48. package/dist/graph/temporal-query.js.map +1 -0
  49. package/dist/index.d.ts +29 -1
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +25 -0
  52. package/dist/index.js.map +1 -1
  53. package/dist/llm/errors.d.ts +8 -0
  54. package/dist/llm/errors.d.ts.map +1 -0
  55. package/dist/llm/errors.js +11 -0
  56. package/dist/llm/errors.js.map +1 -0
  57. package/dist/llm/index.d.ts +7 -0
  58. package/dist/llm/index.d.ts.map +1 -0
  59. package/dist/llm/index.js +5 -0
  60. package/dist/llm/index.js.map +1 -0
  61. package/dist/llm/ollama-provider.d.ts +13 -0
  62. package/dist/llm/ollama-provider.d.ts.map +1 -0
  63. package/dist/llm/ollama-provider.js +130 -0
  64. package/dist/llm/ollama-provider.js.map +1 -0
  65. package/dist/llm/openai-provider.d.ts +15 -0
  66. package/dist/llm/openai-provider.d.ts.map +1 -0
  67. package/dist/llm/openai-provider.js +143 -0
  68. package/dist/llm/openai-provider.js.map +1 -0
  69. package/dist/llm/provider-factory.d.ts +3 -0
  70. package/dist/llm/provider-factory.d.ts.map +1 -0
  71. package/dist/llm/provider-factory.js +25 -0
  72. package/dist/llm/provider-factory.js.map +1 -0
  73. package/dist/llm/types.d.ts +50 -0
  74. package/dist/llm/types.d.ts.map +1 -0
  75. package/dist/llm/types.js +2 -0
  76. package/dist/llm/types.js.map +1 -0
  77. package/dist/provenance/provenance-repository.d.ts +23 -22
  78. package/dist/provenance/provenance-repository.d.ts.map +1 -1
  79. package/dist/provenance/provenance-repository.js +82 -44
  80. package/dist/provenance/provenance-repository.js.map +1 -1
  81. package/dist/search/knowledge-searcher.d.ts +12 -1
  82. package/dist/search/knowledge-searcher.d.ts.map +1 -1
  83. package/dist/search/knowledge-searcher.js +93 -31
  84. package/dist/search/knowledge-searcher.js.map +1 -1
  85. package/dist/search/query-classifier.d.ts +17 -0
  86. package/dist/search/query-classifier.d.ts.map +1 -0
  87. package/dist/search/query-classifier.js +63 -0
  88. package/dist/search/query-classifier.js.map +1 -0
  89. package/dist/search/query-orchestrator.d.ts +39 -0
  90. package/dist/search/query-orchestrator.d.ts.map +1 -0
  91. package/dist/search/query-orchestrator.js +239 -0
  92. package/dist/search/query-orchestrator.js.map +1 -0
  93. package/dist/search/reasoning-reranker.d.ts +59 -0
  94. package/dist/search/reasoning-reranker.d.ts.map +1 -0
  95. package/dist/search/reasoning-reranker.js +334 -0
  96. package/dist/search/reasoning-reranker.js.map +1 -0
  97. package/dist/services/knowledge-service.d.ts +6 -0
  98. package/dist/services/knowledge-service.d.ts.map +1 -1
  99. package/dist/services/knowledge-service.js +7 -2
  100. package/dist/services/knowledge-service.js.map +1 -1
  101. package/dist/storage/database.d.ts.map +1 -1
  102. package/dist/storage/database.js +46 -6
  103. package/dist/storage/database.js.map +1 -1
  104. package/dist/storage/knowledge-repository.d.ts +65 -1
  105. package/dist/storage/knowledge-repository.d.ts.map +1 -1
  106. package/dist/storage/knowledge-repository.js +163 -9
  107. package/dist/storage/knowledge-repository.js.map +1 -1
  108. package/dist/storage/migrations/007_spec_alignment.d.ts +3 -0
  109. package/dist/storage/migrations/007_spec_alignment.d.ts.map +1 -0
  110. package/dist/storage/migrations/007_spec_alignment.js +116 -0
  111. package/dist/storage/migrations/007_spec_alignment.js.map +1 -0
  112. package/dist/storage/migrations/008_knowledge_versioning.d.ts +15 -0
  113. package/dist/storage/migrations/008_knowledge_versioning.d.ts.map +1 -0
  114. package/dist/storage/migrations/008_knowledge_versioning.js +69 -0
  115. package/dist/storage/migrations/008_knowledge_versioning.js.map +1 -0
  116. package/dist/storage/migrations/009_extraction_metadata.d.ts +12 -0
  117. package/dist/storage/migrations/009_extraction_metadata.d.ts.map +1 -0
  118. package/dist/storage/migrations/009_extraction_metadata.js +39 -0
  119. package/dist/storage/migrations/009_extraction_metadata.js.map +1 -0
  120. package/dist/storage/migrations/010_memory_protocol.d.ts +12 -0
  121. package/dist/storage/migrations/010_memory_protocol.d.ts.map +1 -0
  122. package/dist/storage/migrations/010_memory_protocol.js +26 -0
  123. package/dist/storage/migrations/010_memory_protocol.js.map +1 -0
  124. package/dist/storage/migrator.d.ts +3 -1
  125. package/dist/storage/migrator.d.ts.map +1 -1
  126. package/dist/storage/migrator.js +2 -1
  127. package/dist/storage/migrator.js.map +1 -1
  128. package/dist/types.d.ts +2 -0
  129. package/dist/types.d.ts.map +1 -1
  130. package/package.json +2 -2
@@ -17,13 +17,13 @@ export declare class ProblemSolutionDetector {
17
17
  category: string;
18
18
  confidence: number;
19
19
  }>): DetectedPair[];
20
- detectPairsAcrossNotes(_problemNote: {
20
+ detectPairsAcrossNotes(problemNote: {
21
21
  id: number;
22
22
  patterns: ExtractedPattern[];
23
- }, _solutionNote: {
23
+ }, solutionNote: {
24
24
  id: number;
25
25
  patterns: ExtractedPattern[];
26
26
  createdAt: string;
27
- }, _problemNoteCreatedAt: string): DetectedPair[];
27
+ }, problemNoteCreatedAt: string): DetectedPair[];
28
28
  }
29
29
  //# sourceMappingURL=psp-detector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"psp-detector.d.ts","sourceRoot":"","sources":["../../src/extraction/psp-detector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,uBAAuB;IAClC,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EACtE,eAAe,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,GAClF,YAAY,EAAE;IA+CjB,sBAAsB,CACpB,YAAY,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAA;KAAE,EAC1D,aAAa,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAC9E,qBAAqB,EAAE,MAAM,GAC5B,YAAY,EAAE;CAIlB"}
1
+ {"version":3,"file":"psp-detector.d.ts","sourceRoot":"","sources":["../../src/extraction/psp-detector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA0BpD,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,uBAAuB;IAClC,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EACtE,eAAe,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,GAClF,YAAY,EAAE;IA+CjB,sBAAsB,CACpB,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAA;KAAE,EACzD,YAAY,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAC7E,oBAAoB,EAAE,MAAM,GAC3B,YAAY,EAAE;CAuClB"}
@@ -1,3 +1,23 @@
1
+ /**
2
+ * 2つのテキスト間のキーワード重複率(Jaccard係数ベース)を計算する
3
+ */
4
+ function keywordOverlap(a, b) {
5
+ const tokenize = (text) => new Set(text
6
+ .toLowerCase()
7
+ .split(/\W+/)
8
+ .filter((t) => t.length > 2));
9
+ const setA = tokenize(a);
10
+ const setB = tokenize(b);
11
+ if (setA.size === 0 || setB.size === 0)
12
+ return 0;
13
+ let intersection = 0;
14
+ for (const token of setA) {
15
+ if (setB.has(token))
16
+ intersection++;
17
+ }
18
+ const union = setA.size + setB.size - intersection;
19
+ return union === 0 ? 0 : intersection / union;
20
+ }
1
21
  export class ProblemSolutionDetector {
2
22
  detectPairsInNote(noteId, patterns, classifications) {
3
23
  const pairs = [];
@@ -41,9 +61,37 @@ export class ProblemSolutionDetector {
41
61
  }
42
62
  return pairs;
43
63
  }
44
- detectPairsAcrossNotes(_problemNote, _solutionNote, _problemNoteCreatedAt) {
45
- // TODO: Implement cross-note detection in future iterations
46
- return [];
64
+ detectPairsAcrossNotes(problemNote, solutionNote, problemNoteCreatedAt) {
65
+ const MS_PER_DAY = 1000 * 60 * 60 * 24;
66
+ const MAX_TIME_DIFF_DAYS = 30;
67
+ const MIN_KEYWORD_OVERLAP = 0.3;
68
+ const timeDiff = (new Date(solutionNote.createdAt).getTime() - new Date(problemNoteCreatedAt).getTime()) /
69
+ MS_PER_DAY;
70
+ // solution must come after problem and within time window
71
+ if (timeDiff < 0 || timeDiff > MAX_TIME_DIFF_DAYS)
72
+ return [];
73
+ const problems = problemNote.patterns.filter((p) => p.type === "problem");
74
+ const solutions = solutionNote.patterns.filter((p) => p.type === "solution");
75
+ if (problems.length === 0 || solutions.length === 0)
76
+ return [];
77
+ const pairs = [];
78
+ for (const problem of problems) {
79
+ for (const solution of solutions) {
80
+ const overlap = keywordOverlap(problem.content, solution.content);
81
+ if (overlap < MIN_KEYWORD_OVERLAP)
82
+ continue;
83
+ const confidence = overlap;
84
+ pairs.push({
85
+ problemNoteId: problemNote.id,
86
+ solutionNoteId: solutionNote.id,
87
+ problemPattern: problem.content,
88
+ solutionPattern: solution.content,
89
+ timeDiff,
90
+ confidence,
91
+ });
92
+ }
93
+ }
94
+ return pairs;
47
95
  }
48
96
  }
49
97
  //# sourceMappingURL=psp-detector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"psp-detector.js","sourceRoot":"","sources":["../../src/extraction/psp-detector.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,uBAAuB;IAClC,iBAAiB,CACf,MAAc,EACd,QAAsE,EACtE,eAAmF;QAEnF,MAAM,KAAK,GAAmB,EAAE,CAAC;QAEjC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA2D,CAAC;QAC7F,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;YAC7C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrD,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC;gBACpD,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,UAAU,EAAE,cAAc,CAAC,UAAU;aACtC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAA+D,EAAE,CAAC;QAChF,MAAM,SAAS,GAA+D,EAAE,CAAC;QAEjF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,sBAAsB;gBAAE,SAAS;YAEtC,KAAK,MAAM,CAAC,IAAI,sBAAsB,EAAE,CAAC;gBACvC,IAAI,CAAC,CAAC,QAAQ,KAAK,iBAAiB,EAAE,CAAC;oBACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;gBACxF,CAAC;qBAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;oBAC3C,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;gBACzF,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;oBAC7B,KAAK,CAAC,IAAI,CAAC;wBACT,aAAa,EAAE,MAAM;wBACrB,cAAc,EAAE,MAAM;wBACtB,cAAc,EAAE,OAAO,CAAC,OAAO;wBAC/B,eAAe,EAAE,QAAQ,CAAC,OAAO;wBACjC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sBAAsB,CACpB,YAA0D,EAC1D,aAA8E,EAC9E,qBAA6B;QAE7B,4DAA4D;QAC5D,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
1
+ {"version":3,"file":"psp-detector.js","sourceRoot":"","sources":["../../src/extraction/psp-detector.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export declare class EntityExtractor {
23
23
  private extractMentions;
24
24
  private extractOrgRepos;
25
25
  private isStopWord;
26
+ private resolveEntityTypes;
26
27
  private deduplicate;
27
28
  }
28
29
  //# sourceMappingURL=entity-extractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-extractor.d.ts","sourceRoot":"","sources":["../../src/graph/entity-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;CAC1F;AAiED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAC,CAAkB;IAEhC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAUlC;IAEH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAalC;gBAES,KAAK,CAAC,EAAE,eAAe;IAInC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,eAAe,EAAE;IA0BtF,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,0BAA0B;IAclC,OAAO,CAAC,4BAA4B;IAsCpC,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,WAAW;CAUpB"}
1
+ {"version":3,"file":"entity-extractor.d.ts","sourceRoot":"","sources":["../../src/graph/entity-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;CAC1F;AA2ED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAC,CAAkB;IAEhC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAUlC;IAEH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAalC;gBAES,KAAK,CAAC,EAAE,eAAe;IAInC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,eAAe,EAAE;IA2BtF,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,0BAA0B;IAclC,OAAO,CAAC,4BAA4B;IAsCpC,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,WAAW;CAUpB"}
@@ -1,4 +1,13 @@
1
1
  import { CodeBlockDetector } from "../utils/code-block-detector.js";
2
+ const SOURCE_PRIORITY = {
3
+ frontmatter: 1, // YAML frontmatterに明記 → 最も信頼性高
4
+ whitelist: 2, // ユーザー定義のホワイトリスト
5
+ import: 3, // import文 → 技術エンティティとして確実
6
+ tag: 4, // Markdownタグ
7
+ code: 5, // コードブロック内
8
+ link: 6, // リンクテキスト
9
+ mention: 7, // 本文中のメンション → 最も曖昧
10
+ };
2
11
  /**
3
12
  * useState, useEffect などのReact hooks・ノイズキーワードのストップリスト
4
13
  */
@@ -109,6 +118,7 @@ export class EntityExtractor {
109
118
  results.push(...this.extractMentions(cleanContent));
110
119
  results.push(...this.extractOrgRepos(cleanContent));
111
120
  let deduped = this.deduplicate(results);
121
+ deduped = this.resolveEntityTypes(deduped);
112
122
  if (this.rules) {
113
123
  deduped = this.applyRules(deduped);
114
124
  }
@@ -193,9 +203,19 @@ export class EntityExtractor {
193
203
  extractImports(content) {
194
204
  const results = [];
195
205
  // import X from 'package' / import { X } from 'package' / require('package')
196
- const importRe = /(?:import\s+(?:.*?\s+from\s+)?|require\s*\(\s*)['"]([^'"./][^'"]*)['"]/g;
206
+ // Use separate patterns to avoid polynomial backtracking on user-controlled input
207
+ const fromRe = /\bfrom\s+['"]([^'"./][^'"]*)['"]/g;
208
+ const requireRe = /\brequire\s*\(\s*['"]([^'"./][^'"]*)['"]\s*\)/g;
209
+ const seen = new Set();
197
210
  let m;
198
- while ((m = importRe.exec(content)) !== null) {
211
+ while ((m = fromRe.exec(content)) !== null) {
212
+ const pkg = m[1].split("/")[0];
213
+ if (!pkg || this.isStopWord(pkg) || seen.has(pkg))
214
+ continue;
215
+ seen.add(pkg);
216
+ results.push({ name: pkg.toLowerCase(), entityType: "technology", sourceType: "import" });
217
+ }
218
+ while ((m = requireRe.exec(content)) !== null) {
199
219
  const pkg = m[1].split("/")[0]; // @scope/pkg → @scope/pkg, lodash/fp → lodash
200
220
  if (!pkg || this.isStopWord(pkg))
201
221
  continue;
@@ -271,6 +291,20 @@ export class EntityExtractor {
271
291
  isStopWord(word) {
272
292
  return STOP_LIST.has(word.toLowerCase());
273
293
  }
294
+ resolveEntityTypes(entities) {
295
+ const byName = new Map();
296
+ for (const e of entities) {
297
+ const key = e.name.toLowerCase();
298
+ const group = byName.get(key) ?? [];
299
+ group.push(e);
300
+ byName.set(key, group);
301
+ }
302
+ return Array.from(byName.values()).map((group) => {
303
+ if (group.length === 1)
304
+ return group[0];
305
+ return group.sort((a, b) => SOURCE_PRIORITY[a.sourceType] - SOURCE_PRIORITY[b.sourceType])[0];
306
+ });
307
+ }
274
308
  deduplicate(entities) {
275
309
  const seen = new Map();
276
310
  for (const e of entities) {
@@ -1 +1 @@
1
- {"version":3,"file":"entity-extractor.js","sourceRoot":"","sources":["../../src/graph/entity-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-extractor.js","sourceRoot":"","sources":["../../src/graph/entity-extractor.ts"],"names":[],"mappings":"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"}
@@ -59,14 +59,46 @@ export declare class GraphRepository {
59
59
  entitiesByType: Record<string, number>;
60
60
  relationsByType: Record<string, number>;
61
61
  };
62
- invalidateRelation(id: number, validTo?: string): boolean;
63
- invalidateObservation(id: number, validTo?: string): boolean;
62
+ invalidateRelation(id: number, invalidAt?: string): boolean;
63
+ invalidateObservation(id: number, invalidAt?: string): boolean;
64
64
  getRelationHistory(fromEntityId: number, toEntityId: number): Array<Relation & {
65
65
  id: number;
66
- validFrom: string | null;
67
- validTo: string | null;
66
+ validAt: string | null;
67
+ invalidAt: string | null;
68
68
  recordedAt: string | null;
69
- supersededAt: string | null;
69
+ supersededBy: string | null;
70
+ }>;
71
+ /**
72
+ * 指定時点で有効なrelationを取得する。
73
+ * valid_at <= asOf かつ invalid_at > asOf (または invalid_at IS NULL) の条件で絞り込む。
74
+ */
75
+ getRelationsAsOf(entityId: number, asOf: string): Array<Relation & {
76
+ id: number;
77
+ }>;
78
+ /**
79
+ * 指定時点で有効なobservationを取得する。
80
+ * valid_at <= asOf かつ invalid_at > asOf (または invalid_at IS NULL) の条件で絞り込む。
81
+ */
82
+ getObservationsAsOf(entityId: number, asOf: string): Array<Observation & {
83
+ id: number;
84
+ }>;
85
+ /**
86
+ * エンティティに関連する全observation(invalidated含む)を取得する。
87
+ * タイムライン取得に使用する。
88
+ */
89
+ getAllObservationsForEntity(entityId: number): Array<Observation & {
90
+ id: number;
91
+ validAt: string | null;
92
+ invalidAt: string | null;
93
+ }>;
94
+ /**
95
+ * エンティティに関連する全relation(invalidated含む)を取得する。
96
+ * タイムライン取得に使用する。
97
+ */
98
+ getAllRelationsForEntity(entityId: number): Array<Relation & {
99
+ id: number;
100
+ validAt: string | null;
101
+ invalidAt: string | null;
70
102
  }>;
71
103
  }
72
104
  //# sourceMappingURL=graph-repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph-repository.d.ts","sourceRoot":"","sources":["../../src/graph/graph-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-repository.d.ts","sourceRoot":"","sources":["../../src/graph/graph-repository.ts"],"names":[],"mappings":"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"}
@@ -153,7 +153,7 @@ export class GraphRepository {
153
153
  try {
154
154
  const now = new Date().toISOString();
155
155
  const stmt = this.db.prepare(`
156
- INSERT INTO relations (from_entity_id, to_entity_id, relation_type, strength, description, created_at, valid_from, recorded_at)
156
+ INSERT INTO relations (from_entity_id, to_entity_id, relation_type, strength, description, created_at, valid_at, recorded_at)
157
157
  VALUES (?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'))
158
158
  `);
159
159
  const info = stmt.run(relation.fromEntityId, relation.toEntityId, relation.relationType, relation.strength ?? 1.0, relation.description ?? null, relation.createdAt || now);
@@ -175,7 +175,7 @@ export class GraphRepository {
175
175
  const strength = relation.strength ?? 1.0;
176
176
  const insertStmt = this.db.prepare(`
177
177
  INSERT OR IGNORE INTO relations
178
- (from_entity_id, to_entity_id, relation_type, strength, description, created_at, valid_from, recorded_at)
178
+ (from_entity_id, to_entity_id, relation_type, strength, description, created_at, valid_at, recorded_at)
179
179
  VALUES (?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'))
180
180
  `);
181
181
  insertStmt.run(relation.fromEntityId, relation.toEntityId, relation.relationType, strength, relation.description ?? null, relation.createdAt || now);
@@ -218,7 +218,7 @@ export class GraphRepository {
218
218
  const now = new Date().toISOString();
219
219
  const stmt = this.db.prepare(`
220
220
  INSERT INTO observations
221
- (entity_id, content, observation_type, confidence, source_note_id, source_pattern_id, created_at, metadata_json, valid_from, recorded_at)
221
+ (entity_id, content, observation_type, confidence, source_note_id, source_pattern_id, created_at, metadata_json, valid_at, recorded_at)
222
222
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'))
223
223
  `);
224
224
  const info = stmt.run(observation.entityId, observation.content, observation.observationType, observation.confidence ?? null, observation.sourceNoteId ?? null, observation.sourcePatternId ?? null, observation.createdAt || now, observation.metadata ? JSON.stringify(observation.metadata) : null);
@@ -404,22 +404,22 @@ export class GraphRepository {
404
404
  return { totalEntities, totalRelations, totalObservations, entitiesByType, relationsByType };
405
405
  }
406
406
  // ── Bi-temporal Operations ────────────────────────────────────
407
- invalidateRelation(id, validTo) {
407
+ invalidateRelation(id, invalidAt) {
408
408
  try {
409
409
  const info = this.db
410
- .prepare(`UPDATE relations SET valid_to = COALESCE(?, datetime('now')) WHERE id = ? AND valid_to IS NULL`)
411
- .run(validTo ?? null, id);
410
+ .prepare(`UPDATE relations SET invalid_at = COALESCE(?, datetime('now')) WHERE id = ? AND invalid_at IS NULL`)
411
+ .run(invalidAt ?? null, id);
412
412
  return info.changes > 0;
413
413
  }
414
414
  catch (error) {
415
415
  throw new DatabaseError("invalidateRelation", error, { id });
416
416
  }
417
417
  }
418
- invalidateObservation(id, validTo) {
418
+ invalidateObservation(id, invalidAt) {
419
419
  try {
420
420
  const info = this.db
421
- .prepare(`UPDATE observations SET valid_to = COALESCE(?, datetime('now')) WHERE id = ? AND valid_to IS NULL`)
422
- .run(validTo ?? null, id);
421
+ .prepare(`UPDATE observations SET invalid_at = COALESCE(?, datetime('now')) WHERE id = ? AND invalid_at IS NULL`)
422
+ .run(invalidAt ?? null, id);
423
423
  return info.changes > 0;
424
424
  }
425
425
  catch (error) {
@@ -432,10 +432,66 @@ export class GraphRepository {
432
432
  .all(fromEntityId, toEntityId);
433
433
  return rows.map((row) => ({
434
434
  ...rowToRelation(row),
435
- validFrom: row.valid_from,
436
- validTo: row.valid_to,
435
+ validAt: row.valid_at,
436
+ invalidAt: row.invalid_at,
437
437
  recordedAt: row.recorded_at,
438
- supersededAt: row.superseded_at,
438
+ supersededBy: row.superseded_by,
439
+ }));
440
+ }
441
+ /**
442
+ * 指定時点で有効なrelationを取得する。
443
+ * valid_at <= asOf かつ invalid_at > asOf (または invalid_at IS NULL) の条件で絞り込む。
444
+ */
445
+ getRelationsAsOf(entityId, asOf) {
446
+ const rows = this.db
447
+ .prepare(`SELECT * FROM relations
448
+ WHERE (from_entity_id = ? OR to_entity_id = ?)
449
+ AND (valid_at IS NULL OR valid_at <= ?)
450
+ AND (invalid_at IS NULL OR invalid_at > ?)
451
+ ORDER BY strength DESC`)
452
+ .all(entityId, entityId, asOf, asOf);
453
+ return rows.map(rowToRelation);
454
+ }
455
+ /**
456
+ * 指定時点で有効なobservationを取得する。
457
+ * valid_at <= asOf かつ invalid_at > asOf (または invalid_at IS NULL) の条件で絞り込む。
458
+ */
459
+ getObservationsAsOf(entityId, asOf) {
460
+ const rows = this.db
461
+ .prepare(`SELECT * FROM observations
462
+ WHERE entity_id = ?
463
+ AND (valid_at IS NULL OR valid_at <= ?)
464
+ AND (invalid_at IS NULL OR invalid_at > ?)
465
+ ORDER BY created_at DESC`)
466
+ .all(entityId, asOf, asOf);
467
+ return rows.map(rowToObservation);
468
+ }
469
+ /**
470
+ * エンティティに関連する全observation(invalidated含む)を取得する。
471
+ * タイムライン取得に使用する。
472
+ */
473
+ getAllObservationsForEntity(entityId) {
474
+ const rows = this.db
475
+ .prepare(`SELECT * FROM observations WHERE entity_id = ? ORDER BY created_at ASC`)
476
+ .all(entityId);
477
+ return rows.map((row) => ({
478
+ ...rowToObservation(row),
479
+ validAt: row.valid_at,
480
+ invalidAt: row.invalid_at,
481
+ }));
482
+ }
483
+ /**
484
+ * エンティティに関連する全relation(invalidated含む)を取得する。
485
+ * タイムライン取得に使用する。
486
+ */
487
+ getAllRelationsForEntity(entityId) {
488
+ const rows = this.db
489
+ .prepare(`SELECT * FROM relations WHERE from_entity_id = ? OR to_entity_id = ? ORDER BY created_at ASC`)
490
+ .all(entityId, entityId);
491
+ return rows.map((row) => ({
492
+ ...rowToRelation(row),
493
+ validAt: row.valid_at,
494
+ invalidAt: row.invalid_at,
439
495
  }));
440
496
  }
441
497
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graph-repository.js","sourceRoot":"","sources":["../../src/graph/graph-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-repository.js","sourceRoot":"","sources":["../../src/graph/graph-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import type { GraphRepository } from "./graph-repository.js";
2
+ import type { KnowledgeRepository, KnowledgeNote } from "../storage/knowledge-repository.js";
3
+ import type { Entity, Relation, Observation } from "../types.js";
4
+ export interface PointInTimeQuery {
5
+ entityId?: number;
6
+ entityName?: string;
7
+ asOf: string;
8
+ includeHistory?: boolean;
9
+ }
10
+ export interface TemporalQueryResult {
11
+ entity: Entity & {
12
+ id: number;
13
+ };
14
+ observations: Array<Observation & {
15
+ id: number;
16
+ }>;
17
+ relations: Array<Relation & {
18
+ id: number;
19
+ }>;
20
+ noteVersions: KnowledgeNote[];
21
+ }
22
+ export interface TemporalTimelineEntry {
23
+ timestamp: string;
24
+ type: "observation" | "relation" | "note_version";
25
+ content: string;
26
+ validAt: string | null;
27
+ invalidAt: string | null;
28
+ }
29
+ /**
30
+ * Temporal Query Engine
31
+ *
32
+ * bi-temporal属性(valid_at, invalid_at)を活用した
33
+ * Point-in-Time QueryとEntity Timeline機能を提供する。
34
+ */
35
+ export declare class TemporalQueryEngine {
36
+ private graphRepository;
37
+ private repository;
38
+ constructor(graphRepository: GraphRepository, repository: KnowledgeRepository);
39
+ /**
40
+ * 指定時点のエンティティ状態を復元する。
41
+ *
42
+ * entityIdまたはentityNameでエンティティを特定し、
43
+ * 指定時点(asOf)で有効だったrelation/observation/noteを返す。
44
+ */
45
+ queryAsOf(query: PointInTimeQuery): TemporalQueryResult | undefined;
46
+ /**
47
+ * エンティティの時系列変遷を取得する。
48
+ *
49
+ * invalidatedされたrelation/observationも含む全履歴を
50
+ * 時系列順(昇順)で返す。
51
+ */
52
+ getEntityTimeline(entityId: number): TemporalTimelineEntry[];
53
+ /**
54
+ * ノートのバージョン履歴チェーンを辿る。
55
+ *
56
+ * 指定noteIdから、supersedes フィールドを辿って古いバージョンを遡り、
57
+ * 逆方向(新しいバージョン)も検索して全バージョンをバージョン番号順で返す。
58
+ */
59
+ getVersionChain(noteId: number): KnowledgeNote[];
60
+ /**
61
+ * ノートIDリストからバージョン条件に合うノートを取得する。
62
+ */
63
+ private fetchNoteVersions;
64
+ /**
65
+ * 未来方向のバージョンを再帰的に辿る(新しいバージョンを検索)。
66
+ */
67
+ private traverseForwardVersions;
68
+ }
69
+ //# sourceMappingURL=temporal-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temporal-query.d.ts","sourceRoot":"","sources":["../../src/graph/temporal-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAC7F,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,YAAY,EAAE,KAAK,CAAC,WAAW,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,SAAS,EAAE,KAAK,CAAC,QAAQ,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5C,YAAY,EAAE,aAAa,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,aAAa,GAAG,UAAU,GAAG,cAAc,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,UAAU;gBADV,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,mBAAmB;IAGzC;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,SAAS;IAqCnE;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,EAAE;IA0C5D;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE;IAqChD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAoBhC"}