@mcp-graph-workflow/mcp-graph 5.6.0 → 5.7.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 (83) hide show
  1. package/README.md +2 -2
  2. package/dist/api/routes/code-graph.d.ts.map +1 -1
  3. package/dist/api/routes/code-graph.js +4 -1
  4. package/dist/api/routes/code-graph.js.map +1 -1
  5. package/dist/core/code/code-indexer.d.ts.map +1 -1
  6. package/dist/core/code/code-indexer.js +17 -2
  7. package/dist/core/code/code-indexer.js.map +1 -1
  8. package/dist/core/code/code-types.d.ts +1 -0
  9. package/dist/core/code/code-types.d.ts.map +1 -1
  10. package/dist/core/code/code-types.js.map +1 -1
  11. package/dist/core/code/ts-analyzer.d.ts +6 -0
  12. package/dist/core/code/ts-analyzer.d.ts.map +1 -1
  13. package/dist/core/code/ts-analyzer.js +9 -0
  14. package/dist/core/code/ts-analyzer.js.map +1 -1
  15. package/dist/core/importer/import-graph.d.ts +23 -0
  16. package/dist/core/importer/import-graph.d.ts.map +1 -0
  17. package/dist/core/importer/import-graph.js +127 -0
  18. package/dist/core/importer/import-graph.js.map +1 -0
  19. package/dist/core/rag/benchmark-indexer.d.ts +32 -0
  20. package/dist/core/rag/benchmark-indexer.d.ts.map +1 -0
  21. package/dist/core/rag/benchmark-indexer.js +85 -0
  22. package/dist/core/rag/benchmark-indexer.js.map +1 -0
  23. package/dist/core/rag/citation-mapper.d.ts +32 -0
  24. package/dist/core/rag/citation-mapper.d.ts.map +1 -0
  25. package/dist/core/rag/citation-mapper.js +45 -0
  26. package/dist/core/rag/citation-mapper.js.map +1 -0
  27. package/dist/core/rag/enrichment-pipeline.d.ts +48 -0
  28. package/dist/core/rag/enrichment-pipeline.d.ts.map +1 -0
  29. package/dist/core/rag/enrichment-pipeline.js +127 -0
  30. package/dist/core/rag/enrichment-pipeline.js.map +1 -0
  31. package/dist/core/rag/post-retrieval.d.ts +40 -0
  32. package/dist/core/rag/post-retrieval.d.ts.map +1 -0
  33. package/dist/core/rag/post-retrieval.js +119 -0
  34. package/dist/core/rag/post-retrieval.js.map +1 -0
  35. package/dist/core/rag/query-cache.d.ts +54 -0
  36. package/dist/core/rag/query-cache.d.ts.map +1 -0
  37. package/dist/core/rag/query-cache.js +104 -0
  38. package/dist/core/rag/query-cache.js.map +1 -0
  39. package/dist/core/rag/query-understanding.d.ts +37 -0
  40. package/dist/core/rag/query-understanding.d.ts.map +1 -0
  41. package/dist/core/rag/query-understanding.js +123 -0
  42. package/dist/core/rag/query-understanding.js.map +1 -0
  43. package/dist/core/rag/rag-trace.d.ts +67 -0
  44. package/dist/core/rag/rag-trace.d.ts.map +1 -0
  45. package/dist/core/rag/rag-trace.js +82 -0
  46. package/dist/core/rag/rag-trace.js.map +1 -0
  47. package/dist/core/rag/source-contribution.d.ts +37 -0
  48. package/dist/core/rag/source-contribution.d.ts.map +1 -0
  49. package/dist/core/rag/source-contribution.js +54 -0
  50. package/dist/core/rag/source-contribution.js.map +1 -0
  51. package/dist/core/store/sqlite-store.d.ts +9 -0
  52. package/dist/core/store/sqlite-store.d.ts.map +1 -1
  53. package/dist/core/store/sqlite-store.js +42 -0
  54. package/dist/core/store/sqlite-store.js.map +1 -1
  55. package/dist/mcp/tools/import-graph.d.ts +4 -0
  56. package/dist/mcp/tools/import-graph.d.ts.map +1 -0
  57. package/dist/mcp/tools/import-graph.js +81 -0
  58. package/dist/mcp/tools/import-graph.js.map +1 -0
  59. package/dist/mcp/tools/index.d.ts.map +1 -1
  60. package/dist/mcp/tools/index.js +2 -0
  61. package/dist/mcp/tools/index.js.map +1 -1
  62. package/dist/schemas/knowledge.schema.d.ts +2 -0
  63. package/dist/schemas/knowledge.schema.d.ts.map +1 -1
  64. package/dist/schemas/knowledge.schema.js +1 -0
  65. package/dist/schemas/knowledge.schema.js.map +1 -1
  66. package/dist/web/dashboard/dist/assets/{benchmark-tab-WCcv55oB.js → benchmark-tab-BoMsoQjO.js} +1 -1
  67. package/dist/web/dashboard/dist/assets/{context-tab-CYnMjkHN.js → context-tab-BLT4qQ77.js} +1 -1
  68. package/dist/web/dashboard/dist/assets/{gitnexus-tab-Dj0DERUy.js → gitnexus-tab-DDw7DUED.js} +4 -4
  69. package/dist/web/dashboard/dist/assets/{graph-tab-tI93ZxxW.js → graph-tab-DG9Q6nko.js} +1 -1
  70. package/dist/web/dashboard/dist/assets/{graph-utils-DeQEwmsr.js → graph-utils-BpYHKE87.js} +1 -1
  71. package/dist/web/dashboard/dist/assets/{index-DKvjo_C5.css → index-Cu23WCcu.css} +1 -1
  72. package/dist/web/dashboard/dist/assets/{index-B1PLsGu1.js → index-DtkPX5ZZ.js} +2 -2
  73. package/dist/web/dashboard/dist/assets/{index-NmopQGmQ.js → index-F9dY4AG_.js} +1 -1
  74. package/dist/web/dashboard/dist/assets/{insights-tab-X7u4J-xv.js → insights-tab-YN7G6mjm.js} +1 -1
  75. package/dist/web/dashboard/dist/assets/{journey-tab-Cpz6_3mB.js → journey-tab-BcweuR82.js} +1 -1
  76. package/dist/web/dashboard/dist/assets/{logs-tab-QB__4Xdl.js → logs-tab-BjdAURdy.js} +1 -1
  77. package/dist/web/dashboard/dist/assets/{memories-tab-Dry9wz7q.js → memories-tab-CQ2xM2aw.js} +1 -1
  78. package/dist/web/dashboard/dist/assets/{prd-backlog-tab-OXTksZKv.js → prd-backlog-tab-CIeCpE1a.js} +1 -1
  79. package/dist/web/dashboard/dist/assets/{siebel-tab-x7OCuCmb.js → siebel-tab-bj5CT4-Z.js} +1 -1
  80. package/dist/web/dashboard/dist/assets/{skills-tab-DeUEKmpZ.js → skills-tab-Bgk72mKO.js} +1 -1
  81. package/dist/web/dashboard/dist/assets/{style-C-e8BTyP.js → style-Da3qWU01.js} +1 -1
  82. package/dist/web/dashboard/dist/index.html +2 -2
  83. package/package.json +13 -3
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Query Understanding — preprocesses user queries before retrieval.
3
+ *
4
+ * Provides:
5
+ * - Intent detection (search, how_to, status, debug, compare, history)
6
+ * - Entity extraction (PascalCase, camelCase from query)
7
+ * - Source type filtering (detect "in the PRD", "in code", etc.)
8
+ * - Query expansion with related terms
9
+ * - Query rewriting for FTS5 optimization
10
+ */
11
+ import { tokenize } from "../search/tokenizer.js";
12
+ import { extractEntities } from "./enrichment-pipeline.js";
13
+ import { logger } from "../utils/logger.js";
14
+ // ── Intent detection patterns ────────────────────────────
15
+ const INTENT_PATTERNS = [
16
+ { pattern: /^how\b|como\s+(fazer|funciona|implementar)/i, intent: "how_to" },
17
+ { pattern: /\b(status|progress|progresso|sprint|burndown|velocity)\b/i, intent: "status" },
18
+ { pattern: /\b(error|erro|bug|fail|falha|why\s+does|por\s*que)\b/i, intent: "debug" },
19
+ { pattern: /\b(compare|compar|vs\.?|versus|difference|diferença|diferenca)\b/i, intent: "compare" },
20
+ { pattern: /\b(history|histórico|historico|changelog|when\s+was|quando)\b/i, intent: "history" },
21
+ ];
22
+ /**
23
+ * Detect the intent of a query from keyword patterns.
24
+ */
25
+ export function detectIntent(query) {
26
+ for (const { pattern, intent } of INTENT_PATTERNS) {
27
+ if (pattern.test(query))
28
+ return intent;
29
+ }
30
+ return "search";
31
+ }
32
+ // ── Source type detection patterns ────────────────────────
33
+ const SOURCE_PATTERNS = [
34
+ { pattern: /\b(code|código|codigo|symbol|function|class|módulo|modulo)\b/i, sourceTypes: ["code_context"] },
35
+ { pattern: /\b(prd|requisito|requirement|user\s+stor)/i, sourceTypes: ["prd"] },
36
+ { pattern: /\b(journey|jornada|screen|tela|fluxo|flow)\b/i, sourceTypes: ["journey"] },
37
+ { pattern: /\b(skills?|habilidade)\b/i, sourceTypes: ["skill"] },
38
+ { pattern: /\b(doc|docs|documentation|documentação|documentacao|library|lib)\b/i, sourceTypes: ["docs"] },
39
+ { pattern: /\b(memory|memória|memoria|decision|decisão|decisao)\b/i, sourceTypes: ["memory", "ai_decision"] },
40
+ { pattern: /\b(siebel|sif|composer)\b/i, sourceTypes: ["siebel_sif", "siebel_composer", "siebel_docs"] },
41
+ { pattern: /\b(benchmark|performance|latency|latência|token\s+economy)\b/i, sourceTypes: ["benchmark"] },
42
+ { pattern: /\b(capture|screenshot|web\s+page|página|pagina)\b/i, sourceTypes: ["web_capture"] },
43
+ { pattern: /\b(swagger|api\s+spec|openapi|endpoint)\b/i, sourceTypes: ["swagger"] },
44
+ ];
45
+ /**
46
+ * Detect source type filters from query content.
47
+ */
48
+ export function detectSourceFilter(query) {
49
+ const filters = new Set();
50
+ for (const { pattern, sourceTypes } of SOURCE_PATTERNS) {
51
+ if (pattern.test(query)) {
52
+ for (const st of sourceTypes)
53
+ filters.add(st);
54
+ }
55
+ }
56
+ return Array.from(filters);
57
+ }
58
+ // ── Query expansion ──────────────────────────────────────
59
+ const EXPANSION_MAP = {
60
+ database: ["sqlite", "store", "migration", "schema"],
61
+ migration: ["database", "schema", "version", "upgrade"],
62
+ search: ["fts5", "bm25", "query", "ranking"],
63
+ context: ["rag", "token", "budget", "tiered"],
64
+ graph: ["node", "edge", "dependency", "traversal"],
65
+ parser: ["segment", "classify", "extract", "normalize"],
66
+ chunk: ["split", "overlap", "token", "sentence"],
67
+ embedding: ["tfidf", "vector", "cosine", "similarity"],
68
+ knowledge: ["store", "document", "index", "rag"],
69
+ node: ["task", "epic", "status", "dependency"],
70
+ test: ["vitest", "tdd", "assertion", "mock"],
71
+ skill: ["phase", "lifecycle", "recommend"],
72
+ };
73
+ /**
74
+ * Expand query tokens with related technical terms.
75
+ */
76
+ export function expandQuery(query) {
77
+ const tokens = tokenize(query);
78
+ if (tokens.length === 0)
79
+ return [];
80
+ const expanded = new Set(tokens);
81
+ for (const token of tokens) {
82
+ const related = EXPANSION_MAP[token];
83
+ if (related) {
84
+ for (const term of related)
85
+ expanded.add(term);
86
+ }
87
+ }
88
+ return Array.from(expanded);
89
+ }
90
+ /**
91
+ * Rewrite query for FTS5 — clean, tokenize, rejoin.
92
+ */
93
+ function rewriteQuery(query) {
94
+ const tokens = tokenize(query);
95
+ return tokens.join(" ");
96
+ }
97
+ /**
98
+ * Full query understanding pipeline.
99
+ * Analyzes a natural language query and returns structured understanding.
100
+ */
101
+ export function understandQuery(query) {
102
+ const originalQuery = query;
103
+ const intent = detectIntent(query);
104
+ const entities = extractEntities(query);
105
+ const sourceTypeFilter = detectSourceFilter(query);
106
+ const expandedTerms = expandQuery(query);
107
+ const rewrittenQuery = rewriteQuery(query);
108
+ logger.debug("Query understood", {
109
+ intent,
110
+ entityCount: entities.length,
111
+ sourceFilters: sourceTypeFilter.length,
112
+ expandedTermCount: expandedTerms.length,
113
+ });
114
+ return {
115
+ originalQuery,
116
+ rewrittenQuery,
117
+ entities,
118
+ intent,
119
+ expandedTerms,
120
+ sourceTypeFilter,
121
+ };
122
+ }
123
+ //# sourceMappingURL=query-understanding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-understanding.js","sourceRoot":"","sources":["../../../src/core/rag/query-understanding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * RAG Trace — observability for the RAG pipeline.
3
+ *
4
+ * Instruments each stage (query understanding, retrieval, post-retrieval,
5
+ * assembly, citation) with timing, input/output counts, and source contributions.
6
+ */
7
+ export type RagStageName = "query_understanding" | "retrieval" | "post_retrieval" | "assembly" | "citation";
8
+ export interface RagStageTrace {
9
+ stage: RagStageName;
10
+ latencyMs: number;
11
+ inputCount: number;
12
+ outputCount: number;
13
+ details: Record<string, unknown>;
14
+ }
15
+ export interface RagTrace {
16
+ traceId: string;
17
+ query: string;
18
+ timestamp: string;
19
+ stages: RagStageTrace[];
20
+ totalLatencyMs: number;
21
+ totalTokensUsed: number;
22
+ sourcesContributed: Record<string, number>;
23
+ citationCount: number;
24
+ }
25
+ /**
26
+ * Tracer instance — tracks stages during a single RAG pipeline execution.
27
+ */
28
+ export declare class RagTracer {
29
+ private traceId;
30
+ private query;
31
+ private timestamp;
32
+ private stages;
33
+ private stageStartTimes;
34
+ private sourcesContributed;
35
+ private citationCount;
36
+ private totalTokensUsed;
37
+ constructor(query: string);
38
+ /**
39
+ * Mark the start of a pipeline stage.
40
+ */
41
+ startStage(stage: RagStageName): void;
42
+ /**
43
+ * Mark the end of a pipeline stage with input/output counts.
44
+ */
45
+ endStage(stage: RagStageName, counts: {
46
+ inputCount: number;
47
+ outputCount: number;
48
+ details?: Record<string, unknown>;
49
+ }): void;
50
+ /**
51
+ * Record how many results came from a specific source type.
52
+ */
53
+ recordSourceContribution(sourceType: string, count: number): void;
54
+ /**
55
+ * Set the number of citations produced.
56
+ */
57
+ setCitationCount(count: number): void;
58
+ /**
59
+ * Set total tokens consumed by the assembled context.
60
+ */
61
+ setTokensUsed(tokens: number): void;
62
+ /**
63
+ * Finalize the trace and return the complete record.
64
+ */
65
+ finalize(): RagTrace;
66
+ }
67
+ //# sourceMappingURL=rag-trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag-trace.d.ts","sourceRoot":"","sources":["../../../src/core/rag/rag-trace.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,MAAM,YAAY,GACpB,qBAAqB,GACrB,WAAW,GACX,gBAAgB,GAChB,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,eAAe,CAAa;gBAExB,KAAK,EAAE,MAAM;IAMzB;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAIrC;;OAEG;IACH,QAAQ,CACN,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GACrF,IAAI;IAeP;;OAEG;IACH,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIjE;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAInC;;OAEG;IACH,QAAQ,IAAI,QAAQ;CAcrB"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * RAG Trace — observability for the RAG pipeline.
3
+ *
4
+ * Instruments each stage (query understanding, retrieval, post-retrieval,
5
+ * assembly, citation) with timing, input/output counts, and source contributions.
6
+ */
7
+ import { generateId } from "../utils/id.js";
8
+ import { now } from "../utils/time.js";
9
+ /**
10
+ * Tracer instance — tracks stages during a single RAG pipeline execution.
11
+ */
12
+ export class RagTracer {
13
+ traceId;
14
+ query;
15
+ timestamp;
16
+ stages = [];
17
+ stageStartTimes = new Map();
18
+ sourcesContributed = {};
19
+ citationCount = 0;
20
+ totalTokensUsed = 0;
21
+ constructor(query) {
22
+ this.traceId = generateId("trace");
23
+ this.query = query;
24
+ this.timestamp = now();
25
+ }
26
+ /**
27
+ * Mark the start of a pipeline stage.
28
+ */
29
+ startStage(stage) {
30
+ this.stageStartTimes.set(stage, performance.now());
31
+ }
32
+ /**
33
+ * Mark the end of a pipeline stage with input/output counts.
34
+ */
35
+ endStage(stage, counts) {
36
+ const startTime = this.stageStartTimes.get(stage) ?? performance.now();
37
+ const latencyMs = Math.round(performance.now() - startTime);
38
+ this.stages.push({
39
+ stage,
40
+ latencyMs,
41
+ inputCount: counts.inputCount,
42
+ outputCount: counts.outputCount,
43
+ details: counts.details ?? {},
44
+ });
45
+ this.stageStartTimes.delete(stage);
46
+ }
47
+ /**
48
+ * Record how many results came from a specific source type.
49
+ */
50
+ recordSourceContribution(sourceType, count) {
51
+ this.sourcesContributed[sourceType] = (this.sourcesContributed[sourceType] ?? 0) + count;
52
+ }
53
+ /**
54
+ * Set the number of citations produced.
55
+ */
56
+ setCitationCount(count) {
57
+ this.citationCount = count;
58
+ }
59
+ /**
60
+ * Set total tokens consumed by the assembled context.
61
+ */
62
+ setTokensUsed(tokens) {
63
+ this.totalTokensUsed = tokens;
64
+ }
65
+ /**
66
+ * Finalize the trace and return the complete record.
67
+ */
68
+ finalize() {
69
+ const totalLatencyMs = this.stages.reduce((sum, s) => sum + s.latencyMs, 0);
70
+ return {
71
+ traceId: this.traceId,
72
+ query: this.query,
73
+ timestamp: this.timestamp,
74
+ stages: [...this.stages],
75
+ totalLatencyMs,
76
+ totalTokensUsed: this.totalTokensUsed,
77
+ sourcesContributed: { ...this.sourcesContributed },
78
+ citationCount: this.citationCount,
79
+ };
80
+ }
81
+ }
82
+ //# sourceMappingURL=rag-trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag-trace.js","sourceRoot":"","sources":["../../../src/core/rag/rag-trace.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AA4BvC;;GAEG;AACH,MAAM,OAAO,SAAS;IACZ,OAAO,CAAS;IAChB,KAAK,CAAS;IACd,SAAS,CAAS;IAClB,MAAM,GAAoB,EAAE,CAAC;IAC7B,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;IACjD,kBAAkB,GAA2B,EAAE,CAAC;IAChD,aAAa,GAAW,CAAC,CAAC;IAC1B,eAAe,GAAW,CAAC,CAAC;IAEpC,YAAY,KAAa;QACvB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,KAAmB;QAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,QAAQ,CACN,KAAmB,EACnB,MAAsF;QAEtF,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,KAAK;YACL,SAAS;YACT,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,wBAAwB,CAAC,UAAkB,EAAE,KAAa;QACxD,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;IAC3F,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,KAAa;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAc;QAC1B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAE5E,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YACxB,cAAc;YACd,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,kBAAkB,EAAE,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE;YAClD,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Source Contribution — measures how much each knowledge source
3
+ * contributes to RAG quality.
4
+ *
5
+ * Aggregates data from traces and usage logs to compute per-source metrics.
6
+ */
7
+ export interface TraceAggregation {
8
+ sourceType: string;
9
+ retrievalCount: number;
10
+ totalRelevanceScore: number;
11
+ helpfulCount: number;
12
+ unhelpfulCount: number;
13
+ totalTokens: number;
14
+ }
15
+ export interface SourceContribution {
16
+ sourceType: string;
17
+ documentCount: number;
18
+ retrievalHitRate: number;
19
+ avgRelevanceScore: number;
20
+ helpfulFeedbackRate: number;
21
+ tokenContribution: number;
22
+ }
23
+ export interface UnderutilizedSource {
24
+ sourceType: string;
25
+ reason: string;
26
+ documentCount: number;
27
+ retrievalHitRate: number;
28
+ }
29
+ /**
30
+ * Calculate contribution metrics for each source type.
31
+ */
32
+ export declare function calculateSourceContributions(traces: TraceAggregation[], totalQueries: number): SourceContribution[];
33
+ /**
34
+ * Identify sources that are indexed but rarely retrieved.
35
+ */
36
+ export declare function identifyUnderutilizedSources(contributions: SourceContribution[]): UnderutilizedSource[];
37
+ //# sourceMappingURL=source-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-contribution.d.ts","sourceRoot":"","sources":["../../../src/core/rag/source-contribution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAID;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,gBAAgB,EAAE,EAC1B,YAAY,EAAE,MAAM,GACnB,kBAAkB,EAAE,CAyBtB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,kBAAkB,EAAE,GAClC,mBAAmB,EAAE,CAiBvB"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Source Contribution — measures how much each knowledge source
3
+ * contributes to RAG quality.
4
+ *
5
+ * Aggregates data from traces and usage logs to compute per-source metrics.
6
+ */
7
+ import { logger } from "../utils/logger.js";
8
+ const LOW_HIT_RATE_THRESHOLD = 0.05;
9
+ /**
10
+ * Calculate contribution metrics for each source type.
11
+ */
12
+ export function calculateSourceContributions(traces, totalQueries) {
13
+ if (traces.length === 0)
14
+ return [];
15
+ const totalTokens = traces.reduce((sum, t) => sum + t.totalTokens, 0);
16
+ return traces.map((t) => {
17
+ const feedbackTotal = t.helpfulCount + t.unhelpfulCount;
18
+ return {
19
+ sourceType: t.sourceType,
20
+ documentCount: 0, // Populated by caller from knowledge store count
21
+ retrievalHitRate: totalQueries > 0
22
+ ? t.retrievalCount / totalQueries
23
+ : 0,
24
+ avgRelevanceScore: t.retrievalCount > 0
25
+ ? t.totalRelevanceScore / t.retrievalCount
26
+ : 0,
27
+ helpfulFeedbackRate: feedbackTotal > 0
28
+ ? t.helpfulCount / feedbackTotal
29
+ : 0,
30
+ tokenContribution: totalTokens > 0
31
+ ? t.totalTokens / totalTokens
32
+ : 0,
33
+ };
34
+ });
35
+ }
36
+ /**
37
+ * Identify sources that are indexed but rarely retrieved.
38
+ */
39
+ export function identifyUnderutilizedSources(contributions) {
40
+ const underutilized = [];
41
+ for (const c of contributions) {
42
+ if (c.retrievalHitRate < LOW_HIT_RATE_THRESHOLD && c.documentCount > 0) {
43
+ underutilized.push({
44
+ sourceType: c.sourceType,
45
+ reason: `Low retrieval hit rate (${(c.retrievalHitRate * 100).toFixed(1)}%). Documents indexed: ${c.documentCount}. Consider reindexing or improving keyword coverage.`,
46
+ documentCount: c.documentCount,
47
+ retrievalHitRate: c.retrievalHitRate,
48
+ });
49
+ }
50
+ }
51
+ logger.debug("Underutilized sources identified", { count: underutilized.length });
52
+ return underutilized;
53
+ }
54
+ //# sourceMappingURL=source-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-contribution.js","sourceRoot":"","sources":["../../../src/core/rag/source-contribution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA2B5C,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAA0B,EAC1B,YAAoB;IAEpB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEtE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,MAAM,aAAa,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,cAAc,CAAC;QAExD,OAAO;YACL,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,aAAa,EAAE,CAAC,EAAE,iDAAiD;YACnE,gBAAgB,EAAE,YAAY,GAAG,CAAC;gBAChC,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,YAAY;gBACjC,CAAC,CAAC,CAAC;YACL,iBAAiB,EAAE,CAAC,CAAC,cAAc,GAAG,CAAC;gBACrC,CAAC,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,cAAc;gBAC1C,CAAC,CAAC,CAAC;YACL,mBAAmB,EAAE,aAAa,GAAG,CAAC;gBACpC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,aAAa;gBAChC,CAAC,CAAC,CAAC;YACL,iBAAiB,EAAE,WAAW,GAAG,CAAC;gBAChC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,WAAW;gBAC7B,CAAC,CAAC,CAAC;SACN,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,aAAmC;IAEnC,MAAM,aAAa,GAA0B,EAAE,CAAC;IAEhD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,gBAAgB,GAAG,sBAAsB,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YACvE,aAAa,CAAC,IAAI,CAAC;gBACjB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,aAAa,sDAAsD;gBACvK,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;aACrC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IAElF,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -78,6 +78,15 @@ export declare class SqliteStore {
78
78
  edgesDeleted: number;
