@mcp-graph-workflow/mcp-graph 5.7.0 → 5.9.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 (93) hide show
  1. package/dist/core/code/code-types.d.ts +3 -3
  2. package/dist/core/context/rag-context.d.ts.map +1 -1
  3. package/dist/core/context/rag-context.js +9 -5
  4. package/dist/core/context/rag-context.js.map +1 -1
  5. package/dist/core/integrations/integration-orchestrator.d.ts.map +1 -1
  6. package/dist/core/integrations/integration-orchestrator.js +2 -0
  7. package/dist/core/integrations/integration-orchestrator.js.map +1 -1
  8. package/dist/core/rag/entity-extractor.d.ts +30 -0
  9. package/dist/core/rag/entity-extractor.d.ts.map +1 -0
  10. package/dist/core/rag/entity-extractor.js +224 -0
  11. package/dist/core/rag/entity-extractor.js.map +1 -0
  12. package/dist/core/rag/entity-index-hook.d.ts +25 -0
  13. package/dist/core/rag/entity-index-hook.d.ts.map +1 -0
  14. package/dist/core/rag/entity-index-hook.js +75 -0
  15. package/dist/core/rag/entity-index-hook.js.map +1 -0
  16. package/dist/core/rag/entity-indexer.d.ts +33 -0
  17. package/dist/core/rag/entity-indexer.d.ts.map +1 -0
  18. package/dist/core/rag/entity-indexer.js +91 -0
  19. package/dist/core/rag/entity-indexer.js.map +1 -0
  20. package/dist/core/rag/entity-store.d.ts +91 -0
  21. package/dist/core/rag/entity-store.d.ts.map +1 -0
  22. package/dist/core/rag/entity-store.js +395 -0
  23. package/dist/core/rag/entity-store.js.map +1 -0
  24. package/dist/core/rag/multi-strategy-retrieval.d.ts.map +1 -1
  25. package/dist/core/rag/multi-strategy-retrieval.js +49 -3
  26. package/dist/core/rag/multi-strategy-retrieval.js.map +1 -1
  27. package/dist/core/rag/node-indexer.d.ts +26 -0
  28. package/dist/core/rag/node-indexer.d.ts.map +1 -0
  29. package/dist/core/rag/node-indexer.js +108 -0
  30. package/dist/core/rag/node-indexer.js.map +1 -0
  31. package/dist/core/rag/query-understanding.d.ts +23 -0
  32. package/dist/core/rag/query-understanding.d.ts.map +1 -1
  33. package/dist/core/rag/query-understanding.js +85 -0
  34. package/dist/core/rag/query-understanding.js.map +1 -1
  35. package/dist/core/store/migrations.d.ts.map +1 -1
  36. package/dist/core/store/migrations.js +51 -0
  37. package/dist/core/store/migrations.js.map +1 -1
  38. package/dist/mcp/tools/clone-node.d.ts.map +1 -1
  39. package/dist/mcp/tools/clone-node.js +5 -0
  40. package/dist/mcp/tools/clone-node.js.map +1 -1
  41. package/dist/mcp/tools/import-graph.d.ts.map +1 -1
  42. package/dist/mcp/tools/import-graph.js +14 -0
  43. package/dist/mcp/tools/import-graph.js.map +1 -1
  44. package/dist/mcp/tools/import-prd.d.ts.map +1 -1
  45. package/dist/mcp/tools/import-prd.js +2 -0
  46. package/dist/mcp/tools/import-prd.js.map +1 -1
  47. package/dist/mcp/tools/journey.d.ts.map +1 -1
  48. package/dist/mcp/tools/journey.js +2 -0
  49. package/dist/mcp/tools/journey.js.map +1 -1
  50. package/dist/mcp/tools/manage-skill.d.ts.map +1 -1
  51. package/dist/mcp/tools/manage-skill.js +3 -0
  52. package/dist/mcp/tools/manage-skill.js.map +1 -1
  53. package/dist/mcp/tools/memory.d.ts.map +1 -1
  54. package/dist/mcp/tools/memory.js +2 -0
  55. package/dist/mcp/tools/memory.js.map +1 -1
  56. package/dist/mcp/tools/node.d.ts.map +1 -1
  57. package/dist/mcp/tools/node.js +4 -0
  58. package/dist/mcp/tools/node.js.map +1 -1
  59. package/dist/mcp/tools/plan-sprint.d.ts.map +1 -1
  60. package/dist/mcp/tools/plan-sprint.js +3 -1
  61. package/dist/mcp/tools/plan-sprint.js.map +1 -1
  62. package/dist/mcp/tools/rag-context.d.ts +2 -0
  63. package/dist/mcp/tools/rag-context.d.ts.map +1 -1
  64. package/dist/mcp/tools/rag-context.js +127 -9
  65. package/dist/mcp/tools/rag-context.js.map +1 -1
  66. package/dist/mcp/tools/reindex-knowledge.d.ts.map +1 -1
  67. package/dist/mcp/tools/reindex-knowledge.js +44 -1
  68. package/dist/mcp/tools/reindex-knowledge.js.map +1 -1
  69. package/dist/mcp/tools/siebel-import-docs.d.ts.map +1 -1
  70. package/dist/mcp/tools/siebel-import-docs.js +3 -0
  71. package/dist/mcp/tools/siebel-import-docs.js.map +1 -1
  72. package/dist/mcp/tools/siebel-import-sif.d.ts.map +1 -1
  73. package/dist/mcp/tools/siebel-import-sif.js +2 -0
  74. package/dist/mcp/tools/siebel-import-sif.js.map +1 -1
  75. package/dist/mcp/tools/sync-stack-docs.d.ts.map +1 -1
  76. package/dist/mcp/tools/sync-stack-docs.js +2 -0
  77. package/dist/mcp/tools/sync-stack-docs.js.map +1 -1
  78. package/dist/mcp/tools/update-status.d.ts.map +1 -1
  79. package/dist/mcp/tools/update-status.js +2 -0
  80. package/dist/mcp/tools/update-status.js.map +1 -1
  81. package/dist/mcp/tools/validate.d.ts.map +1 -1
  82. package/dist/mcp/tools/validate.js +3 -0
  83. package/dist/mcp/tools/validate.js.map +1 -1
  84. package/dist/schemas/entity.schema.d.ts +80 -0
  85. package/dist/schemas/entity.schema.d.ts.map +1 -0
  86. package/dist/schemas/entity.schema.js +56 -0
  87. package/dist/schemas/entity.schema.js.map +1 -0
  88. package/dist/schemas/knowledge.schema.d.ts +2 -0
  89. package/dist/schemas/knowledge.schema.d.ts.map +1 -1
  90. package/dist/schemas/knowledge.schema.js +1 -1
  91. package/dist/schemas/knowledge.schema.js.map +1 -1
  92. package/dist/schemas/siebel.schema.d.ts +5 -5
  93. package/package.json +2 -2
