@rubytech/create-maxy-code 0.1.132 → 0.1.140

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 (161) hide show
  1. package/dist/__tests__/installer-specialist-registration.test.js +5 -40
  2. package/dist/index.js +24 -28
  3. package/dist/specialist-registration.js +0 -15
  4. package/package.json +1 -1
  5. package/payload/platform/config/brand.json +1 -1
  6. package/payload/platform/lib/graph-search/dist/boosts.d.ts +39 -0
  7. package/payload/platform/lib/graph-search/dist/boosts.d.ts.map +1 -0
  8. package/payload/platform/lib/graph-search/dist/boosts.js +57 -0
  9. package/payload/platform/lib/graph-search/dist/boosts.js.map +1 -0
  10. package/payload/platform/lib/graph-search/dist/dedup.d.ts +29 -0
  11. package/payload/platform/lib/graph-search/dist/dedup.d.ts.map +1 -0
  12. package/payload/platform/lib/graph-search/dist/dedup.js +97 -0
  13. package/payload/platform/lib/graph-search/dist/dedup.js.map +1 -0
  14. package/payload/platform/lib/graph-search/dist/index.d.ts +70 -8
  15. package/payload/platform/lib/graph-search/dist/index.d.ts.map +1 -1
  16. package/payload/platform/lib/graph-search/dist/index.js +323 -62
  17. package/payload/platform/lib/graph-search/dist/index.js.map +1 -1
  18. package/payload/platform/lib/graph-search/dist/query-expansion.d.ts +37 -0
  19. package/payload/platform/lib/graph-search/dist/query-expansion.d.ts.map +1 -0
  20. package/payload/platform/lib/graph-search/dist/query-expansion.js +101 -0
  21. package/payload/platform/lib/graph-search/dist/query-expansion.js.map +1 -0
  22. package/payload/platform/lib/graph-search/dist/route.d.ts +29 -0
  23. package/payload/platform/lib/graph-search/dist/route.d.ts.map +1 -0
  24. package/payload/platform/lib/graph-search/dist/route.js +53 -0
  25. package/payload/platform/lib/graph-search/dist/route.js.map +1 -0
  26. package/payload/platform/lib/graph-search/dist/rrf-fusion.d.ts +31 -0
  27. package/payload/platform/lib/graph-search/dist/rrf-fusion.d.ts.map +1 -0
  28. package/payload/platform/lib/graph-search/dist/rrf-fusion.js +57 -0
  29. package/payload/platform/lib/graph-search/dist/rrf-fusion.js.map +1 -0
  30. package/payload/platform/lib/graph-search/src/__tests__/boosts.test.ts +59 -0
  31. package/payload/platform/lib/graph-search/src/__tests__/dedup.test.ts +83 -0
  32. package/payload/platform/lib/graph-search/src/__tests__/query-expansion.test.ts +96 -0
  33. package/payload/platform/lib/graph-search/src/__tests__/route.test.ts +62 -0
  34. package/payload/platform/lib/graph-search/src/__tests__/rrf-fusion.test.ts +39 -0
  35. package/payload/platform/lib/graph-search/src/boosts.ts +61 -0
  36. package/payload/platform/lib/graph-search/src/dedup.ts +108 -0
  37. package/payload/platform/lib/graph-search/src/index.ts +407 -65
  38. package/payload/platform/lib/graph-search/src/query-expansion.ts +129 -0
  39. package/payload/platform/lib/graph-search/src/route.ts +70 -0
  40. package/payload/platform/lib/graph-search/src/rrf-fusion.ts +62 -0
  41. package/payload/platform/lib/obsidian-parser/dist/index.d.ts +98 -0
  42. package/payload/platform/lib/obsidian-parser/dist/index.d.ts.map +1 -0
  43. package/payload/platform/lib/obsidian-parser/dist/index.js +480 -0
  44. package/payload/platform/lib/obsidian-parser/dist/index.js.map +1 -0
  45. package/payload/platform/lib/obsidian-parser/src/index.ts +572 -0
  46. package/payload/platform/lib/obsidian-parser/tsconfig.json +8 -0
  47. package/payload/platform/neo4j/schema.cypher +86 -1
  48. package/payload/platform/package.json +2 -2
  49. package/payload/platform/plugins/.claude-plugin/marketplace.json +10 -0
  50. package/payload/platform/plugins/admin/hooks/session-end-retrospective.sh +4 -2
  51. package/payload/platform/plugins/admin/mcp/dist/index.js +6 -4
  52. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  53. package/payload/platform/plugins/docs/references/internals.md +36 -10
  54. package/payload/platform/plugins/docs/references/neo4j.md +63 -0
  55. package/payload/platform/plugins/docs/references/plugins-guide.md +2 -0
  56. package/payload/platform/plugins/docs/references/session-retrospective.md +11 -4
  57. package/payload/platform/plugins/graph-viewer/mcp/dist/tools/graph-render.js +2 -2
  58. package/payload/platform/plugins/graph-viewer/mcp/dist/tools/graph-render.js.map +1 -1
  59. package/payload/platform/plugins/memory/PLUGIN.md +3 -0
  60. package/payload/platform/plugins/memory/mcp/dist/index.js +203 -7
  61. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  62. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/graph-write-gate-property.test.d.ts +2 -0
  63. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/graph-write-gate-property.test.d.ts.map +1 -0
  64. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/graph-write-gate-property.test.js +25 -0
  65. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/graph-write-gate-property.test.js.map +1 -0
  66. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/timeline-extractor.test.d.ts +2 -0
  67. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/timeline-extractor.test.d.ts.map +1 -0
  68. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/timeline-extractor.test.js +70 -0
  69. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/timeline-extractor.test.js.map +1 -0
  70. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/typed-edge-schema.test.d.ts +2 -0
  71. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/typed-edge-schema.test.d.ts.map +1 -0
  72. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/typed-edge-schema.test.js +50 -0
  73. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/typed-edge-schema.test.js.map +1 -0
  74. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.d.ts +33 -0
  75. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.d.ts.map +1 -0
  76. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.js +99 -0
  77. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.js.map +1 -0
  78. package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.d.ts +21 -0
  79. package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.d.ts.map +1 -1
  80. package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.js +24 -0
  81. package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.js.map +1 -1
  82. package/payload/platform/plugins/memory/mcp/dist/lib/timeline-extractor.d.ts +13 -0
  83. package/payload/platform/plugins/memory/mcp/dist/lib/timeline-extractor.d.ts.map +1 -0
  84. package/payload/platform/plugins/memory/mcp/dist/lib/timeline-extractor.js +151 -0
  85. package/payload/platform/plugins/memory/mcp/dist/lib/timeline-extractor.js.map +1 -0
  86. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.d.ts +55 -0
  87. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.d.ts.map +1 -0
  88. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.js +290 -0
  89. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.js.map +1 -0
  90. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-schema.d.ts +19 -0
  91. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-schema.d.ts.map +1 -0
  92. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-schema.js +102 -0
  93. package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-schema.js.map +1 -0
  94. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-search-fields.test.js +18 -1
  95. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-search-fields.test.js.map +1 -1
  96. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.js +5 -0
  97. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.js.map +1 -1
  98. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.js +2 -0
  99. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.js.map +1 -1
  100. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.d.ts +64 -1
  101. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.d.ts.map +1 -1
  102. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js +258 -0
  103. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js.map +1 -1
  104. package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.d.ts.map +1 -1
  105. package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.js +14 -0
  106. package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.js.map +1 -1
  107. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.d.ts +29 -0
  108. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.d.ts.map +1 -0
  109. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.js +22 -0
  110. package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.js.map +1 -0
  111. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.d.ts +31 -1
  112. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.d.ts.map +1 -1
  113. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js +182 -50
  114. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js.map +1 -1
  115. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts.map +1 -1
  116. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +76 -1
  117. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -1
  118. package/payload/platform/plugins/memory/mcp/dist/tools/obsidian-vault-import.d.ts +127 -0
  119. package/payload/platform/plugins/memory/mcp/dist/tools/obsidian-vault-import.d.ts.map +1 -0
  120. package/payload/platform/plugins/memory/mcp/dist/tools/obsidian-vault-import.js +477 -0
  121. package/payload/platform/plugins/memory/mcp/dist/tools/obsidian-vault-import.js.map +1 -0
  122. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.d.ts +30 -0
  123. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.d.ts.map +1 -0
  124. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.js +129 -0
  125. package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.js.map +1 -0
  126. package/payload/platform/plugins/memory/mcp/scripts/backfill-typed-edges.ts +72 -0
  127. package/payload/platform/plugins/memory/mcp/scripts/generate-edge-docs.ts +75 -0
  128. package/payload/platform/plugins/memory/mcp/vitest.config.ts +5 -0
  129. package/payload/platform/plugins/memory/references/schema-base.md +44 -0
  130. package/payload/platform/plugins/notion-import/.claude-plugin/plugin.json +8 -0
  131. package/payload/platform/plugins/notion-import/PLUGIN.md +27 -0
  132. package/payload/platform/plugins/notion-import/skills/notion-import/SKILL.md +110 -0
  133. package/payload/platform/plugins/notion-import/skills/notion-import/references/attachments.md +55 -0
  134. package/payload/platform/plugins/notion-import/skills/notion-import/references/databases.md +81 -0
  135. package/payload/platform/plugins/notion-import/skills/notion-import/references/page-tree.md +61 -0
  136. package/payload/platform/plugins/notion-import/skills/notion-import/references/workspace-export.md +41 -0
  137. package/payload/platform/plugins/obsidian-import/.claude-plugin/plugin.json +8 -0
  138. package/payload/platform/plugins/obsidian-import/PLUGIN.md +39 -0
  139. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/SKILL.md +92 -0
  140. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/attachments.md +80 -0
  141. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/daily-notes.md +31 -0
  142. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/vault-structure.md +46 -0
  143. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/wikilinks.md +70 -0
  144. package/payload/platform/scripts/seed-neo4j.sh +49 -0
  145. package/payload/platform/templates/agents/admin/IDENTITY.md +4 -3
  146. package/payload/platform/templates/specialists/agents/database-operator.md +21 -1
  147. package/payload/server/{adminuser-self-heal-QAWOZ3JV.js → adminuser-self-heal-YC47O34W.js} +2 -1
  148. package/payload/server/{chunk-JSBRDJBE.js → chunk-HYQNUVGO.js} +9 -1
  149. package/payload/server/{chunk-HCYM5FLU.js → chunk-T3DJD5QR.js} +3 -1
  150. package/payload/server/maxy-edge.js +3 -2
  151. package/payload/server/public/assets/{admin-FcRHAL-3.js → admin-BM9aXUUh.js} +1 -1
  152. package/payload/server/public/assets/{data-Ds37mflX.js → data-Ds2ECtfP.js} +1 -1
  153. package/payload/server/public/assets/{graph-CmWRhaiS.js → graph-BzxObKMM.js} +1 -1
  154. package/payload/server/public/assets/{graph-labels-Ch2r00Gt.js → graph-labels-Dwgep_nr.js} +1 -1
  155. package/payload/server/public/assets/{page-BcHhJXUt.js → page-BlkBsjP2.js} +1 -1
  156. package/payload/server/public/assets/page-h_SA5SVQ.js +51 -0
  157. package/payload/server/public/data.html +3 -3
  158. package/payload/server/public/graph.html +3 -3
  159. package/payload/server/public/index.html +4 -4
  160. package/payload/server/server.js +803 -76
  161. package/payload/server/public/assets/page-BOtNny_4.js +0 -51
