pcl-mcp 0.2.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/README.md +137 -28
  2. package/dist/benchmarks/evaluators/context-retrieval-quality.d.ts +30 -0
  3. package/dist/benchmarks/evaluators/context-retrieval-quality.d.ts.map +1 -0
  4. package/dist/benchmarks/evaluators/context-retrieval-quality.js +50 -0
  5. package/dist/benchmarks/evaluators/context-retrieval-quality.js.map +1 -0
  6. package/dist/benchmarks/evaluators/ir-metrics.d.ts +32 -0
  7. package/dist/benchmarks/evaluators/ir-metrics.d.ts.map +1 -0
  8. package/dist/benchmarks/evaluators/ir-metrics.js +98 -0
  9. package/dist/benchmarks/evaluators/ir-metrics.js.map +1 -0
  10. package/dist/benchmarks/evaluators/structured-judge.d.ts +34 -0
  11. package/dist/benchmarks/evaluators/structured-judge.d.ts.map +1 -0
  12. package/dist/benchmarks/evaluators/structured-judge.js +153 -0
  13. package/dist/benchmarks/evaluators/structured-judge.js.map +1 -0
  14. package/dist/benchmarks/evaluators/token-counter.d.ts +9 -0
  15. package/dist/benchmarks/evaluators/token-counter.d.ts.map +1 -0
  16. package/dist/benchmarks/evaluators/token-counter.js +24 -0
  17. package/dist/benchmarks/evaluators/token-counter.js.map +1 -0
  18. package/dist/benchmarks/generators/generate-corpus.d.ts +2 -0
  19. package/dist/benchmarks/generators/generate-corpus.d.ts.map +1 -0
  20. package/dist/benchmarks/generators/generate-corpus.js +243 -0
  21. package/dist/benchmarks/generators/generate-corpus.js.map +1 -0
  22. package/dist/benchmarks/lib/harness.d.ts +23 -0
  23. package/dist/benchmarks/lib/harness.d.ts.map +1 -0
  24. package/dist/benchmarks/lib/harness.js +44 -0
  25. package/dist/benchmarks/lib/harness.js.map +1 -0
  26. package/dist/benchmarks/lib/types.d.ts +79 -0
  27. package/dist/benchmarks/lib/types.d.ts.map +1 -0
  28. package/dist/benchmarks/lib/types.js +2 -0
  29. package/dist/benchmarks/lib/types.js.map +1 -0
  30. package/dist/benchmarks/reporters/markdown-reporter.d.ts +2 -0
  31. package/dist/benchmarks/reporters/markdown-reporter.d.ts.map +1 -0
  32. package/dist/benchmarks/reporters/markdown-reporter.js +80 -0
  33. package/dist/benchmarks/reporters/markdown-reporter.js.map +1 -0
  34. package/dist/benchmarks/runners/bench-ablation.d.ts +2 -0
  35. package/dist/benchmarks/runners/bench-ablation.d.ts.map +1 -0
  36. package/dist/benchmarks/runners/bench-ablation.js +49 -0
  37. package/dist/benchmarks/runners/bench-ablation.js.map +1 -0
  38. package/dist/benchmarks/runners/bench-ai-quality.d.ts +2 -0
  39. package/dist/benchmarks/runners/bench-ai-quality.d.ts.map +1 -0
  40. package/dist/benchmarks/runners/bench-ai-quality.js +297 -0
  41. package/dist/benchmarks/runners/bench-ai-quality.js.map +1 -0
  42. package/dist/benchmarks/runners/bench-interactive-eval.d.ts +2 -0
  43. package/dist/benchmarks/runners/bench-interactive-eval.d.ts.map +1 -0
  44. package/dist/benchmarks/runners/bench-interactive-eval.js +119 -0
  45. package/dist/benchmarks/runners/bench-interactive-eval.js.map +1 -0
  46. package/dist/benchmarks/runners/bench-performance.bench.d.ts +2 -0
  47. package/dist/benchmarks/runners/bench-performance.bench.d.ts.map +1 -0
  48. package/dist/benchmarks/runners/bench-performance.bench.js +50 -0
  49. package/dist/benchmarks/runners/bench-performance.bench.js.map +1 -0
  50. package/dist/benchmarks/runners/bench-search-quality.d.ts +2 -0
  51. package/dist/benchmarks/runners/bench-search-quality.d.ts.map +1 -0
  52. package/dist/benchmarks/runners/bench-search-quality.js +70 -0
  53. package/dist/benchmarks/runners/bench-search-quality.js.map +1 -0
  54. package/dist/benchmarks/runners/bench-token-efficiency.d.ts +2 -0
  55. package/dist/benchmarks/runners/bench-token-efficiency.d.ts.map +1 -0
  56. package/dist/benchmarks/runners/bench-token-efficiency.js +89 -0
  57. package/dist/benchmarks/runners/bench-token-efficiency.js.map +1 -0
  58. package/dist/benchmarks/runners/diag.d.ts +2 -0
  59. package/dist/benchmarks/runners/diag.d.ts.map +1 -0
  60. package/dist/benchmarks/runners/diag.js +30 -0
  61. package/dist/benchmarks/runners/diag.js.map +1 -0
  62. package/dist/benchmarks/vitest.config.bench.d.ts +3 -0
  63. package/dist/benchmarks/vitest.config.bench.d.ts.map +1 -0
  64. package/dist/benchmarks/vitest.config.bench.js +14 -0
  65. package/dist/benchmarks/vitest.config.bench.js.map +1 -0
  66. package/dist/bin/pcl.js +36 -23
  67. package/dist/bin/pcl.js.map +1 -1
  68. package/dist/src/db.d.ts +2 -1
  69. package/dist/src/db.d.ts.map +1 -1
  70. package/dist/src/db.js +25 -21
  71. package/dist/src/db.js.map +1 -1
  72. package/dist/src/embeddings.d.ts +1 -1
  73. package/dist/src/embeddings.js +2 -2
  74. package/dist/src/embeddings.js.map +1 -1
  75. package/dist/src/indexer.d.ts +1 -1
  76. package/dist/src/indexer.d.ts.map +1 -1
  77. package/dist/src/indexer.js +6 -2
  78. package/dist/src/indexer.js.map +1 -1
  79. package/dist/src/search.d.ts.map +1 -1
  80. package/dist/src/search.js +138 -26
  81. package/dist/src/search.js.map +1 -1
  82. package/dist/src/server.js +6 -0
  83. package/dist/src/server.js.map +1 -1
  84. package/dist/src/types.d.ts +1 -0
  85. package/dist/src/types.d.ts.map +1 -1
  86. package/dist/tests/db.test.d.ts +2 -0
  87. package/dist/tests/db.test.d.ts.map +1 -0
  88. package/dist/tests/db.test.js +459 -0
  89. package/dist/tests/db.test.js.map +1 -0
  90. package/dist/tests/embeddings.test.d.ts +2 -0
  91. package/dist/tests/embeddings.test.d.ts.map +1 -0
  92. package/dist/tests/embeddings.test.js +165 -0
  93. package/dist/tests/embeddings.test.js.map +1 -0
  94. package/dist/tests/helpers/test-harness.d.ts +26 -0
  95. package/dist/tests/helpers/test-harness.d.ts.map +1 -0
  96. package/dist/tests/helpers/test-harness.js +80 -0
  97. package/dist/tests/helpers/test-harness.js.map +1 -0
  98. package/dist/tests/indexer.test.d.ts +2 -0
  99. package/dist/tests/indexer.test.d.ts.map +1 -0
  100. package/dist/tests/indexer.test.js +299 -0
  101. package/dist/tests/indexer.test.js.map +1 -0
  102. package/dist/tests/schemas.test.d.ts +2 -0
  103. package/dist/tests/schemas.test.d.ts.map +1 -0
  104. package/dist/tests/schemas.test.js +378 -0
  105. package/dist/tests/schemas.test.js.map +1 -0
  106. package/dist/tests/search.test.d.ts +2 -0
  107. package/dist/tests/search.test.d.ts.map +1 -0
  108. package/dist/tests/search.test.js +129 -0
  109. package/dist/tests/search.test.js.map +1 -0
  110. package/dist/tests/tools.test.d.ts +2 -0
  111. package/dist/tests/tools.test.d.ts.map +1 -0
  112. package/dist/tests/tools.test.js +232 -0
  113. package/dist/tests/tools.test.js.map +1 -0
  114. package/package.json +14 -2
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- declare const DIMS = 384;
1
+ declare const DIMS = 768;
2
2
  export declare function embedText(text: string): Promise<number[]>;