@@ -15,9 +15,9 @@ export declare const SymbolKindSchema: z.ZodEnum<{
15
15
  export type SymbolKind = z.infer<typeof SymbolKindSchema>;
16
16
  export declare const RelationTypeSchema: z.ZodEnum<{
17
17
  implements: "implements";
18
+ extends: "extends";
18
19
  calls: "calls";
19
20
  imports: "imports";
20
- extends: "extends";
21
21
  belongs_to: "belongs_to";
22
22
  }>;
23
23
  export type CodeRelationType = z.infer<typeof RelationTypeSchema>;
@@ -57,9 +57,9 @@ export declare const CodeRelationSchema: z.ZodObject<{
57
57
  toSymbol: z.ZodString;
58
58
  type: z.ZodEnum<{
59
59
  implements: "implements";
60
+ extends: "extends";
60
61
  calls: "calls";
61
62
  imports: "imports";
62
- extends: "extends";
63
63
  belongs_to: "belongs_to";
64
64
  }>;
65
65
  file: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -98,9 +98,9 @@ export declare const CodeGraphDataSchema: z.ZodObject<{
98
98
  toSymbol: z.ZodString;
99
99
  type: z.ZodEnum<{
100
100
  implements: "implements";
101
+ extends: "extends";
101
102
  calls: "calls";
102
103
  imports: "imports";
103
- extends: "extends";
104
104
  belongs_to: "belongs_to";
105
105
  }>;
106
106
  file: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -1 +1 @@
1
- {"version":3,"file":"rag-context.d.ts","sourceRoot":"","sources":["../../../src/core/context/rag-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAI1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,MAA6B,EAC1C,KAAK,CAAC,EAAE,cAAc,GACrB,UAAU,CAwIZ"}
1
+ {"version":3,"file":"rag-context.d.ts","sourceRoot":"","sources":["../../../src/core/context/rag-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAK1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,MAA6B,EAC1C,KAAK,CAAC,EAAE,cAAc,GACrB,UAAU,CA4IZ"}
@@ -6,6 +6,7 @@ import { KnowledgeStore } from "../store/knowledge-store.js";
6
6
  import { searchNodes } from "../search/fts-search.js";
7
7
  import { buildTaskContext } from "./compact-context.js";
8
8
  import { estimateTokens } from "./token-estimator.js";
9
+ import { understandQuery } from "../rag/query-understanding.js";
9
10
  import { DEFAULT_TOKEN_BUDGET } from "../utils/constants.js";
10
11
  import { logger } from "../utils/logger.js";
11
12
  /**
@@ -17,9 +18,12 @@ import { logger } from "../utils/logger.js";
17
18
  * 4. Manage token budget to stay within limits
18
19
  */
19
20
  export function ragBuildContext(store, query, tokenBudget = DEFAULT_TOKEN_BUDGET, phase) {
20
- logger.info(`RAG context: query="${query}", budget=${tokenBudget} tokens, phase=${phase ?? "none"}`);
21
+ // Query understanding: rewrite query for better FTS matching
22
+ const understanding = understandQuery(query);
23
+ const effectiveQuery = understanding.rewrittenQuery || query;
24
+ logger.info(`RAG context: query="${query}", effective="${effectiveQuery}", budget=${tokenBudget} tokens, phase=${phase ?? "none"}, intent=${understanding.intent}`);
21
25
  // Stage 1: Search for relevant nodes with TF-IDF reranking + substring fallback
22
- let searchResults = searchNodes(store, query, { limit: 10, rerank: true });
26
+ let searchResults = searchNodes(store, effectiveQuery, { limit: 10, rerank: true });
23
27
  // Fallback: if FTS returns nothing, try substring match
24
28
  if (searchResults.length === 0) {
25
29
  logger.debug("RAG FTS returned 0 results, falling back to substring search");
@@ -62,7 +66,7 @@ export function ragBuildContext(store, query, tokenBudget = DEFAULT_TOKEN_BUDGET
62
66
  let kResults;
63
67
  try {
64
68
  if (phase) {
65
- const phaseResults = knowledgeStore.searchWithPhaseBoost(query, phase, 10);
69
+ const phaseResults = knowledgeStore.searchWithPhaseBoost(effectiveQuery, phase, 10);
66
70
  // Apply quality weighting on top of phase-boosted results
67
71
  kResults = phaseResults.map((r) => ({
68
72
  ...r,
@@ -70,12 +74,12 @@ export function ragBuildContext(store, query, tokenBudget = DEFAULT_TOKEN_BUDGET
70
74
  }));
71
75
  }
72
76
  else {
73
- kResults = knowledgeStore.searchWithQuality(query, 10);
77
+ kResults = knowledgeStore.searchWithQuality(effectiveQuery, 10);
74
78
  }
75
79
  }
76
80
  catch {
77
81
  // Fall back to basic search if quality columns not yet available
78
- kResults = knowledgeStore.search(query, 10);
82
+ kResults = knowledgeStore.search(effectiveQuery, 10);
79
83
  }
80
84
  knowledgeResults = kResults.slice(0, 5).map((r) => ({
81
85
  id: r.id,
@@ -1 +1 @@
1
- {"version":3,"file":"rag-context.js","sourceRoot":"","sources":["../../../src/core/context/rag-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAoB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAkC5C;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAkB,EAClB,KAAa,EACb,cAAsB,oBAAoB,EAC1C,KAAsB;IAEtB,MAAM,CAAC,IAAI,CAAC,uBAAuB,KAAK,aAAa,WAAW,kBAAkB,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC;IAErG,gFAAgF;IAChF,IAAI,aAAa,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3E,wDAAwD;IACxD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,QAAQ;qBACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACZ,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACf,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACjC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAChD,CACF;qBACA,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChB,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAqB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9D,MAAM,OAAO,GAAmB;YAC9B,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;YACb,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACjB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;YACnB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;YACrB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI;SACzC,CAAC;QACF,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACjE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM;YAAE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,IAAI,gBAAgB,GAAuB,EAAE,CAAC;IAC9C,IAAI,CAAC;QACH,yFAAyF;QACzF,IAAI,QAAkG,CAAC;QACvG,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,YAAY,GAAG,cAAc,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC3E,0DAA0D;gBAC1D,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAClC,GAAG,CAAC;oBACJ,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAsB,IAAK,CAA6B,CAAC,YAAsB,IAAI,CAAC,CAAC;iBACpH,CAAC,CAAC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,cAAc,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;YACjE,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClD,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;YAC7E,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI;SACzC,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;QACnE,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACtE,CAAC;IAED,mFAAmF;IACnF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,gBAAgB,GAAG,aAAa;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;aAC5B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACd,EAAE,EAAE,YAAY,CAAC,EAAE;YACnB,UAAU,EAAE,cAAc;YAC1B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,OAAO,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK;YACjC,KAAK,EAAE,GAAG;SACX,CAAC,CAAC,CAAC;IACR,CAAC;IAED,wDAAwD;IACxD,MAAM,gBAAgB,GAAkB,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC/E,IAAI,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAE7C,wEAAwE;IACxE,IAAI,UAAU,GAAG,WAAW,EAAE,CAAC;QAC7B,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,UAAU,IAAI,WAAW;gBAAE,MAAM;YAErC,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC;YAC9C,IAAI,UAAU,GAAG,SAAS,GAAG,WAAW,EAAE,CAAC;gBACzC,mEAAmE;gBACnE,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAClC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC3B,UAAU,IAAI,SAAS,CAAC;gBAC1B,CAAC;gBACD,MAAM;YACR,CAAC;YAED,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,UAAU,IAAI,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAEvD,MAAM,CAAC,IAAI,CACT,sBAAsB,aAAa,CAAC,MAAM,WAAW,gBAAgB,CAAC,MAAM,eAAe,gBAAgB,CAAC,MAAM,cAAc,UAAU,IAAI,WAAW,SAAS,CACnK,CAAC;IAEF,OAAO;QACL,KAAK;QACL,aAAa;QACb,gBAAgB;QAChB,gBAAgB;QAChB,UAAU,EAAE;YACV,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,YAAY;YAClB,SAAS,EAAE,WAAW,GAAG,YAAY;SACtC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"rag-context.js","sourceRoot":"","sources":["../../../src/core/context/rag-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAoB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAkC5C;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAkB,EAClB,KAAa,EACb,cAAsB,oBAAoB,EAC1C,KAAsB;IAEtB,6DAA6D;IAC7D,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,IAAI,KAAK,CAAC;IAE7D,MAAM,CAAC,IAAI,CAAC,uBAAuB,KAAK,iBAAiB,cAAc,aAAa,WAAW,kBAAkB,KAAK,IAAI,MAAM,YAAY,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IAEpK,gFAAgF;IAChF,IAAI,aAAa,GAAG,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpF,wDAAwD;IACxD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,QAAQ;qBACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACZ,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACf,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACjC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAChD,CACF;qBACA,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChB,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAqB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9D,MAAM,OAAO,GAAmB;YAC9B,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;YACb,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACjB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;YACnB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;YACrB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI;SACzC,CAAC;QACF,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACjE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM;YAAE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,IAAI,gBAAgB,GAAuB,EAAE,CAAC;IAC9C,IAAI,CAAC;QACH,yFAAyF;QACzF,IAAI,QAAkG,CAAC;QACvG,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,YAAY,GAAG,cAAc,CAAC,oBAAoB,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBACpF,0DAA0D;gBAC1D,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAClC,GAAG,CAAC;oBACJ,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAsB,IAAK,CAA6B,CAAC,YAAsB,IAAI,CAAC,CAAC;iBACpH,CAAC,CAAC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,cAAc,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;YACjE,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClD,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;YAC7E,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI;SACzC,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;QACnE,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACtE,CAAC;IAED,mFAAmF;IACnF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,gBAAgB,GAAG,aAAa;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;aAC5B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACd,EAAE,EAAE,YAAY,CAAC,EAAE;YACnB,UAAU,EAAE,cAAc;YAC1B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,OAAO,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK;YACjC,KAAK,EAAE,GAAG;SACX,CAAC,CAAC,CAAC;IACR,CAAC;IAED,wDAAwD;IACxD,MAAM,gBAAgB,GAAkB,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC/E,IAAI,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAE7C,wEAAwE;IACxE,IAAI,UAAU,GAAG,WAAW,EAAE,CAAC;QAC7B,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,UAAU,IAAI,WAAW;gBAAE,MAAM;YAErC,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC;YAC9C,IAAI,UAAU,GAAG,SAAS,GAAG,WAAW,EAAE,CAAC;gBACzC,mEAAmE;gBACnE,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAClC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC3B,UAAU,IAAI,SAAS,CAAC;gBAC1B,CAAC;gBACD,MAAM;YACR,CAAC;YAED,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,UAAU,IAAI,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAEvD,MAAM,CAAC,IAAI,CACT,sBAAsB,aAAa,CAAC,MAAM,WAAW,gBAAgB,CAAC,MAAM,eAAe,gBAAgB,CAAC,MAAM,cAAc,UAAU,IAAI,WAAW,SAAS,CACnK,CAAC;IAEF,OAAO;QACL,KAAK;QACL,aAAa;QACb,gBAAgB;QAChB,gBAAgB;QAChB,UAAU,EAAE;YACV,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,YAAY;YAClB,SAAS,EAAE,WAAW,GAAG,YAAY;SACtC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"integration-orchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/integrations/integration-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAQ5D,MAAM,WAAW,mBAAmB;IAClC,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAwC;gBAGtD,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,mBAAmB;IAU/B;;OAEG;IACH,QAAQ,IAAI,IAAI;IA2BhB;;OAEG;IACH,WAAW,IAAI,iBAAiB,EAAE;IAelC;;OAEG;YACW,iBAAiB;IAoC/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,YAAY;CAQrB"}
1
+ {"version":3,"file":"integration-orchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/integrations/integration-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAS5D,MAAM,WAAW,mBAAmB;IAClC,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAwC;gBAGtD,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,mBAAmB;IAU/B;;OAEG;IACH,QAAQ,IAAI,IAAI;IA2BhB;;OAEG;IACH,WAAW,IAAI,iBAAiB,EAAE;IAelC;;OAEG;YACW,iBAAiB;IAqC/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,YAAY;CAQrB"}
@@ -12,6 +12,7 @@ import { DocsCacheStore } from "../docs/docs-cache-store.js";
12
12
  import { EmbeddingStore } from "../rag/embedding-store.js";
13
13
  import { indexCachedDocs } from "../rag/docs-indexer.js";
14
14
  import { indexAllEmbeddings } from "../rag/rag-pipeline.js";
15
+ import { indexEntitiesForSource } from "../rag/entity-index-hook.js";
15
16
  import { logger } from "../utils/logger.js";
16
17
  export class IntegrationOrchestrator {
17
18
  store;
@@ -76,6 +77,7 @@ export class IntegrationOrchestrator {
76
77
  const docsCacheStore = new DocsCacheStore(this.store.getDb());
77
78
  // Re-index docs cache
78
79
  const docsResult = indexCachedDocs(knowledgeStore, docsCacheStore);
80
+ indexEntitiesForSource(this.store.getDb(), "docs");
79
81
  // Rebuild embeddings
80
82
  const embeddingStore = new EmbeddingStore(this.store);
81
83
  embeddingStore.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"integration-orchestrator.js","sourceRoot":"","sources":["../../../src/core/integrations/integration-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAiB5C,MAAM,OAAO,uBAAuB;IAC1B,KAAK,CAAc;IACnB,QAAQ,CAAgB;IACxB,QAAQ,CAAS;IACjB,WAAW,CAAU;IACrB,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;IAExD,YACE,KAAkB,EAClB,QAAuB,EACvB,OAA6B;QAE7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC;QAEhD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC7C,KAAK,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC9C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE;YAChD,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,KAAK,EAAE,EAAE;YACnD,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE;YACjD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,WAAW;QACT,0BAA0B;QAC1B,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,CAAU,CAAC;QAEpI,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,KAAiB;QAC/C,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAEzE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9D,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAE9D,sBAAsB;YACtB,MAAM,UAAU,GAAG,eAAe,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAEnE,qBAAqB;YACrB,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAEvE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAElC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,mBAAmB,EAAE;gBAC3C,MAAM,EAAE,gBAAgB;gBACxB,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,SAAS;aACtF,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;gBAC5C,WAAW,EAAE,UAAU,CAAC,gBAAgB;gBACxC,cAAc,EAAE,SAAS,CAAC,KAAK;gBAC/B,kBAAkB,EAAE,SAAS,CAAC,SAAS;aACxC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,KAAiB;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACpG,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,KAAiB;QAC3C,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,KAAiB;QAC9C,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,KAAiB;QAC5C,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5E,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACzG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAEO,YAAY;QAClB,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,CAAU,CAAC;QACpI,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAE9D,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE;gBACpB,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,MAAc,EAAE,MAAmC,EAAE,KAAc;QACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;YACzB,QAAQ,CAAC,QAAQ,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrF,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"integration-orchestrator.js","sourceRoot":"","sources":["../../../src/core/integrations/integration-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Entity Extractor — heuristic-based extraction of entities and relations
3
+ * from text content. No LLM dependency, uses regex patterns and
4
+ * domain-specific dictionaries.
5
+ *
6
+ * Extends the basic extractEntities from enrichment-pipeline.ts with
7
+ * richer type classification and relation detection.
8
+ */
9
+ import type { EntityType, EntityRelationType } from "../../schemas/entity.schema.js";
10
+ export interface ExtractedEntity {
11
+ name: string;
12
+ type: EntityType;
13
+ }
14
+ export interface ExtractedRelation {
15
+ fromName: string;
16
+ toName: string;
17
+ relationType: EntityRelationType;
18
+ weight: number;
19
+ }
20
+ /**
21
+ * Extract entities from text using heuristic patterns.
22
+ * Returns deduplicated list of entities with type classification.
23
+ */
24
+ export declare function extractEntitiesFromText(text: string): ExtractedEntity[];
25
+ /**
26
+ * Extract relations between known entities from text.
27
+ * Uses pattern matching on sentences containing entity names.
28
+ */
29
+ export declare function extractRelationsFromText(text: string, entities: ExtractedEntity[]): ExtractedRelation[];
30
+ //# sourceMappingURL=entity-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-extractor.d.ts","sourceRoot":"","sources":["../../../src/core/rag/entity-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIrF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,kBAAkB,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAkFD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CAgGvE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,EAAE,GAC1B,iBAAiB,EAAE,CA0FrB"}
@@ -0,0 +1,224 @@
1
+ /**
2
+ * Entity Extractor — heuristic-based extraction of entities and relations
3
+ * from text content. No LLM dependency, uses regex patterns and
4
+ * domain-specific dictionaries.
5
+ *
6
+ * Extends the basic extractEntities from enrichment-pipeline.ts with
7
+ * richer type classification and relation detection.
8
+ */
9
+ import { logger } from "../utils/logger.js";
10
+ // ── Technology dictionary ────────────────────────────────
11
+ const TECHNOLOGY_TERMS = new Set([
12
+ "TypeScript", "JavaScript", "Python", "Rust", "Go", "Java", "C#", "Ruby",
13
+ "SQLite", "PostgreSQL", "MySQL", "MongoDB", "Redis", "DynamoDB",
14
+ "React", "Vue", "Angular", "Svelte", "Next.js", "Nuxt",
15
+ "Node.js", "Deno", "Bun",
16
+ "Express", "Fastify", "Koa", "Hono",
17
+ "Docker", "Kubernetes", "Terraform", "AWS", "Azure", "GCP",
18
+ "GraphQL", "REST", "gRPC", "WebSocket",
19
+ "Vitest", "Jest", "Mocha", "Playwright", "Cypress",
20
+ "Webpack", "Vite", "Rollup", "esbuild", "Turbopack",
21
+ "Git", "GitHub", "GitLab",
22
+ "Tailwind", "CSS", "HTML", "Sass", "SCSS",
23
+ "Zod", "Prisma", "Drizzle", "Knex",
24
+ "FTS5", "BM25", "TF-IDF",
25
+ "ESLint", "Prettier", "Biome",
26
+ "Commander.js", "MCP",
27
+ ]);
28
+ // Case-insensitive lookup map
29
+ const TECH_LOWER_MAP = new Map();
30
+ for (const term of TECHNOLOGY_TERMS) {
31
+ TECH_LOWER_MAP.set(term.toLowerCase(), term);
32
+ }
33
+ // ── Entity extraction patterns ───────────────────────────
34
+ /** PascalCase: at least two words joined (e.g., GraphNode, SqliteStore) */
35
+ // eslint-disable-next-line security/detect-unsafe-regex -- bounded pattern, safe for identifiers
36
+ const PASCAL_CASE_RE = /\b([A-Z][a-z]+(?:[A-Z][a-z0-9]*)+)\b/g;
37
+ /** camelCase: starts lowercase, has at least one uppercase (e.g., findNextTask) */
38
+ const CAMEL_CASE_RE = /\b([a-z][a-zA-Z0-9]*[A-Z][a-zA-Z0-9]*)\b/g;
39
+ /** File paths: src/... or similar path patterns */
40
+ const FILE_PATH_RE = /\b((?:src|lib|dist|test|tests)\/[\w\-./]+\.(?:ts|js|tsx|jsx|json|md|sql))\b/g;
41
+ /** Scoped npm packages: @scope/name */
42
+ const SCOPED_PACKAGE_RE = /(@[\w-]+\/[\w-]+)/g;
43
+ /** Non-scoped packages after "import" or known patterns */
44
+ // eslint-disable-next-line security/detect-unsafe-regex -- bounded pattern for import statements
45
+ const PACKAGE_IMPORT_RE = /(?:from\s+["'])([a-z][\w-]*(?:\/[\w-]+)?)(?:["'])/g;
46
+ /** API endpoints: GET/POST/PUT/DELETE/PATCH /path */
47
+ const API_ENDPOINT_RE = /\b((?:GET|POST|PUT|DELETE|PATCH)\s+\/[\w/\-:{}]+)/g;
48
+ /** UPPER_SNAKE_CASE: config constants (at least 2 segments) */
49
+ // eslint-disable-next-line security/detect-unsafe-regex -- bounded quantifiers, safe for identifiers
50
+ const UPPER_SNAKE_RE = /\b([A-Z][A-Z0-9]*(?:_[A-Z0-9]+)+)\b/g;
51
+ /** Markdown headings: ## Title */
52
+ const HEADING_RE = /^#{1,3}\s+(.+)$/gm;
53
+ /** Backtick-quoted concepts: `something here` (2+ chars) */
54
+ const BACKTICK_RE = /`([^`]{2,50})`/g;
55
+ const RELATION_PATTERNS = [
56
+ { pattern: /\buses\b|\butiliza\b|\busing\b/i, relationType: "uses", weight: 0.8 },
57
+ { pattern: /\bimplements\b|\bimplementa\b|\bimplementing\b/i, relationType: "implements", weight: 0.9 },
58
+ { pattern: /\bdepends\s+on\b|\bdepende\s+de\b/i, relationType: "depends_on", weight: 0.9 },
59
+ { pattern: /\bextends\b|\bestende\b|\bextending\b/i, relationType: "extends", weight: 0.9 },
60
+ { pattern: /\bcalls\b|\bchama\b|\bcalling\b/i, relationType: "calls", weight: 0.7 },
61
+ { pattern: /\bis\s+part\s+of\b|\bfaz\s+parte\s+de\b|\bbelongs\s+to\b/i, relationType: "part_of", weight: 0.8 },
62
+ ];
63
+ /** Import statement: import { X } from "Y" */
64
+ const IMPORT_RE = /import\s+\{([^}]+)\}\s+from\s+["']([^"']+)["']/g;
65
+ // ── Main extraction functions ────────────────────────────
66
+ /**
67
+ * Extract entities from text using heuristic patterns.
68
+ * Returns deduplicated list of entities with type classification.
69
+ */
70
+ export function extractEntitiesFromText(text) {
71
+ const seen = new Map();
72
+ function add(name, type) {
73
+ const key = `${name}::${type}`;
74
+ if (!seen.has(key)) {
75
+ seen.set(key, { name, type });
76
+ }
77
+ }
78
+ // 1. Technology terms (check before PascalCase to get correct type)
79
+ // Strip trailing punctuation (.!?:) from each word before matching
80
+ const words = text.split(/[\s,;()[\]{}"'`]+/);
81
+ for (const rawWord of words) {
82
+ const word = rawWord.replace(/[.!?:]+$/, "");
83
+ const tech = TECH_LOWER_MAP.get(word.toLowerCase());
84
+ if (tech) {
85
+ add(tech, "technology");
86
+ }
87
+ }
88
+ // 2. PascalCase → class (skip if already a technology)
89
+ PASCAL_CASE_RE.lastIndex = 0;
90
+ let match;
91
+ while ((match = PASCAL_CASE_RE.exec(text)) !== null) {
92
+ const name = match[1];
93
+ if (!TECH_LOWER_MAP.has(name.toLowerCase())) {
94
+ add(name, "class");
95
+ }
96
+ }
97
+ // 3. camelCase → function
98
+ CAMEL_CASE_RE.lastIndex = 0;
99
+ while ((match = CAMEL_CASE_RE.exec(text)) !== null) {
100
+ add(match[1], "function");
101
+ }
102
+ // 4. File paths
103
+ FILE_PATH_RE.lastIndex = 0;
104
+ while ((match = FILE_PATH_RE.exec(text)) !== null) {
105
+ add(match[1], "file");
106
+ }
107
+ // 5. Scoped packages
108
+ SCOPED_PACKAGE_RE.lastIndex = 0;
109
+ while ((match = SCOPED_PACKAGE_RE.exec(text)) !== null) {
110
+ add(match[1], "package");
111
+ }
112
+ // 6. Package imports (non-scoped, from import statements)
113
+ PACKAGE_IMPORT_RE.lastIndex = 0;
114
+ while ((match = PACKAGE_IMPORT_RE.exec(text)) !== null) {
115
+ const pkg = match[1];
116
+ // Skip relative imports
117
+ if (!pkg.startsWith(".") && !pkg.startsWith("/")) {
118
+ add(pkg, "package");
119
+ }
120
+ }
121
+ // 7. API endpoints
122
+ API_ENDPOINT_RE.lastIndex = 0;
123
+ while ((match = API_ENDPOINT_RE.exec(text)) !== null) {
124
+ add(match[1], "api_endpoint");
125
+ }
126
+ // 8. UPPER_SNAKE_CASE config constants
127
+ UPPER_SNAKE_RE.lastIndex = 0;
128
+ while ((match = UPPER_SNAKE_RE.exec(text)) !== null) {
129
+ const name = match[1];
130
+ // Skip common false positives
131
+ if (name.length >= 4 && !["TODO", "NOTE", "FIXME", "HACK"].includes(name)) {
132
+ add(name, "config");
133
+ }
134
+ }
135
+ // 9. Markdown headings → domain terms
136
+ HEADING_RE.lastIndex = 0;
137
+ while ((match = HEADING_RE.exec(text)) !== null) {
138
+ const heading = match[1].trim();
139
+ if (heading.length >= 3 && heading.length <= 80) {
140
+ add(heading, "domain_term");
141
+ }
142
+ }
143
+ // 10. Backtick-quoted concepts
144
+ BACKTICK_RE.lastIndex = 0;
145
+ while ((match = BACKTICK_RE.exec(text)) !== null) {
146
+ const concept = match[1].trim();
147
+ // Skip if it looks like code (has dots, slashes, parens)
148
+ if (concept.length >= 3 && !/[./()[\]{}]/.test(concept)) {
149
+ add(concept, "concept");
150
+ }
151
+ }
152
+ logger.debug("entity-extractor:entities", { count: seen.size });
153
+ return Array.from(seen.values());
154
+ }
155
+ /**
156
+ * Extract relations between known entities from text.
157
+ * Uses pattern matching on sentences containing entity names.
158
+ */
159
+ export function extractRelationsFromText(text, entities) {
160
+ const relations = [];
161
+ const seen = new Set();
162
+ function addRelation(from, to, type, weight) {
163
+ const key = `${from}→${to}→${type}`;
164
+ if (!seen.has(key) && from !== to) {
165
+ seen.add(key);
166
+ relations.push({ fromName: from, toName: to, relationType: type, weight });
167
+ }
168
+ }
169
+ // Split text into sentences for pattern matching
170
+ const sentences = text.split(/[.!?\n]+/).filter((s) => s.trim().length > 0);
171
+ for (const sentence of sentences) {
172
+ // Find which entities appear in this sentence
173
+ const presentEntities = entities.filter((e) => sentence.includes(e.name));
174
+ if (presentEntities.length < 2)
175
+ continue;
176
+ // Check relation patterns in sentence
177
+ for (const rp of RELATION_PATTERNS) {
178
+ if (rp.pattern.test(sentence)) {
179
+ // Find the entity pair: first entity before pattern, second after
180
+ for (let i = 0; i < presentEntities.length; i++) {
181
+ for (let j = 0; j < presentEntities.length; j++) {
182
+ if (i === j)
183
+ continue;
184
+ const fromIdx = sentence.indexOf(presentEntities[i].name);
185
+ const toIdx = sentence.indexOf(presentEntities[j].name);
186
+ if (fromIdx < toIdx) {
187
+ addRelation(presentEntities[i].name, presentEntities[j].name, rp.relationType, rp.weight);
188
+ }
189
+ }
190
+ }
191
+ }
192
+ }
193
+ }
194
+ // Import statement relations
195
+ IMPORT_RE.lastIndex = 0;
196
+ let importMatch;
197
+ while ((importMatch = IMPORT_RE.exec(text)) !== null) {
198
+ const imports = importMatch[1].split(",").map((s) => s.trim());
199
+ const source = importMatch[2];
200
+ for (const imp of imports) {
201
+ const cleanName = imp.replace(/\s+as\s+\w+/, "").trim();
202
+ const matchingEntity = entities.find((e) => e.name === cleanName);
203
+ if (matchingEntity) {
204
+ // Create a "uses" relation from the imported symbol to its source
205
+ addRelation(cleanName, source, "uses", 0.7);
206
+ }
207
+ }
208
+ }
209
+ // Co-occurrence in same heading section → related_to (weak)
210
+ const sections = text.split(/^#{1,3}\s+/m);
211
+ for (const section of sections) {
212
+ const sectionEntities = entities.filter((e) => section.includes(e.name));
213
+ if (sectionEntities.length >= 2 && sectionEntities.length <= 6) {
214
+ for (let i = 0; i < sectionEntities.length; i++) {
215
+ for (let j = i + 1; j < sectionEntities.length; j++) {
216
+ addRelation(sectionEntities[i].name, sectionEntities[j].name, "related_to", 0.5);
217
+ }
218
+ }
219
+ }
220
+ }
221
+ logger.debug("entity-extractor:relations", { count: relations.length });
222
+ return relations;
223
+ }
224
+ //# sourceMappingURL=entity-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-extractor.js","sourceRoot":"","sources":["../../../src/core/rag/entity-extractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Entity Index Hook — safe wrapper for entity indexing in MCP tools.
3
+ *
4
+ * Call after KnowledgeStore.insert() or insertChunks() to extract
5
+ * entities into the Knowledge Graph. Never throws — logs and returns
6
+ * silently on failure to avoid disrupting the main operation.
7
+ */
8
+ import type Database from "better-sqlite3";
9
+ /**
10
+ * Index entities from a single knowledge document into the KG.
11
+ * Safe: never throws. Logs warning on failure.
12
+ */
13
+ export declare function indexEntitiesForDoc(db: Database.Database, docId: string): void;
14
+ /**
15
+ * Index entities from multiple knowledge documents into the KG.
16
+ * Safe: never throws. Logs warning on individual failures.
17
+ */
18
+ export declare function indexEntitiesForDocs(db: Database.Database, docIds: string[]): void;
19
+ /**
20
+ * Index entities from all knowledge documents matching a source type.
21
+ * Useful after bulk indexing operations.
22
+ * Safe: never throws.
23
+ */
24
+ export declare function indexEntitiesForSource(db: Database.Database, sourceType: string): void;
25
+ //# sourceMappingURL=entity-index-hook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-index-hook.d.ts","sourceRoot":"","sources":["../../../src/core/rag/entity-index-hook.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAK3C;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAQ9E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAelF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAqBtF"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Entity Index Hook — safe wrapper for entity indexing in MCP tools.
3
+ *
4
+ * Call after KnowledgeStore.insert() or insertChunks() to extract
5
+ * entities into the Knowledge Graph. Never throws — logs and returns
6
+ * silently on failure to avoid disrupting the main operation.
7
+ */
8
+ import { indexDocument } from "./entity-indexer.js";
9
+ import { EntityStore } from "./entity-store.js";
10
+ import { logger } from "../utils/logger.js";
11
+ /**
12
+ * Index entities from a single knowledge document into the KG.
13
+ * Safe: never throws. Logs warning on failure.
14
+ */
15
+ export function indexEntitiesForDoc(db, docId) {
16
+ try {
17
+ const store = new EntityStore(db);
18
+ if (!store.hasKgTables())
19
+ return;
20
+ indexDocument(db, docId);
21
+ }
22
+ catch (err) {
23
+ logger.warn("entity-index-hook:doc-failed", { docId, error: String(err) });
24
+ }
25
+ }
26
+ /**
27
+ * Index entities from multiple knowledge documents into the KG.
28
+ * Safe: never throws. Logs warning on individual failures.
29
+ */
30
+ export function indexEntitiesForDocs(db, docIds) {
31
+ try {
32
+ const store = new EntityStore(db);
33
+ if (!store.hasKgTables())
34
+ return;
35
+ for (const docId of docIds) {
36
+ try {
37
+ indexDocument(db, docId);
38
+ }
39
+ catch (err) {
40
+ logger.warn("entity-index-hook:doc-failed", { docId, error: String(err) });
41
+ }
42
+ }
43
+ }
44
+ catch (err) {
45
+ logger.warn("entity-index-hook:batch-failed", { count: docIds.length, error: String(err) });
46
+ }
47
+ }
48
+ /**
49
+ * Index entities from all knowledge documents matching a source type.
50
+ * Useful after bulk indexing operations.
51
+ * Safe: never throws.
52
+ */
53
+ export function indexEntitiesForSource(db, sourceType) {
54
+ try {
55
+ const store = new EntityStore(db);
56
+ if (!store.hasKgTables())
57
+ return;
58
+ const docs = db
59
+ .prepare("SELECT id FROM knowledge_documents WHERE source_type = ?")
60
+ .all(sourceType);
61
+ for (const doc of docs) {
62
+ try {
63
+ indexDocument(db, doc.id);
64
+ }
65
+ catch (err) {
66
+ logger.warn("entity-index-hook:doc-failed", { docId: doc.id, error: String(err) });
67
+ }
68
+ }
69
+ logger.debug("entity-index-hook:source-complete", { sourceType, count: docs.length });
70
+ }
71
+ catch (err) {
72
+ logger.warn("entity-index-hook:source-failed", { sourceType, error: String(err) });
73
+ }
74
+ }
75
+ //# sourceMappingURL=entity-index-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-index-hook.js","sourceRoot":"","sources":["../../../src/core/rag/entity-index-hook.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAqB,EAAE,KAAa;IACtE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,OAAO;QACjC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAqB,EAAE,MAAgB;IAC1E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,OAAO;QAEjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAqB,EAAE,UAAkB;IAC9E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,OAAO;QAEjC,MAAM,IAAI,GAAG,EAAE;aACZ,OAAO,CAAC,0DAA0D,CAAC;aACnE,GAAG,CAAC,UAAU,CAA0B,CAAC;QAE5C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;AACH,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Entity Indexer — orchestrates entity extraction from knowledge documents
3
+ * and populates the EntityStore (Knowledge Graph).
4
+ *
5
+ * Processes knowledge documents to extract entities and relations,
6
+ * storing them in the KG tables for graph-based retrieval.
7
+ */
8
+ import type Database from "better-sqlite3";
9
+ export interface IndexDocumentResult {
10
+ docId: string;
11
+ entitiesCreated: number;
12
+ relationsCreated: number;
13
+ }
14
+ export interface ReindexResult {
15
+ documentsProcessed: number;
16
+ totalEntities: number;
17
+ totalRelations: number;
18
+ totalMentions: number;
19
+ }
20
+ /**
21
+ * Index a single knowledge document — extract entities and relations,
22
+ * store in the KG.
23
+ */
24
+ export declare function indexDocument(db: Database.Database, docId: string): IndexDocumentResult;
25
+ /**
26
+ * Reindex all knowledge documents — clear KG and rebuild from scratch.
27
+ */
28
+ export declare function reindexAll(db: Database.Database): ReindexResult;
29
+ /**
30
+ * Index a batch of documents by their IDs.
31
+ */
32
+ export declare function indexBatch(db: Database.Database, docIds: string[]): IndexDocumentResult[];
33
+ //# sourceMappingURL=entity-indexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-indexer.d.ts","sourceRoot":"","sources":["../../../src/core/rag/entity-indexer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAO3C,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAwDvF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,aAAa,CA+B/D;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,MAAM,EAAE,GACf,mBAAmB,EAAE,CAEvB"}