@@ -40,7 +40,7 @@
40
40
  * line with the prefix and fields it wants.
41
41
  */
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.FULLTEXT_INDEX_NAME = void 0;
43
+ exports.FULLTEXT_INDEX_NAME = exports.DEFAULT_LAYERS = void 0;
44
44
  exports.escapeLucene = escapeLucene;
45
45
  exports.normaliseBm25Scores = normaliseBm25Scores;
46
46
  exports.discoverIndexes = discoverIndexes;
@@ -49,8 +49,37 @@ exports.bm25Only = bm25Only;
49
49
  exports.hybrid = hybrid;
50
50
  const neo4j_driver_1 = require("neo4j-driver");
51
51
  const index_js_1 = require("../../graph-trash/dist/index.js");
52
+ const rrf_fusion_js_1 = require("./rrf-fusion.js");
53
+ const query_expansion_js_1 = require("./query-expansion.js");
54
+ const boosts_js_1 = require("./boosts.js");
55
+ const dedup_js_1 = require("./dedup.js");
56
+ Object.defineProperty(exports, "DEFAULT_LAYERS", { enumerable: true, get: function () { return dedup_js_1.DEFAULT_LAYERS; } });
57
+ const route_js_1 = require("./route.js");
52
58
  const VECTOR_WEIGHT = 0.7;