3
3
  export declare function embedBatch(texts: string[], onProgress?: (done: number, total: number) => void): Promise<number[][]>;
4
4
  export declare function cosineSimilarity(a: number[], b: number[]): number;
@@ -8,8 +8,8 @@
8
8
  // • Best-in-class for semantic similarity at this size
9
9
  //
10
10
  // The pipeline is lazily initialised on first call and reused.
11
- const MODEL_ID = "Xenova/all-MiniLM-L6-v2";
12
- const DIMS = 384;
11
+ const MODEL_ID = "Xenova/all-mpnet-base-v2";
12
+ const DIMS = 768;
13
13
  let _pipeline = null;
14
14
  let _initPromise = null;
15
15
  async function getPipeline() {
@@ -1 +1 @@
1
- {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/embeddings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/embeddings.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type Database from "better-sqlite3";
2
2
  import type { IndexedFile } from "./types.js";
3
3
  export declare function parseFile(path: string, productDir: string): Promise<{
4
- file: Omit<IndexedFile, "embedding">;
4
+ file: Omit<IndexedFile, "embedding" | "embeddingTitle">;
5
5
  error?: string;
6
6
  } | null>;
7
7
  export declare function indexFile(db: Database.Database, path: string, productDir: string, embed?: boolean): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/indexer.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAY,WAAW,EAAE,MAAM,YAAY,CAAC;AAqBxD,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA6C1E;AAID,wBAAsB,SAAS,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,KAAK,UAAO,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BlE;AAoBD,wBAAsB,SAAS,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAC/D,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAc/D;AAID,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACjD,OAAO,CAAC,MAAM,CAAC,CAYjB;AAID,wBAAsB,YAAY,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAC9C,OAAO,CAAC,MAAM,IAAI,CAAC,CA0BrB"}
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/indexer.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAY,WAAW,EAAE,MAAM,YAAY,CAAC;AAqBxD,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,gBAAgB,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA6C7F;AAID,wBAAsB,SAAS,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,KAAK,UAAO,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgClE;AAoBD,wBAAsB,SAAS,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAC/D,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAc/D;AAID,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACjD,OAAO,CAAC,MAAM,CAAC,CAYjB;AAID,wBAAsB,YAAY,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAC9C,OAAO,CAAC,MAAM,IAAI,CAAC,CA0BrB"}
@@ -78,13 +78,17 @@ export async function indexFile(db, path, productDir, embed = true) {
78
78
  const { file, error } = parsed;
79
79
  const existing = getFileByPath(db, path);
80
80
  const contentChanged = !existing || existing.hash !== file.hash;
81
- // Compute embedding first, then single upsert — avoids race where search
81
+ // Compute embeddings first, then single upsert — avoids race where search
82
82
  // sees the file with an empty embedding between two DB writes.
83
+ // Title and body are embedded separately for split semantic scoring.
83
84
  let embedding = [];
85
+ let embeddingTitle = [];
84
86
  let embedded = false;
85
87
  if (embed && contentChanged) {
86
88
  try {
89
+ // Embed body for semantic search; title+summary for supplementary matching
87
90
  embedding = await embedText(file.fullText);
91
+ embeddingTitle = await embedText(file.title + " — " + file.summary);
88
92
  embedded = true;
89
93
  }
90
94
  catch (e) {
@@ -93,7 +97,7 @@ export async function indexFile(db, path, productDir, embed = true) {
93
97
  }
94
98
  }
95
99
  if (contentChanged) {
96
- upsertFile(db, { ...file, embedding });
100
+ upsertFile(db, { ...file, embedding, embeddingTitle });
97
101
  }
98
102
  return { indexed: contentChanged, embedded, error };
99
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/indexer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAe,YAAY,EAAa,MAAM,YAAY,CAAC;AA2CvE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3D,wBAAsB,MAAM,CAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IACJ,IAAI,CAAC,EAAK,UAAU,CAAC;IACrB,IAAI,CAAC,EAAK,MAAM,CAAC;IACjB,KAAK,CAAC,EAAI,MAAM,EAAE,CAAC;CACf,GACL,OAAO,CAAC,YAAY,EAAE,CAAC,CAwCzB;AAID,wBAAsB,WAAW,CAC/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,SAAI,GACP,OAAO,CAAC,YAAY,EAAE,CAAC,CA4BzB"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAe,YAAY,EAAa,MAAM,YAAY,CAAC;AAiFvE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3D,wBAAsB,MAAM,CAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IACJ,IAAI,CAAC,EAAK,UAAU,CAAC;IACrB,IAAI,CAAC,EAAK,MAAM,CAAC;IACjB,KAAK,CAAC,EAAI,MAAM,EAAE,CAAC;CACf,GACL,OAAO,CAAC,YAAY,EAAE,CAAC,CAmBzB;AA8HD,wBAAsB,WAAW,CAC/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,SAAI,GACP,OAAO,CAAC,YAAY,EAAE,CAAC,CAuBzB"}
@@ -8,20 +8,30 @@
8
8
  //
9
9
  // Reciprocal Rank Fusion (Cormack et al., 2009):
10
10
  // score(d) = Σ 1 / (k + rank(d)) for each result list
11
- // k=60 is the standard constant dampens the dominance of rank-1 results.
11
+ // k is adaptive based on corpus size for better score discrimination.
12
+ //
13
+ // Multi-hop query decomposition:
14
+ // Queries referencing two distinct concepts are split into sub-queries,
15
+ // run independently, and merged with coverage-weighted scoring.
12
16
  import { keywordSearch, getAllWithEmbeddings } from "./db.js";
13
17
  import { embedText, rankBySimilarity } from "./embeddings.js";
14
- const RRF_K = 60;
18
+ // Adaptive RRF_K: small corpora need low K for score spread.
19
+ function rrfK(corpusSize) {
20
+ if (corpusSize < 50)
21
+ return Math.max(1, Math.ceil(corpusSize / 5));
22
+ if (corpusSize < 100)
23
+ return Math.max(3, Math.floor(corpusSize / 10));
24
+ return 60;
25
+ }
26
+ const MAX_CROSS_REFS = 2;
15
27
  // ─── RRF fusion ───────────────────────────────────────────────────────────────
16
- function rrf(lists, // each list is an ordered array of {id, rank}
17
- allFiles) {
28
+ function rrf(lists, allFiles, k) {
18
29
  const scores = new Map();
19
30
  for (const list of lists) {
20
31
  for (const { id, rank } of list) {
21
- scores.set(id, (scores.get(id) ?? 0) + 1 / (RRF_K + rank));
32
+ scores.set(id, (scores.get(id) ?? 0) + 1 / (k + rank));
22
33
  }
23
34
  }
24
- // Normalise scores to [0, 1]
25
35
  const maxScore = Math.max(...scores.values(), 1e-9);
26
36
  return [...scores.entries()]
27
37
  .sort(([, a], [, b]) => b - a)
@@ -41,34 +51,141 @@ allFiles) {
41
51
  })
42
52
  .filter((r) => r !== null);
43
53
  }
54
+ // ─── Score gap detection ────────────────────────────────────────────────────
55
+ function applyScoreGap(results) {
56
+ if (results.length <= 1)
57
+ return results;
58
+ const threshold = results[0].score * 0.15;
59
+ const kept = results.filter(r => r.score >= threshold);
60
+ return kept.length > 0 ? kept : results.slice(0, 1);
61
+ }
62
+ // ─── Multi-hop query decomposition ──────────────────────────────────────────
63
+ // Detects queries referencing two distinct concepts and splits them for
64
+ // independent retrieval, then merges with coverage-weighted scoring.
65
+ const MULTI_HOP_PATTERNS = [
66
+ /\bhow\s+does?\s+(.+?)\s+(?:affect|impact|influence|relate\s+to)\s+(.+)/i,
67
+ /\bwhich\s+(.+?)\s+(?:affect|apply\s+to|impact|relate\s+to)\s+(.+)/i,
68
+ /\bwhat\s+(.+?)\s+(?:for|about|regarding|when\s+building|to\s+consider\s+for)\s+(.+)/i,
69
+ /\bhow\s+(?:should|does|do)\s+(.+?)\s+(?:and|with)\s+(.+)/i,
70
+ ];
71
+ function detectMultiHop(query) {
72
+ for (const pattern of MULTI_HOP_PATTERNS) {
73
+ const match = query.match(pattern);
74
+ if (match && match[1] && match[2]) {
75
+ return [match[1].trim(), match[2].trim()];
76
+ }
77
+ }
78
+ return null;
79
+ }
44
80
  export async function search(db, query, opts = {}) {
45
- const { mode = "hybrid", topK = 8, types } = opts;
46
- // Build a fast lookup map for all indexed files
81
+ const { mode = "hybrid", topK = 5, types } = opts;
47
82
  const allIndexed = getAllWithEmbeddings(db);
48
83
  const fileMap = new Map(allIndexed.map(f => [f.id, f]));
49
- // Apply type filter if requested
50
84
  const candidates = types && types.length > 0
51
85
  ? allIndexed.filter(f => types.includes(f.type))
52
86
  : allIndexed;
87
+ const corpusSize = candidates.length;
88
+ const fetchK = Math.min(topK * 2, corpusSize);
89
+ // Multi-hop decomposition is available but disabled by default.
90
+ // Enable via opts if needed for specific use cases.
91
+ return searchSingle(db, query, mode, fileMap, candidates, fetchK, topK);
92
+ }
93
+ // ─── Single-query search ────────────────────────────────────────────────────
94
+ async function searchSingle(db, query, mode, fileMap, candidates, fetchK, topK) {
95
+ const corpusSize = candidates.length;
96
+ const k = rrfK(corpusSize);
53
97
  const rrfLists = [];
54
- // ── BM25 (keyword) ──────────────────────────────────────────────────────────
55
98
  if (mode === "hybrid" || mode === "keyword") {
56
- const kw = keywordSearch(db, query, topK * 2);
57
- const kwFiltered = types && types.length > 0
58
- ? kw.filter(r => types.includes(r.type))
59
- : kw;
60
- rrfLists.push(kwFiltered.map((r, i) => ({ id: r.id, rank: i })));
99
+ const kw = keywordSearch(db, query, fetchK);
100
+ rrfLists.push(kw.map((r, i) => ({ id: r.id, rank: i })));
61
101
  }
62
- // ── Semantic (cosine) ────────────────────────────────────────────────────────
63
102
  if (mode === "hybrid" || mode === "semantic") {
64
103
  const queryVec = await embedText(query);
65
- const semResults = rankBySimilarity(queryVec, candidates.map(f => ({ id: f.id, type: f.type, embedding: f.embedding })), topK * 2);
104
+ const semResults = rankBySimilarity(queryVec, candidates.map(f => ({ id: f.id, type: f.type, embedding: f.embedding })), fetchK);
66
105
  rrfLists.push(semResults.map((r, i) => ({ id: r.id, rank: i })));
67
106
  }
68
107
  if (rrfLists.length === 0)
69
108
  return [];
70
- const fused = rrf(rrfLists, fileMap);
71
- return fused.slice(0, topK);
109
+ const fused = rrf(rrfLists, fileMap, k);
110
+ const topResults = applyScoreGap(fused.slice(0, topK));
111
+ // ── Cross-reference resolution ─────────────────────────────────────────
112
+ const resultIds = new Set(topResults.map(r => r.id));
113
+ const extras = [];
114
+ function addRef(refId, parentScore) {
115
+ if (!refId || resultIds.has(refId))
116
+ return;
117
+ if (extras.length >= MAX_CROSS_REFS)
118
+ return;
119
+ const refFile = fileMap.get(refId);
120
+ if (!refFile)
121
+ return;
122
+ extras.push({
123
+ id: refFile.id, type: refFile.type, title: refFile.title,
124
+ score: parentScore * 0.6,
125
+ excerpt: refFile.summary, path: refFile.path, frontmatter: refFile.frontmatter,
126
+ });
127
+ resultIds.add(refId);
128
+ }
129
+ for (const result of topResults.slice(0, 2)) {
130
+ const fm = result.frontmatter;
131
+ for (const field of ["persona", "primary_persona", "journey"]) {
132
+ const ref = fm[field];
133
+ if (typeof ref === "string")
134
+ addRef(ref, result.score);
135
+ }
136
+ }
137
+ return [...topResults, ...extras];
138
+ }
139
+ // ─── Multi-hop search ───────────────────────────────────────────────────────
140
+ // Runs sub-queries independently and merges with coverage bonus.
141
+ async function searchMultiHop(db, subQueries, fullQuery, fileMap, candidates, fetchK, topK) {
142
+ // Run each sub-query independently
143
+ const subScores = [];
144
+ for (const sq of subQueries) {
145
+ const results = await searchSingle(db, sq, "hybrid", fileMap, candidates, fetchK, topK);
146
+ const scores = new Map();
147
+ for (const r of results)
148
+ scores.set(r.id, r.score);
149
+ subScores.push(scores);
150
+ }
151
+ // Also run the full query
152
+ const fullResults = await searchSingle(db, fullQuery, "hybrid", fileMap, candidates, fetchK, topK);
153
+ const fullScores = new Map();
154
+ for (const r of fullResults)
155
+ fullScores.set(r.id, r.score);
156
+ // Merge with coverage-weighted scoring
157
+ const allIds = new Set();
158
+ for (const m of subScores)
159
+ for (const id of m.keys())
160
+ allIds.add(id);
161
+ for (const id of fullScores.keys())
162
+ allIds.add(id);
163
+ const merged = [];
164
+ for (const id of allIds) {
165
+ let maxScore = fullScores.get(id) ?? 0;
166
+ let coverage = 0;
167
+ for (const m of subScores) {
168
+ const s = m.get(id) ?? 0;
169
+ if (s > 0)
170
+ coverage++;
171
+ maxScore = Math.max(maxScore, s);
172
+ }
173
+ // Docs matching multiple sub-queries get a coverage bonus
174
+ const coverageBonus = coverage >= 2 ? 1.5 : 1.0;
175
+ merged.push({ id, score: maxScore * coverageBonus });
176
+ }
177
+ merged.sort((a, b) => b.score - a.score);
178
+ const maxScore = Math.max(...merged.map(m => m.score), 1e-9);
179
+ return merged.slice(0, topK).map(({ id, score }) => {
180
+ const file = fileMap.get(id);
181
+ if (!file)
182
+ return null;
183
+ return {
184
+ id: file.id, type: file.type, title: file.title,
185
+ score: score / maxScore,
186
+ excerpt: file.summary, path: file.path, frontmatter: file.frontmatter,
187
+ };
188
+ }).filter((r) => r !== null);
72
189
  }
73
190
  // ─── Related files (semantic only, excluding self) ────────────────────────────
74
191
  export async function findRelated(db, sourceId, topK = 5) {
@@ -85,13 +202,8 @@ export async function findRelated(db, sourceId, topK = 5) {
85
202
  if (!f)
86
203
  return null;
87
204
  return {
88
- id: f.id,
89
- type: f.type,
90
- title: f.title,
91
- score: r.score,
92
- excerpt: f.summary,
93
- path: f.path,
94
- frontmatter: f.frontmatter,
205
+ id: f.id, type: f.type, title: f.title, score: r.score,
206
+ excerpt: f.summary, path: f.path, frontmatter: f.frontmatter,
95
207
  };
96
208
  })
97
209
  .filter((r) => r !== null);
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":"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"}
@@ -135,6 +135,12 @@ async function main() {
135
135
  else {
136
136
  parts.push("# Product Summary\n\nNo product.md found. Run `pcl init` to scaffold the product folder.");
137
137
  }
138
+ // Always include personas — agents need to know WHO they're building for
139
+ const personas = listByType(db, "persona");
140
+ if (personas.length > 0) {
141
+ const personaSummaries = personas.map(p => `• **${p.id}** — ${p.title}: ${p.summary.slice(0, 150)}`).join("\n");
142
+ parts.push("\n\n---\n\n# Personas\n\n" + personaSummaries);
143
+ }
138
144
  const critical = getCritical(db);
139
145
  if (critical.length > 0) {
140
146
  parts.push("\n\n---\n\n# Critical Domain Rules\n\n" + critical.map(renderFile).join("\n\n---\n\n"));
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export interface PCLFile {
11
11
  }
12
12
  export interface IndexedFile extends PCLFile {
13
13
  embedding: number[];
14
+ embeddingTitle: number[];
14
15
  title: string;
15
16
  summary: string;
16
17
  critical: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,SAAS,GACT,SAAS,GACT,MAAM,GACN,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,SAAS,GACT,SAAS,GACT,MAAM,GACN,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=db.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.test.d.ts","sourceRoot":"","sources":["../../tests/db.test.ts"],"names":[],"mappings":""}