autosnippet
Version:
Extract code patterns into a knowledge base for AI coding assistants
55 lines (54 loc) • 1.67 kB
TypeScript
/**
* PrimeSearchPipeline — Enrichment Layer
*
* Multi-query parallel search + scenario routing + session history accumulation.
* Replaces TaskKnowledgeBridge with full search pipeline integration.
*
* @module service/task/PrimeSearchPipeline
*/
import type { SlimSearchResult } from '#service/search/SearchTypes.js';
import type { ExtractedIntent } from './IntentExtractor.js';
/** Slim search result (re-export for external use) */
export type { SlimSearchResult } from '#service/search/SearchTypes.js';
export interface PrimeSearchMeta {
queries: string[];
scenario: string;
language: string | null;
module: string | null;
resultCount: number;
filteredCount: number;
}
export interface PrimeSearchResult {
relatedKnowledge: SlimSearchResult[];
guardRules: SlimSearchResult[];
searchMeta: PrimeSearchMeta;
}
/** Minimal SearchEngine shape — duck-typed for DI flexibility */
interface SearchEngineLike {
search(query: string, options?: {
mode?: string;
limit?: number;
rank?: boolean;
context?: {
sessionHistory?: Array<{
content?: string;
}>;
language?: string;
intent?: string;
};
}): Promise<{
items?: unknown[];
}>;
}
export declare class PrimeSearchPipeline {
#private;
constructor(searchEngine: SearchEngineLike);
/**
* Core method: multi-query search + scenario routing + result merging.
*/
search(intent: ExtractedIntent): Promise<PrimeSearchResult | null>;
/**
* Reset session history (called on new session start).
*/
resetSession(): void;
}