53
59
  const BM25_WEIGHT = 0.3;
60
+ /**
61
+ * Per-enhancement feature flags (Task 308). All read from env at the
62
+ * boundary of each `hybrid()` call so flips do not require a process
63
+ * restart. Per-call `HybridParams` fields override the env defaults so
64
+ * tests and A/B harnesses can opt in without touching the environment.
65
+ *
66
+ * Defaults are OFF — unflagged callers see exactly the baseline
67
+ * weighted-sum + nodeId-only-dedup baseline. Flip a flag on at the
68
+ * environment level after the soak window passes.
69
+ */
70
+ function envFlag(name) {
71
+ const v = process.env[name];
72
+ return v === "1" || v === "true" || v === "yes";
73
+ }
74
+ function readFlags() {
75
+ return {
76
+ rrf: envFlag("MAXY_GS_RRF"),
77
+ expansion: envFlag("MAXY_GS_EXPANSION"),
78
+ boosts: envFlag("MAXY_GS_BOOSTS"),
79
+ dedup: envFlag("MAXY_GS_DEDUP"),
80
+ route: envFlag("MAXY_GS_ROUTE"),
81
+ };
82
+ }
54
83
  /**
55
84
  * Name of the universal fulltext index. Mirrors the `CREATE FULLTEXT
56
85
  * INDEX` declaration in `platform/neo4j/schema.cypher`. The doctrine test
@@ -177,24 +206,72 @@ async function bm25Only(session, params) {
177
206
  * Hybrid vector + BM25 search with graph expansion.
178
207
  *
179
208
  * Sequence:
180
- * 1. embed(query) may throw if Ollama is unreachable. When
209
+ * 1. Resolve flags + route plan. Route may short-circuit (`retrievalClass=none`).
210
+ * 2. Multi-query expansion (Task 308 flag): Haiku produces 3-5 paraphrases.
211
+ * Each paraphrase is embedded and run through vector+BM25 in parallel.
212
+ * 3. embed(query) — may throw if Ollama is unreachable. When
181
213
  * `degradeOnEmbedFailure=true`, caller receives bm25Only() result
182
214
  * with `mode: "bm25"`; otherwise the throw propagates.
183
- * 2. Vector search per label (one query per vector index discovered at
215
+ * 4. Vector search per label (one query per vector index discovered at
184
216
  * boot). Nodes-by-label filter short-circuits when the requested
185
217
  * labels have no index.
186
- * 3. BM25 search on the universal `entity_search` index —
218
+ * 5. BM25 search on the universal `entity_search` index —
187
219
  * same filter semantics as vector half (scope/agent/keyword/trashed).
188
- * 4. Keyword subscriptions (when set): BM25 per keyword + property
220
+ * 6. Keyword subscriptions (when set): BM25 per keyword + property
189
221
  * lookup against `node.keywords` array. Both bypass the agentSlug
190
222
  * filter — subscriptions are scope-inclusive by design (matches
191
- * memory-search.ts comment L319).
192
- * 5. Merge: 0.7*vector + 0.3*bm25_norm, dedup by nodeId, sort.
193
- * 6. Graph expand (1 hop by default, 0 to skip) — notTrashed filter +
223
+ * memory-search.ts comment L319). Runs once, not per expansion.
224
+ * 7. Fusion: weighted-sum (`vw * vector + bw * bm25_norm`) by default,
225
+ * RRF when `MAXY_GS_RRF` is on. Route plan supplies fusion weights.
226
+ * 8. Boosts (Task 308 flag): compiledTruth bump + backlink log-bump.
227
+ * 9. Dedup (Task 308 flag): 4-layer dedup over the union, default layers
228
+ * `[nodeId, slug, canonicalName, contentHash]`.
229
+ * 10. Threshold + sort + slice. Counts (rawMerged / suppressed / bm25Bypass)
230
+ * reflect the pre-threshold and post-threshold populations.
231
+ * 11. Graph expand (1 hop by default, 0 to skip) — notTrashed filter +
194
232
  * scope + agent clauses mirrored.
195
233
  */