79
79
  };
80
80
  bulkInsert(nodes: GraphNode[], edges: GraphEdge[]): void;
81
+ /**
82
+ * Merge-insert nodes and edges using INSERT OR IGNORE semantics for both.
83
+ * Existing nodes (by ID) and edges (by unique constraint) are silently skipped.
84
+ * Returns actual counts of rows inserted.
85
+ */
86
+ mergeInsert(nodes: GraphNode[], edges: GraphEdge[]): {
87
+ nodesInserted: number;
88
+ edgesInserted: number;
89
+ };
81
90
  createSnapshot(): number;
82
91
  recordImport(sourceFile: string, nodesCreated: number, edgesCreated: number): void;
83
92
  getStats(): {
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../../../src/core/store/sqlite-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../../../src/core/store/sqlite-store.ts"],"names":[],"mappings":"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"}
@@ -649,6 +649,48 @@ export class SqliteStore {
649
649
  logger.debug("tx:bulk-insert:done");
650
650
  this._eventBus?.emitTyped("import:completed", { nodesCreated: nodes.length, edgesCreated: edges.length });
651
651
  }
652
+ /**
653
+ * Merge-insert nodes and edges using INSERT OR IGNORE semantics for both.
654
+ * Existing nodes (by ID) and edges (by unique constraint) are silently skipped.
655
+ * Returns actual counts of rows inserted.
656
+ */
657
+ mergeInsert(nodes, edges) {
658
+ const pid = this.ensureProject();
659
+ logger.info("merge-insert:start", { nodes: nodes.length, edges: edges.length });
660
+ let nodesInserted = 0;
661
+ let edgesInserted = 0;
662
+ this.db.transaction(() => {
663
+ for (const node of nodes) {
664
+ const row = nodeToRow(node, pid);
665
+ const result = this.db
666
+ .prepare(`INSERT OR IGNORE INTO nodes
667
+ (id, project_id, type, title, description, status, priority,
668
+ xp_size, estimate_minutes, tags, parent_id, sprint,
669
+ source_file, source_start_line, source_end_line, source_confidence,
670
+ acceptance_criteria, blocked, metadata, created_at, updated_at)
671
+ VALUES
672
+ (@id, @project_id, @type, @title, @description, @status, @priority,
673
+ @xp_size, @estimate_minutes, @tags, @parent_id, @sprint,
674
+ @source_file, @source_start_line, @source_end_line, @source_confidence,
675
+ @acceptance_criteria, @blocked, @metadata, @created_at, @updated_at)`)
676
+ .run(row);
677
+ nodesInserted += result.changes;
678
+ }
679
+ for (const edge of edges) {
680
+ const row = edgeToRow(edge, pid);
681
+ const result = this.db
682
+ .prepare(`INSERT OR IGNORE INTO edges
683
+ (id, project_id, from_node, to_node, relation_type, weight, reason, metadata, created_at)
684
+ VALUES
685
+ (@id, @project_id, @from_node, @to_node, @relation_type, @weight, @reason, @metadata, @created_at)`)
686
+ .run(row);
687
+ edgesInserted += result.changes;
688
+ }
689
+ })();
690
+ logger.info("merge-insert:done", { nodesInserted, edgesInserted });
691
+ this._eventBus?.emitTyped("import:completed", { nodesCreated: nodesInserted, edgesCreated: edgesInserted });
692
+ return { nodesInserted, edgesInserted };
693
+ }
652
694
  // ── Snapshots ────────────────────────────────────
653
695
  createSnapshot() {
654
696
  const pid = this.ensureProject();
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-store.js","sourceRoot":"","sources":["../../../src/core/store/sqlite-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-store.js","sourceRoot":"","sources":["../../../src/core/store/sqlite-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { SqliteStore } from "../../core/store/sqlite-store.js";
3
+ export declare function registerImportGraph(server: McpServer, store: SqliteStore): void;
4
+ //# sourceMappingURL=import-graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-graph.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/import-graph.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAMpE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CA+E/E"}