fastrmemory 0.4.0 → 0.6.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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +2 -2
- package/.cursor/mcp.json +1 -1
- package/.cursor/skills/fastr-setup/SKILL.md +4 -4
- package/.cursor/skills/skills.json +1 -1
- package/README.md +87 -36
- package/dist/bin/fastr.js +131 -17
- package/dist/bin/fastr.js.map +1 -1
- package/dist/src/bench/harness.d.ts.map +1 -1
- package/dist/src/bench/harness.js +4 -0
- package/dist/src/bench/harness.js.map +1 -1
- package/dist/src/bench/marker-corpus.d.ts +98 -0
- package/dist/src/bench/marker-corpus.d.ts.map +1 -0
- package/dist/src/bench/marker-corpus.js +306 -0
- package/dist/src/bench/marker-corpus.js.map +1 -0
- package/dist/src/bench/mcp-stdio.d.ts +55 -0
- package/dist/src/bench/mcp-stdio.d.ts.map +1 -0
- package/dist/src/bench/mcp-stdio.js +146 -0
- package/dist/src/bench/mcp-stdio.js.map +1 -0
- package/dist/src/bench/public-datasets.d.ts +2 -0
- package/dist/src/bench/public-datasets.d.ts.map +1 -1
- package/dist/src/bench/public-datasets.js +2 -1
- package/dist/src/bench/public-datasets.js.map +1 -1
- package/dist/src/bench/public-harness.d.ts +14 -0
- package/dist/src/bench/public-harness.d.ts.map +1 -1
- package/dist/src/bench/public-harness.js +83 -8
- package/dist/src/bench/public-harness.js.map +1 -1
- package/dist/src/bench/public-pins.js +5 -5
- package/dist/src/bench/public-pins.js.map +1 -1
- package/dist/src/bench/split.d.ts +33 -0
- package/dist/src/bench/split.d.ts.map +1 -0
- package/dist/src/bench/split.js +56 -0
- package/dist/src/bench/split.js.map +1 -0
- package/dist/src/bench/stats.d.ts +40 -0
- package/dist/src/bench/stats.d.ts.map +1 -0
- package/dist/src/bench/stats.js +99 -0
- package/dist/src/bench/stats.js.map +1 -0
- package/dist/src/bench/vs-engines.d.ts +51 -0
- package/dist/src/bench/vs-engines.d.ts.map +1 -0
- package/dist/src/bench/vs-engines.js +121 -0
- package/dist/src/bench/vs-engines.js.map +1 -0
- package/dist/src/config.d.ts +33 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +84 -1
- package/dist/src/config.js.map +1 -1
- package/dist/src/db/doctor.d.ts +8 -0
- package/dist/src/db/doctor.d.ts.map +1 -1
- package/dist/src/db/doctor.js +65 -1
- package/dist/src/db/doctor.js.map +1 -1
- package/dist/src/db/fts-queue.d.ts +35 -0
- package/dist/src/db/fts-queue.d.ts.map +1 -0
- package/dist/src/db/fts-queue.js +78 -0
- package/dist/src/db/fts-queue.js.map +1 -0
- package/dist/src/db/repository.d.ts +63 -1
- package/dist/src/db/repository.d.ts.map +1 -1
- package/dist/src/db/repository.js +244 -50
- package/dist/src/db/repository.js.map +1 -1
- package/dist/src/db/schema.d.ts +1 -1
- package/dist/src/db/schema.d.ts.map +1 -1
- package/dist/src/db/schema.js +63 -2
- package/dist/src/db/schema.js.map +1 -1
- package/dist/src/installer/copilot.d.ts +21 -0
- package/dist/src/installer/copilot.d.ts.map +1 -1
- package/dist/src/installer/copilot.js +72 -1
- package/dist/src/installer/copilot.js.map +1 -1
- package/dist/src/installer/gemini.d.ts +13 -0
- package/dist/src/installer/gemini.d.ts.map +1 -1
- package/dist/src/installer/gemini.js +64 -1
- package/dist/src/installer/gemini.js.map +1 -1
- package/dist/src/installer/hooks.d.ts +42 -5
- package/dist/src/installer/hooks.d.ts.map +1 -1
- package/dist/src/installer/hooks.js +270 -62
- package/dist/src/installer/hooks.js.map +1 -1
- package/dist/src/installer/json-config.d.ts +25 -1
- package/dist/src/installer/json-config.d.ts.map +1 -1
- package/dist/src/installer/json-config.js +95 -2
- package/dist/src/installer/json-config.js.map +1 -1
- package/dist/src/installer/mcp-command.d.ts +19 -0
- package/dist/src/installer/mcp-command.d.ts.map +1 -0
- package/dist/src/installer/mcp-command.js +57 -0
- package/dist/src/installer/mcp-command.js.map +1 -0
- package/dist/src/installer/mcp-init.d.ts +16 -0
- package/dist/src/installer/mcp-init.d.ts.map +1 -1
- package/dist/src/installer/mcp-init.js +34 -13
- package/dist/src/installer/mcp-init.js.map +1 -1
- package/dist/src/installer/opencode.d.ts +18 -0
- package/dist/src/installer/opencode.d.ts.map +1 -1
- package/dist/src/installer/opencode.js +81 -1
- package/dist/src/installer/opencode.js.map +1 -1
- package/dist/src/installer/setup.d.ts +7 -11
- package/dist/src/installer/setup.d.ts.map +1 -1
- package/dist/src/installer/setup.js +34 -31
- package/dist/src/installer/setup.js.map +1 -1
- package/dist/src/mcp/profiles.d.ts +9 -6
- package/dist/src/mcp/profiles.d.ts.map +1 -1
- package/dist/src/mcp/profiles.js +12 -9
- package/dist/src/mcp/profiles.js.map +1 -1
- package/dist/src/mcp/server.d.ts +1 -1
- package/dist/src/mcp/server.d.ts.map +1 -1
- package/dist/src/mcp/server.js +80 -0
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/search/aggregate.d.ts +24 -0
- package/dist/src/search/aggregate.d.ts.map +1 -0
- package/dist/src/search/aggregate.js +59 -0
- package/dist/src/search/aggregate.js.map +1 -0
- package/dist/src/search/backfill.d.ts.map +1 -1
- package/dist/src/search/backfill.js +7 -2
- package/dist/src/search/backfill.js.map +1 -1
- package/dist/src/search/budget.d.ts +2 -0
- package/dist/src/search/budget.d.ts.map +1 -1
- package/dist/src/search/budget.js.map +1 -1
- package/dist/src/search/embeddings.d.ts +35 -2
- package/dist/src/search/embeddings.d.ts.map +1 -1
- package/dist/src/search/embeddings.js +128 -5
- package/dist/src/search/embeddings.js.map +1 -1
- package/dist/src/search/hybrid-rrf.d.ts +45 -0
- package/dist/src/search/hybrid-rrf.d.ts.map +1 -1
- package/dist/src/search/hybrid-rrf.js +212 -56
- package/dist/src/search/hybrid-rrf.js.map +1 -1
- package/dist/src/search/static-model-install.d.ts +43 -0
- package/dist/src/search/static-model-install.d.ts.map +1 -0
- package/dist/src/search/static-model-install.js +112 -0
- package/dist/src/search/static-model-install.js.map +1 -0
- package/dist/src/search/static-model.d.ts +63 -0
- package/dist/src/search/static-model.d.ts.map +1 -0
- package/dist/src/search/static-model.js +244 -0
- package/dist/src/search/static-model.js.map +1 -0
- package/dist/src/search/temporal.d.ts +32 -0
- package/dist/src/search/temporal.d.ts.map +1 -0
- package/dist/src/search/temporal.js +164 -0
- package/dist/src/search/temporal.js.map +1 -0
- package/dist/src/ui/server.d.ts.map +1 -1
- package/dist/src/ui/server.js +10 -0
- package/dist/src/ui/server.js.map +1 -1
- package/dist-ui/assets/{ActionsPage-B3quzFNF.js → ActionsPage-CI-IRMeS.js} +1 -1
- package/dist-ui/assets/{GraphPage-DetiATmC.js → GraphPage-BdYMF7yz.js} +1 -1
- package/dist-ui/assets/{ObservatoryPage-QIGMwENf.js → ObservatoryPage-BG_vg8B9.js} +1 -1
- package/dist-ui/assets/{TreemapPage-C7uLZd37.js → TreemapPage-CZreyyLA.js} +1 -1
- package/dist-ui/assets/index-Ca9pma3Q.css +1 -0
- package/dist-ui/assets/{index-DWAH--Fu.js → index-MlNuiu0T.js} +17 -17
- package/dist-ui/assets/{maximize-2-BebkGbZA.js → maximize-2-_nvSvCC7.js} +1 -1
- package/dist-ui/build-manifest.json +11 -11
- package/dist-ui/index.html +2 -2
- package/llms-install.md +3 -3
- package/package.json +5 -1
- package/server.json +1 -1
- package/skills/fastr-setup/SKILL.md +4 -4
- package/skills/skills.json +1 -1
- package/dist-ui/assets/index-BJnPINTu.css +0 -1
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* Uses local Xenova/all-MiniLM-L6-v2 (384-dim) via @huggingface/transformers.
|
|
4
4
|
* Gracefully falls back to null if dependencies are missing or offline.
|
|
5
5
|
*/
|
|
6
|
+
import { loadStaticModel } from './static-model.js';
|
|
7
|
+
import { staticModelStatus } from './static-model-install.js';
|
|
6
8
|
let featureExtractor = null;
|
|
7
9
|
let initAttempted = false;
|
|
8
10
|
/** Test seam: lets tests inject a mock model loader so nothing is ever downloaded. */
|
|
@@ -168,7 +170,8 @@ export function float32ArrayToBuffer(array) {
|
|
|
168
170
|
// ---------------------------------------------------------------------------
|
|
169
171
|
export const EMBEDDING_MODEL_IDS = {
|
|
170
172
|
FEATURE_HASH_384: 1,
|
|
171
|
-
MINILM_L6_V2: 2
|
|
173
|
+
MINILM_L6_V2: 2,
|
|
174
|
+
STATIC_POTION_256: 3
|
|
172
175
|
};
|
|
173
176
|
const HEADER_MAGIC_0 = 0x46; // 'F'
|
|
174
177
|
const HEADER_MAGIC_1 = 0x56; // 'V'
|
|
@@ -197,6 +200,77 @@ export function decodeTaggedEmbedding(buf) {
|
|
|
197
200
|
payload.set(buf.subarray(EMBEDDING_HEADER_BYTES));
|
|
198
201
|
return { modelId, vector: new Float32Array(payload.buffer) };
|
|
199
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* The optional pure-TypeScript static model (model2vec `potion-base-8M`). It is loaded
|
|
205
|
+
* explicitly, never downloaded during recall, and is preferred over the feature-hash
|
|
206
|
+
* vectorizer because it carries real semantic signal.
|
|
207
|
+
*/
|
|
208
|
+
let staticModel = null;
|
|
209
|
+
export function setStaticModel(model) {
|
|
210
|
+
staticModel = model;
|
|
211
|
+
}
|
|
212
|
+
/** Loads a model2vec directory; returns false (and stays hash-only) when it is absent. */
|
|
213
|
+
export function loadStaticModelFromDir(dir) {
|
|
214
|
+
try {
|
|
215
|
+
staticModel = loadStaticModel(dir);
|
|
216
|
+
return true;
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
staticModel = null;
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/** True when a real semantic embedding provider is resident right now. */
|
|
224
|
+
export function hasSemanticProvider() {
|
|
225
|
+
return featureExtractor !== null || staticModel !== null;
|
|
226
|
+
}
|
|
227
|
+
let staticLoadAttempted = false;
|
|
228
|
+
/**
|
|
229
|
+
* Loads the installed static model once. Returns true when it is resident.
|
|
230
|
+
* Never downloads and never runs in tests: CI has no model and must stay hermetic.
|
|
231
|
+
*/
|
|
232
|
+
export function ensureInstalledStaticModel(homeDir) {
|
|
233
|
+
if (staticModel)
|
|
234
|
+
return true;
|
|
235
|
+
if (staticLoadAttempted)
|
|
236
|
+
return false;
|
|
237
|
+
staticLoadAttempted = true;
|
|
238
|
+
if (process.env.NODE_ENV === 'test')
|
|
239
|
+
return false;
|
|
240
|
+
if (process.env.FASTR_DISABLE_STATIC_MODEL === '1')
|
|
241
|
+
return false;
|
|
242
|
+
const mode = (process.env.FASTR_VECTOR_MODE ?? '').trim().toLowerCase();
|
|
243
|
+
if (mode === 'off' || mode === 'hash')
|
|
244
|
+
return false;
|
|
245
|
+
const status = staticModelStatus(homeDir);
|
|
246
|
+
if (!status.installed)
|
|
247
|
+
return false;
|
|
248
|
+
return loadStaticModelFromDir(status.dir);
|
|
249
|
+
}
|
|
250
|
+
/** Test seam: forget the one-shot load attempt. */
|
|
251
|
+
export function __resetStaticModelForTests() {
|
|
252
|
+
staticModel = null;
|
|
253
|
+
staticLoadAttempted = false;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Resolves the active vector mode.
|
|
257
|
+
*
|
|
258
|
+
* Precedence:
|
|
259
|
+
* 1. `override` passed by the caller (benchmark/ablation config).
|
|
260
|
+
* 2. FASTR_VECTOR_MODE env var: 'hash' | 'semantic' | 'off'.
|
|
261
|
+
* 3. Default: 'semantic' only when a semantic provider is already loaded.
|
|
262
|
+
*/
|
|
263
|
+
export function resolveVectorMode(override, env = process.env) {
|
|
264
|
+
const raw = (override ?? env.FASTR_VECTOR_MODE ?? '').trim().toLowerCase();
|
|
265
|
+
if (raw === 'hash' || raw === 'feature' || raw === 'feature-hash')
|
|
266
|
+
return 'hash';
|
|
267
|
+
if (raw === 'off' || raw === 'none' || raw === 'disabled')
|
|
268
|
+
return 'off';
|
|
269
|
+
if (raw === 'semantic' || raw === 'model' || raw === 'minilm' || raw === 'static') {
|
|
270
|
+
return hasSemanticProvider() ? 'semantic' : 'off';
|
|
271
|
+
}
|
|
272
|
+
return hasSemanticProvider() ? 'semantic' : 'off';
|
|
273
|
+
}
|
|
200
274
|
const featureHashProvider = {
|
|
201
275
|
modelId: EMBEDDING_MODEL_IDS.FEATURE_HASH_384,
|
|
202
276
|
embed: async (text) => computeFeatureHashVector(text, 384)
|
|
@@ -217,19 +291,68 @@ export function getAvailableEmbeddingProvider() {
|
|
|
217
291
|
}
|
|
218
292
|
};
|
|
219
293
|
}
|
|
294
|
+
if (staticModel) {
|
|
295
|
+
return {
|
|
296
|
+
modelId: EMBEDDING_MODEL_IDS.STATIC_POTION_256,
|
|
297
|
+
embed: async (text) => staticModel.embed(text)
|
|
298
|
+
};
|
|
299
|
+
}
|
|
220
300
|
return featureHashProvider;
|
|
221
301
|
}
|
|
222
|
-
/**
|
|
223
|
-
|
|
302
|
+
/**
|
|
303
|
+
* Returns a provider for a specific model id if usable right now (no downloads), else null.
|
|
304
|
+
* `allowHash` is false on the production recall path: feature-hash vectors are an explicit
|
|
305
|
+
* opt-in (FASTR_VECTOR_MODE=hash), never a silent fallback.
|
|
306
|
+
*/
|
|
307
|
+
export function getProviderForModel(modelId, allowHash = true) {
|
|
224
308
|
if (modelId === EMBEDDING_MODEL_IDS.FEATURE_HASH_384)
|
|
225
|
-
return featureHashProvider;
|
|
309
|
+
return allowHash ? featureHashProvider : null;
|
|
226
310
|
if (modelId === EMBEDDING_MODEL_IDS.MINILM_L6_V2 && featureExtractor)
|
|
227
311
|
return getAvailableEmbeddingProvider();
|
|
312
|
+
if (modelId === EMBEDDING_MODEL_IDS.STATIC_POTION_256 && staticModel)
|
|
313
|
+
return getAvailableEmbeddingProvider();
|
|
228
314
|
return null;
|
|
229
315
|
}
|
|
230
316
|
/** Minimum cosine similarity for a vector hit to count as a real match, per model. */
|
|
231
317
|
export const VECTOR_SIMILARITY_THRESHOLDS = {
|
|
232
318
|
[EMBEDDING_MODEL_IDS.FEATURE_HASH_384]: 0.35,
|
|
233
|
-
[EMBEDDING_MODEL_IDS.MINILM_L6_V2]: 0.35
|
|
319
|
+
[EMBEDDING_MODEL_IDS.MINILM_L6_V2]: 0.35,
|
|
320
|
+
// The static tier reranks only the BM25 candidate set, so every candidate is scored;
|
|
321
|
+
// the threshold just drops degenerate (zero-norm) vectors.
|
|
322
|
+
[EMBEDDING_MODEL_IDS.STATIC_POTION_256]: 0
|
|
234
323
|
};
|
|
324
|
+
// ---------------------------------------------------------------------------
|
|
325
|
+
// Query-vector LRU
|
|
326
|
+
//
|
|
327
|
+
// Agents repeat the same query inside a session (retry, re-render, tool loop), and
|
|
328
|
+
// embedding a query costs the same as embedding a document. A small process-wide LRU
|
|
329
|
+
// makes repeats free without letting memory grow with the number of distinct queries.
|
|
330
|
+
// ---------------------------------------------------------------------------
|
|
331
|
+
export const QUERY_VECTOR_CACHE_LIMIT = 256;
|
|
332
|
+
const queryVectorCache = new Map();
|
|
333
|
+
/** Embeds a query through the cache. Recency is refreshed on every hit. */
|
|
334
|
+
export async function embedQueryCached(provider, query) {
|
|
335
|
+
const key = `${provider.modelId}\u0000${query}`;
|
|
336
|
+
const hit = queryVectorCache.get(key);
|
|
337
|
+
if (hit) {
|
|
338
|
+
queryVectorCache.delete(key);
|
|
339
|
+
queryVectorCache.set(key, hit);
|
|
340
|
+
return hit;
|
|
341
|
+
}
|
|
342
|
+
const vector = await provider.embed(query);
|
|
343
|
+
queryVectorCache.set(key, vector);
|
|
344
|
+
while (queryVectorCache.size > QUERY_VECTOR_CACHE_LIMIT) {
|
|
345
|
+
const oldest = queryVectorCache.keys().next().value;
|
|
346
|
+
if (oldest === undefined)
|
|
347
|
+
break;
|
|
348
|
+
queryVectorCache.delete(oldest);
|
|
349
|
+
}
|
|
350
|
+
return vector;
|
|
351
|
+
}
|
|
352
|
+
export function queryVectorCacheSize() {
|
|
353
|
+
return queryVectorCache.size;
|
|
354
|
+
}
|
|
355
|
+
export function clearQueryVectorCache() {
|
|
356
|
+
queryVectorCache.clear();
|
|
357
|
+
}
|
|
235
358
|
//# sourceMappingURL=embeddings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../../src/search/embeddings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../../src/search/embeddings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,IAAI,gBAAgB,GAAQ,IAAI,CAAC;AACjC,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,sFAAsF;AACtF,IAAI,WAAW,GAAgC,IAAI,CAAC;AACpD,MAAM,UAAU,wBAAwB,CAAC,MAAmC;IAC1E,WAAW,GAAG,MAAM,CAAC;IACrB,gBAAgB,GAAG,IAAI,CAAC;IACxB,aAAa,GAAG,KAAK,CAAC;IACtB,gBAAgB,GAAG,IAAI,CAAC;AAC1B,CAAC;AAED,IAAI,gBAAgB,GAA+B,IAAI,CAAC;AAExD,kGAAkG;AAClG,MAAM,UAAU,aAAa;IAC3B,OAAO,gBAAgB,KAAK,IAAI,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG,IAAI,aAAa,IAAI,gBAAgB;QAAE,OAAO;IAC5F,gBAAgB,GAAG,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,GAAG,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;IACvC,OAAO,SAAS,KAAK,IAAI,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,2EAA2E;IAC3E,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,GAAG,EAAE,CAAC;QACxG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,aAAa,GAAG,IAAI,CAAC;IAErB,IAAI,CAAC;QACH,IAAI,WAAW,EAAE,CAAC;YAChB,gBAAgB,GAAG,MAAM,WAAW,EAAE,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAC/D,gBAAgB,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,yBAAyB,EAAE;gBACjF,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,qEAAqE;QACrE,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,SAAS,KAAK,CAAC,GAAW;IACxB,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY,EAAE,aAAqB,GAAG;IAC7E,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAExF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE9C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,qCAAqC;QACrC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAElE,8FAA8F;QAC9F,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACrC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC;QAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,MAAM,CAAC;IAC/B,CAAC;IAED,wBAAwB;IACxB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY;IACjD,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;IACvC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,8DAA8D;QAChE,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,OAAO,wBAAwB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAe,EAAE,CAAe;IAC/D,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;AAChH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAmB;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AACvE,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,EAAE;AACF,oFAAoF;AACpF,kFAAkF;AAClF,kFAAkF;AAClF,qFAAqF;AACrF,oFAAoF;AACpF,gFAAgF;AAChF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,gBAAgB,EAAE,CAAC;IACnB,YAAY,EAAE,CAAC;IACf,iBAAiB,EAAE,CAAC;CACZ,CAAC;AAGX,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,MAAM;AACnC,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,MAAM;AACnC,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,qBAAqB,CAAC,GAAiB,EAAE,OAAe;IACtE,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAChB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,qBAAqB,CAAC,GAAkC;IACtE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,sBAAsB,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9F,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,cAAc,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,cAAc,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,cAAc;QAAE,OAAO,IAAI,CAAC;IACrG,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACvB,gFAAgF;IAChF,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,GAAG,sBAAsB,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAClD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/D,CAAC;AAaD;;;;GAIG;AACH,IAAI,WAAW,GAAuB,IAAI,CAAC;AAE3C,MAAM,UAAU,cAAc,CAAC,KAAyB;IACtD,WAAW,GAAG,KAAK,CAAC;AACtB,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,IAAI,CAAC;QACH,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,IAAI,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB;IACjC,OAAO,gBAAgB,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,CAAC;AAC3D,CAAC;AAED,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAEhC;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,IAAI,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,mBAAmB;QAAE,OAAO,KAAK,CAAC;IACtC,mBAAmB,GAAG,IAAI,CAAC;IAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACjE,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACxE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAEpD,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,0BAA0B;IACxC,WAAW,GAAG,IAAI,CAAC;IACnB,mBAAmB,GAAG,KAAK,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAiB,EAAE,MAAyB,OAAO,CAAC,GAAG;IACvF,MAAM,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3E,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,cAAc;QAAE,OAAO,MAAM,CAAC;IACjF,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IACxE,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QAClF,OAAO,mBAAmB,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,CAAC;IACD,OAAO,mBAAmB,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;AACpD,CAAC;AAOD,MAAM,mBAAmB,GAAsB;IAC7C,OAAO,EAAE,mBAAmB,CAAC,gBAAgB;IAC7C,KAAK,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,GAAG,CAAC;CACnE,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,6BAA6B;IAC3C,MAAM,SAAS,GAAG,gBAAgB,CAAC;IACnC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;YACL,OAAO,EAAE,mBAAmB,CAAC,YAAY;YACzC,KAAK,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;gBAC5B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3E,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;SACF,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO;YACL,OAAO,EAAE,mBAAmB,CAAC,iBAAiB;YAC9C,KAAK,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,WAAY,CAAC,KAAK,CAAC,IAAI,CAAC;SACxD,CAAC;IACJ,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,SAAS,GAAG,IAAI;IACnE,IAAI,OAAO,KAAK,mBAAmB,CAAC,gBAAgB;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,IAAI,OAAO,KAAK,mBAAmB,CAAC,YAAY,IAAI,gBAAgB;QAAE,OAAO,6BAA6B,EAAE,CAAC;IAC7G,IAAI,OAAO,KAAK,mBAAmB,CAAC,iBAAiB,IAAI,WAAW;QAAE,OAAO,6BAA6B,EAAE,CAAC;IAC7G,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sFAAsF;AACtF,MAAM,CAAC,MAAM,4BAA4B,GAA2B;IAClE,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,IAAI;IAC5C,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,IAAI;IACxC,qFAAqF;IACrF,2DAA2D;IAC3D,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC;CAC3C,CAAC;AAEF,8EAA8E;AAC9E,mBAAmB;AACnB,EAAE;AACF,mFAAmF;AACnF,qFAAqF;AACrF,sFAAsF;AACtF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAC5C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAwB,CAAC;AAEzD,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAA2B,EAAE,KAAa;IAC/E,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,SAAS,KAAK,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,GAAG,EAAE,CAAC;QACR,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,gBAAgB,CAAC,IAAI,GAAG,wBAAwB,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACpD,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM;QAChC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { DatabaseSync } from 'node:sqlite';
|
|
2
|
+
import { type VectorMode } from './embeddings.js';
|
|
2
3
|
import { ScoredMemory } from './budget.js';
|
|
4
|
+
import { type TemporalWindow } from './temporal.js';
|
|
3
5
|
export interface StreamWeights {
|
|
4
6
|
bm25?: number;
|
|
5
7
|
vector?: number;
|
|
@@ -15,7 +17,18 @@ export interface RetrievalConfig {
|
|
|
15
17
|
/** Per-stream RRF weights (default 1.0; semantic vectors default to 3.0 when present). */
|
|
16
18
|
streamWeights?: StreamWeights;
|
|
17
19
|
enableBm25?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Legacy explicit vector switch. `true` runs whatever provider is available (including
|
|
22
|
+
* the feature-hash vectorizer) and exists for benchmark ablations; `false` forces vectors
|
|
23
|
+
* off. Omit it to use the production default: vectors run only when a real semantic
|
|
24
|
+
* provider is loaded, or when FASTR_VECTOR_MODE selects a mode.
|
|
25
|
+
*/
|
|
18
26
|
enableVector?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Explicit vector mode. 'hash' opts into the feature-hash vectorizer, 'semantic' runs only
|
|
29
|
+
* with a loaded semantic model, 'off' disables the stream. Overrides enableVector.
|
|
30
|
+
*/
|
|
31
|
+
vectorMode?: VectorMode;
|
|
19
32
|
enableGraph?: boolean;
|
|
20
33
|
/** Seed graph activation from the first BM25/vector candidates (default false). */
|
|
21
34
|
graphSeedFromCandidates?: boolean;
|
|
@@ -31,6 +44,29 @@ export interface RetrievalConfig {
|
|
|
31
44
|
verifiedBoost?: number;
|
|
32
45
|
/** Optional cosine-similarity floor for the vector stream (default is model-specific). */
|
|
33
46
|
vectorThreshold?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Static-tier fusion strength (default 0.15). The static model is a bounded reranker:
|
|
49
|
+
* its cosine similarity is blended into the BM25 score instead of contributing a rank,
|
|
50
|
+
* and the bonus is capped at this fraction of a rank-1 BM25 hit. A value of 0 drops the
|
|
51
|
+
* static stream's influence entirely.
|
|
52
|
+
*/
|
|
53
|
+
staticBlendWeight?: number;
|
|
54
|
+
/**
|
|
55
|
+
* Apply a parsed temporal window as a hard pre-ranking filter (default false until the
|
|
56
|
+
* benchmark gate passes). When the window matches nothing, retrieval falls back to the
|
|
57
|
+
* unfiltered set and reports `temporalFallback: true`.
|
|
58
|
+
*/
|
|
59
|
+
temporalFilter?: boolean;
|
|
60
|
+
/** ISO timestamp of the question. Required to resolve relative ranges like "past two weeks". */
|
|
61
|
+
questionDate?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Aggregate-intent coverage pass (default on). Counting questions search with their
|
|
64
|
+
* content terms only, fused with the original query, and return up to `aggregateLimit`
|
|
65
|
+
* rows. Set false to restore the single-pass lexical behaviour.
|
|
66
|
+
*/
|
|
67
|
+
aggregateCoverage?: boolean;
|
|
68
|
+
/** Maximum candidates the aggregate path returns (default 20). */
|
|
69
|
+
aggregateLimit?: number;
|
|
34
70
|
}
|
|
35
71
|
export interface SearchParams {
|
|
36
72
|
projectId: string;
|
|
@@ -53,6 +89,15 @@ export interface SearchResult {
|
|
|
53
89
|
text: string;
|
|
54
90
|
memories: ScoredMemory[];
|
|
55
91
|
totalTokens: number;
|
|
92
|
+
/** Parsed temporal window, when one was detected and applied. */
|
|
93
|
+
temporalWindow?: TemporalWindow;
|
|
94
|
+
/** True when the window excluded every candidate and retrieval fell back to the full set. */
|
|
95
|
+
temporalFallback?: boolean;
|
|
96
|
+
/** Present when the query was classified as an aggregate (counting) question. */
|
|
97
|
+
aggregate?: {
|
|
98
|
+
detected: boolean;
|
|
99
|
+
limit: number;
|
|
100
|
+
};
|
|
56
101
|
}
|
|
57
102
|
export declare function hasGlobalDb(db: DatabaseSync): boolean;
|
|
58
103
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid-rrf.d.ts","sourceRoot":"","sources":["../../../src/search/hybrid-rrf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"hybrid-rrf.d.ts","sourceRoot":"","sources":["../../../src/search/hybrid-rrf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EASL,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAA0B,YAAY,EAAgB,MAAM,aAAa,CAAC;AAEjF,OAAO,EAAyD,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAuE3G,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0FAA0F;IAC1F,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mFAAmF;IACnF,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gGAAgG;IAChG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;qFACiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iFAAiF;IACjF,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD;AAID,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAOrD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAuBtD;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,YAAY,CAAC,CAgjBvB"}
|