196
234
  async function hybrid(session, embed, params) {
197
- const { query, labels, accountId, limit, allowedScopes, keywords, keywordMatch = "any", agentSlug, keywordSubscriptions, expandHops = 1, degradeOnEmbedFailure = false, } = params;
235
+ const { query, labels, accountId, limit, allowedScopes, keywords, keywordMatch = "any", agentSlug, keywordSubscriptions, expandHops = 1, degradeOnEmbedFailure = false, retrievalClass, dedupLayers = dedup_js_1.DEFAULT_LAYERS, rrfK = 60, } = params;
236
+ const envFlags = readFlags();
237
+ const useRoute = params.enableRoute ?? envFlags.route;
238
+ const useRrf = params.enableRrf ?? envFlags.rrf;
239
+ const useExpansion = params.enableExpansion ?? envFlags.expansion;
240
+ const useBoosts = params.enableBoosts ?? envFlags.boosts;
241
+ const useDedup = params.enableDedup ?? envFlags.dedup;
242
+ // --- Route plan (Task 308): pick label filter + fusion weights from class ---
243
+ const plan = useRoute
244
+ ? (0, route_js_1.pickIndexMix)(retrievalClass)
245
+ : { skip: false, vectorWeight: VECTOR_WEIGHT, bm25Weight: BM25_WEIGHT, labelFilter: undefined };
246
+ const emptyStageCounts = {
247
+ expansions: 1,
248
+ vector: 0,
249
+ bm25: 0,
250
+ fused: 0,
251
+ boosted: 0,
252
+ deduped: 0,
253
+ final: 0,
254
+ };
255
+ if (plan.skip) {
256
+ return {
257
+ mode: useRrf ? "rrf" : "hybrid",
258
+ results: [],
259
+ expandMs: 0,
260
+ rawMerged: 0,
261
+ suppressed: 0,
262
+ bm25Bypass: 0,
263
+ threshold: params.vectorThreshold ?? null,
264
+ stageCounts: emptyStageCounts,
265
+ };
266
+ }
267
+ // Per-call labels win over route-supplied label filter — operator-set
268
+ // filters are intentional; the route plan is a soft hint.
269
+ const effectiveLabels = (labels && labels.length > 0)
270
+ ? labels
271
+ : plan.labelFilter;
272
+ // --- Degraded path: embed fails, fall back to BM25-only ---
273
+ // Run a single embed up front so degradation is detected before any
274
+ // expansion / multi-query work spins up.
198
275
  let queryEmbedding;
199
276
  try {
200
277
  queryEmbedding = await embed(query);
@@ -203,10 +280,7 @@ async function hybrid(session, embed, params) {
203
280
  if (!degradeOnEmbedFailure)
204
281
  throw err;
205
282
  const msg = err instanceof Error ? err.message : String(err);
206
- const bm25Hits = await bm25Only(session, params);
207
- // even in the degraded path, surface granular components so
208
- // the /data score-line renders consistently. Vector half is 0 (no embed
209
- // happened); bm25 half is normalised across the local hit set.
283
+ const bm25Hits = await bm25Only(session, { ...params, labels: effectiveLabels });
210
284
  const normalised = normaliseBm25Scores(bm25Hits.map((h) => h.score));
211
285
  const results = bm25Hits.map((h, i) => ({
212
286
  ...h,
@@ -214,11 +288,6 @@ async function hybrid(session, embed, params) {
214
288
  bm25Score: normalised[i] ?? 0,
215
289
  related: [],
216
290
  }));
217
- // threshold has no meaning in the degraded path: no embed
218
- // happened, so there is no vector cosine to compare against. Surface
219
- // counts in the response (rawMerged = rendered, suppressed = 0,
220
- // bm25Bypass = 0, threshold = null) so the caller's render path is
221
- // uniform across hybrid + degraded modes.
222
291
  return {
223
292
  mode: "bm25",
224
293
  results,
@@ -228,28 +297,34 @@ async function hybrid(session, embed, params) {
228
297
  suppressed: 0,
229
298
  bm25Bypass: 0,
230
299
  threshold: null,
300
+ stageCounts: {
301
+ expansions: 1,
302
+ vector: 0,
303
+ bm25: results.length,
304
+ fused: results.length,
305
+ boosted: results.length,
306
+ deduped: results.length,
307
+ final: results.length,
308
+ },
231
309
  };
232
310
  }
233
311
  const labelToIndex = await discoverIndexes(session);
234
- const keywordFilter = buildKeywordFilter(keywords, keywordMatch);
235
- const keywordClause = keywordFilter?.clause ?? "";
236
- const keywordParams = keywordFilter?.params ?? {};
237
- const scoreMap = new Map();
238
- // --- Vector search (per label) ---
312
+ // --- Resolve vector indexes from the effective label set ---
239
313
  let indexesToQuery;
240
- if (labels && labels.length > 0) {
241
- indexesToQuery = labels
314
+ if (effectiveLabels && effectiveLabels.length > 0) {
315
+ indexesToQuery = effectiveLabels
242
316
  .map((l) => labelToIndex.get(l))
243
317
  .filter((idx) => idx !== undefined);
244
318
  if (indexesToQuery.length === 0) {
245
319
  return {
246
- mode: "hybrid",
320
+ mode: useRrf ? "rrf" : "hybrid",
247
321
  results: [],
248
322
  expandMs: 0,
249
323
  rawMerged: 0,
250
324
  suppressed: 0,
251
325
  bm25Bypass: 0,
252
326
  threshold: params.vectorThreshold ?? null,
327
+ stageCounts: emptyStageCounts,
253
328
  };
254
329
  }
255
330
  }
@@ -264,32 +339,165 @@ async function hybrid(session, embed, params) {
264
339
  ? "AND node.agents IS NOT NULL AND $agentSlug IN node.agents"
265
340
  : "";
266
341
  const agentParams = agentSlug ? { agentSlug } : {};
267
- for (const indexName of indexesToQuery) {
268
- const vectorResult = await session.run(`CALL db.index.vector.queryNodes($indexName, $limit, $embedding)
269
- YIELD node, score
342
+ const keywordFilter = buildKeywordFilter(keywords, keywordMatch);
343
+ const keywordClause = keywordFilter?.clause ?? "";
344
+ const keywordParams = keywordFilter?.params ?? {};
345
+ // --- Multi-query expansion (Task 308) ---
346
+ // Original query is always first. On expansion failure expandQuery returns
347
+ // [query] only and logs `[graph-search:expansion-failed]`. Embeddings for
348
+ // additional paraphrases are computed in parallel; embed failures on a
349
+ // paraphrase fall back to skipping the vector half for that pass.
350
+ const expansions = useExpansion
351
+ ? await (0, query_expansion_js_1.expandQuery)({ query, retrievalClass, accountId })
352
+ : [query];
353
+ const passes = await Promise.all(expansions.map(async (qText, idx) => {
354
+ let pEmbed;
355
+ if (idx === 0) {
356
+ pEmbed = queryEmbedding;
357
+ }
358
+ else {
359
+ try {
360
+ pEmbed = await embed(qText);
361
+ }
362
+ catch {
363
+ pEmbed = null;
364
+ }
365
+ }
366
+ const vectorRanked = [];
367
+ const vectorSeen = new Map();
368
+ if (pEmbed) {
369
+ for (const indexName of indexesToQuery) {
370
+ const vectorResult = await session.run(`CALL db.index.vector.queryNodes($indexName, $limit, $embedding)
371
+ YIELD node, score
372
+ WHERE node.accountId = $accountId
373
+ ${scopeClause}
374
+ ${agentClause}
375
+ AND ${(0, index_js_1.notTrashed)("node")}
376
+ ${keywordClause}
377
+ RETURN node, score, labels(node) AS nodeLabels, elementId(node) AS nodeId
378
+ ORDER BY score DESC
379
+ LIMIT $limit`, {
380
+ indexName,
381
+ embedding: pEmbed,
382
+ limit: (0, neo4j_driver_1.int)(limit),
383
+ accountId,
384
+ ...scopeParams,
385
+ ...agentParams,
386
+ ...keywordParams,
387
+ });
388
+ for (const record of vectorResult.records) {
389
+ const nodeId = record.get("nodeId");
390
+ const scoreRaw = record.get("score");
391
+ const score = typeof scoreRaw === "number" ? scoreRaw : Number(scoreRaw);
392
+ const existingIdx = vectorSeen.get(nodeId);
393
+ if (existingIdx !== undefined) {
394
+ const existing = vectorRanked[existingIdx];
395
+ if (score > existing.vectorScore)
396
+ existing.vectorScore = score;
397
+ continue;
398
+ }
399
+ const node = record.get("node");
400
+ vectorSeen.set(nodeId, vectorRanked.length);
401
+ vectorRanked.push({
402
+ nodeId,
403
+ labels: record.get("nodeLabels"),
404
+ properties: plainProperties(node.properties),
405
+ vectorScore: score,
406
+ bm25Score: 0,
407
+ bm25Hit: false,
408
+ });
409
+ }
410
+ }
411
+ vectorRanked.sort((a, b) => b.vectorScore - a.vectorScore);
412
+ }
413
+ const bm25Hits = await bm25Only(session, {
414
+ ...params,
415
+ query: qText,
416
+ labels: effectiveLabels,
417
+ });
418
+ const bm25Norm = normaliseBm25Scores(bm25Hits.map((h) => h.score));
419
+ const bm25Ranked = bm25Hits.map((h, i) => ({
420
+ nodeId: h.nodeId,
421
+ labels: h.labels,
422
+ properties: h.properties,
423
+ vectorScore: 0,
424
+ bm25Score: bm25Norm[i] ?? 0,
425
+ bm25Hit: true,
426
+ }));
427
+ return { queryText: qText, embedding: pEmbed, vectorRanked, bm25Ranked };
428
+ }));
429
+ // --- Fuse passes into the score map ---
430
+ // Weighted-sum: union per nodeId, taking the max vector score and max
431
+ // bm25-normalised score across passes, then combine with the route's
432
+ // weights. This preserves the baseline single-query behaviour exactly
433
+ // when expansions.length === 1.
434
+ // RRF: each pass contributes one vector-ranked list and one bm25-ranked
435
+ // list. Fusion is computed across the full union of ranked lists.
436
+ const scoreMap = new Map();
437
+ let totalVector = 0;
438
+ let totalBm25 = 0;
439
+ for (const pass of passes) {
440
+ totalVector += pass.vectorRanked.length;
441
+ totalBm25 += pass.bm25Ranked.length;
442
+ for (const v of pass.vectorRanked) {
443
+ const existing = scoreMap.get(v.nodeId);
444
+ if (existing) {
445
+ existing.vectorScore = Math.max(existing.vectorScore, v.vectorScore);
446
+ }
447
+ else {
448
+ scoreMap.set(v.nodeId, { ...v });
449
+ }
450
+ }
451
+ for (const b of pass.bm25Ranked) {
452
+ mergeBm25Hit(scoreMap, {
453
+ nodeId: b.nodeId,
454
+ labels: b.labels,
455
+ properties: b.properties,
456
+ score: b.bm25Score,
457
+ }, b.bm25Score);
458
+ }
459
+ }
460
+ // --- Keyword subscriptions (scope-inclusive, agentSlug-bypassing) ---
461
+ // Runs once regardless of expansion count — subscriptions are keyed by
462
+ // operator config, not by the inbound query.
463
+ if (keywordSubscriptions && keywordSubscriptions.length > 0) {
464
+ for (const kw of keywordSubscriptions) {
465
+ const kwHits = await bm25Only(session, {
466
+ query: kw,
467
+ accountId,
468
+ limit,
469
+ allowedScopes,
470
+ });
471
+ if (kwHits.length === 0)
472
+ continue;
473
+ const rawScores = kwHits.map((h) => h.score);
474
+ const normalised = normaliseBm25Scores(rawScores);
475
+ for (let i = 0; i < kwHits.length; i++) {
476
+ mergeBm25Hit(scoreMap, kwHits[i], normalised[i]);
477
+ }
478
+ }
479
+ const propScopeClause = allowedScopes
480
+ ? "AND (node.scope IS NULL OR node.scope IN $allowedScopes)"
481
+ : "";
482
+ const propResult = await session.run(`MATCH (node)
270
483
  WHERE node.accountId = $accountId
271
- ${scopeClause}
272
- ${agentClause}
273
484
  AND ${(0, index_js_1.notTrashed)("node")}
274
- ${keywordClause}
275
- RETURN node, score, labels(node) AS nodeLabels, elementId(node) AS nodeId
276
- ORDER BY score DESC
485
+ AND node.keywords IS NOT NULL
486
+ AND ANY(kw IN $kwSubs WHERE ANY(nk IN node.keywords WHERE toLower(nk) = kw))
487
+ ${propScopeClause}
488
+ RETURN node, labels(node) AS nodeLabels, elementId(node) AS nodeId
277
489
  LIMIT $limit`, {
278
- indexName,
279
- embedding: queryEmbedding,
280
- limit: (0, neo4j_driver_1.int)(limit),
281
490
  accountId,
282
- ...scopeParams,
283
- ...agentParams,
284
- ...keywordParams,
491
+ kwSubs: keywordSubscriptions,
492
+ limit: (0, neo4j_driver_1.int)(limit),
493
+ ...(allowedScopes ? { allowedScopes } : {}),
285
494
  });
286
- for (const record of vectorResult.records) {
495
+ for (const record of propResult.records) {
287
496
  const nodeId = record.get("nodeId");
288
- const scoreRaw = record.get("score");
289
- const score = typeof scoreRaw === "number" ? scoreRaw : Number(scoreRaw);
290
497
  const existing = scoreMap.get(nodeId);
291
498
  if (existing) {
292
- existing.vectorScore = Math.max(existing.vectorScore, score);
499
+ existing.bm25Score = Math.max(existing.bm25Score, 1.0);
500
+ existing.bm25Hit = true;
293
501
  }
294
502
  else {
295
503
  const node = record.get("node");
@@ -297,22 +505,13 @@ async function hybrid(session, embed, params) {
297
505
  nodeId,
298
506
  labels: record.get("nodeLabels"),
299
507
  properties: plainProperties(node.properties),
300
- vectorScore: score,
301
- bm25Score: 0,
302
- bm25Hit: false,
508
+ vectorScore: 0,
509
+ bm25Score: 1.0,
510
+ bm25Hit: true,
303
511
  });
304
512
  }
305
513
  }
306
514
  }
307
- // --- BM25 half ---
308
- const bm25Hits = await bm25Only(session, params);
309
- if (bm25Hits.length > 0) {
310
- const rawScores = bm25Hits.map((h) => h.score);
311
- const normalised = normaliseBm25Scores(rawScores);
312
- for (let i = 0; i < bm25Hits.length; i++) {
313
- mergeBm25Hit(scoreMap, bm25Hits[i], normalised[i]);
314
- }
315
- }
316
515
  // --- Keyword subscriptions (scope-inclusive, agentSlug-bypassing) ---
317
516
  if (keywordSubscriptions && keywordSubscriptions.length > 0) {
318
517
  for (const kw of keywordSubscriptions) {
@@ -366,7 +565,64 @@ async function hybrid(session, embed, params) {
366
565
  }
367
566
  }
368
567
  }
369
- // --- Merge, threshold, rank ---
568
+ // --- Fusion ---
569
+ //
570
+ // Weighted-sum (default): combined = vw * vector + bw * bm25_norm, with
571
+ // weights from the route plan (or the 0.7/0.3 lib defaults when routing
572
+ // is off). This preserves the baseline single-query single-fusion path
573
+ // when no flags are flipped on.
574
+ //
575
+ // RRF (flagged): contributions from each pass's vector and BM25 ranked
576
+ // lists are summed across all passes; combinedScore becomes the RRF
577
+ // score. Per-half components on `ScoredNode` (vectorScore / bm25Score)
578
+ // are retained so the /data UI's score-line renders consistently.
579
+ let allMerged;
580
+ if (useRrf) {
581
+ const rankedLists = [];
582
+ for (const pass of passes) {
583
+ if (pass.vectorRanked.length > 0)
584
+ rankedLists.push(pass.vectorRanked);
585
+ if (pass.bm25Ranked.length > 0)
586
+ rankedLists.push(pass.bm25Ranked);
587
+ }
588
+ const fused = (0, rrf_fusion_js_1.fuseRrf)(rankedLists, rrfK);
589
+ allMerged = fused.map((f) => {
590
+ // Use the score-map representative so vectorScore / bm25Score reflect
591
+ // the cross-pass max, not just whichever list ranked first. The
592
+ // representative is guaranteed to exist (scoreMap aggregated the
593
+ // union); fall back to the fusion entry if not (defensive).
594
+ const rep = scoreMap.get(f.nodeId) ?? f;
595
+ return { ...rep, combinedScore: f.rrfScore };
596
+ });
597
+ }
598
+ else {
599
+ allMerged = [...scoreMap.values()].map((node) => ({
600
+ ...node,
601
+ combinedScore: plan.vectorWeight * node.vectorScore + plan.bm25Weight * node.bm25Score,
602
+ }));
603
+ }
604
+ const fusedCount = allMerged.length;
605
+ // --- Boosts (Task 308) ---
606
+ // Both are no-ops on the current corpus until Task 305 (typed-edge
607
+ // backlinks) and Task 306 (compiledTruth property) land. Reading a
608
+ // missing property as zero is the correct behaviour — the boost is
609
+ // additive over hits that have the field.
610
+ if (useBoosts) {
611
+ allMerged = (0, boosts_js_1.applyCompiledTruthBoost)((0, boosts_js_1.applyBacklinkBoost)(allMerged.map((m) => ({
612
+ ...m,
613
+ score: m.combinedScore,
614
+ })))).map((m) => ({ ...m, combinedScore: m.score }));
615
+ }
616
+ const boostedCount = allMerged.length;
617
+ // --- Dedup (Task 308) ---
618
+ // 4-layer dedup is a strict superset of the baseline nodeId-only dedup.
619
+ // The post-fusion scoreMap is already nodeId-deduped, so when no flag
620
+ // is set this step is a no-op.
621
+ if (useDedup) {
622
+ allMerged = (0, dedup_js_1.dedup)(allMerged.map((m) => ({ ...m, score: m.combinedScore })), dedupLayers).map((m) => ({ ...m, combinedScore: m.score }));
623
+ }
624
+ const dedupedCount = allMerged.length;
625
+ // --- Threshold + sort + slice ---
370
626
  //
371
627
  // vectorThreshold filters BEFORE sort+slice. Order matters:
372
628
  // slicing first would consume the slot budget with rows the threshold
@@ -381,10 +637,6 @@ async function hybrid(session, embed, params) {
381
637
  // normalisation pins the lowest BM25 row's score to 0.0, so checking
382
638
  // bm25Score > 0 would silently drop a literal-token match that just
383
639
  // happens to be the worst-scored BM25 hit in the set.
384
- const allMerged = [...scoreMap.values()].map((node) => ({
385
- ...node,
386
- combinedScore: VECTOR_WEIGHT * node.vectorScore + BM25_WEIGHT * node.bm25Score,
387
- }));
388
640
  const rawMerged = allMerged.length;
389
641
  const threshold = params.vectorThreshold;
390
642
  let kept = allMerged;
@@ -477,13 +729,22 @@ async function hybrid(session, embed, params) {
477
729
  }
478
730
  }
479
731
  return {
480
- mode: "hybrid",
732
+ mode: useRrf ? "rrf" : "hybrid",
481
733
  results,
482
734
  expandMs,
483
735
  rawMerged,
484
736
  suppressed,
485
737
  bm25Bypass,
486
738
  threshold: threshold ?? null,
739
+ stageCounts: {
740
+ expansions: expansions.length,
741
+ vector: totalVector,
742
+ bm25: totalBm25,
743
+ fused: fusedCount,
744
+ boosted: boostedCount,
745
+ deduped: dedupedCount,
746
+ final: results.length,
747
+ },
487
748
  };
488
749
  }
489
750
  function mergeBm25Hit(map, hit, normalisedScore) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Multi-query expansion via Haiku (Task 308).
3
+ *
4
+ * Generates 3-5 paraphrases of the user query so the hybrid pipeline runs
5
+ * each paraphrase against vector + BM25 in parallel and unions the
6
+ * candidate sets before fusion. Recovers recall on terse queries where the
7
+ * embedding's nearest-neighbour is unstable.
8
+ *
9
+ * The expansion runs through `@rubytech/oauth-llm` against Claude Haiku —
10
+ * the same OAuth-bearer path the admin classifiers use; no new SDK
11
+ * dependency and no Anthropic-API-key path. Cache is in-process, keyed by
12
+ * (accountId, normalisedQuery, retrievalClass), with a 1-hour TTL.
13
+ *
14
+ * Graceful degrade: if the LLM call fails, returns just the original
15
+ * query. The caller's hybrid pipeline still runs — just on one query
16
+ * instead of N — so missing paraphrases are a recall regression, not a
17
+ * fault.
18
+ */
19
+ export declare function clearExpansionCache(): void;
20
+ export interface ExpandQueryParams {
21
+ query: string;
22
+ retrievalClass?: string;
23
+ accountId?: string;
24
+ /**
25
+ * Override the cache or skip it entirely (useful in tests). When
26
+ * `false`, the cache is read but never written; when `true` (default),
27
+ * both reads and writes are active.
28
+ */
29
+ useCache?: boolean;
30
+ }
31
+ /**
32
+ * Return `[query, ...paraphrases]` (original always first). On LLM
33
+ * failure returns `[query]` only and writes a single stderr line so the
34
+ * operator can see expansion is degrading without breaking search.
35
+ */
36
+ export declare function expandQuery(params: ExpandQueryParams): Promise<string[]>;
37
+ //# sourceMappingURL=query-expansion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-expansion.d.ts","sourceRoot":"","sources":["../src/query-expansion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAeH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CAyEnB"}