/** * SQLite implementation of SourceTraceLocator. * * Resolves source pain trajectories by: * 1. Using TrajectoryLocator to find session-scoped task candidates * 2. Filtering by excludeTaskIds to prevent self-trace * 3. Matching each candidate's diagnosticJson.sourcePainId or diagnosticJson.painId * against the query's sourcePainId * 4. Returning structured decisions for missing/mismatch/ambiguous cases * * Key invariant: sourcePainId is mandatory for a `found` result. * sessionIdHint narrows scope but cannot produce a candidate alone. */ import type { TaskStore } from '../task/task-store.js'; import type { TrajectoryLocator } from './trajectory-locator.js'; import { type SourceTraceLocateQuery, type SourceTraceLocateResult, type SourceTraceLocator } from './source-trace-locator.js'; export declare class SqliteSourceTraceLocator implements SourceTraceLocator { private readonly taskStore; private readonly trajectoryLocator; constructor(taskStore: TaskStore, trajectoryLocator: TrajectoryLocator | undefined); locate(query: SourceTraceLocateQuery): Promise; } //# sourceMappingURL=sqlite-source-trace-locator.d.ts.map