/** * Pipeline Manifest SQLite Implementation * * Reimplements all 14 pipeline manifest operations using Drizzle ORM + * SQLite (tasks.db pipeline_manifest table) instead of JSONL file I/O. * * Provides a one-time migration function to import existing MANIFEST.jsonl * entries into the new table. * * @task T5581 * @epic T5576 */ import type { EngineResult } from '../engine-result.js'; import { type ContradictionDetail, type ExtendedManifestEntry, filterManifestEntries, type ResearchFilter, type SupersededDetail } from './index.js'; export type ManifestEntry = ExtendedManifestEntry; export type { ContradictionDetail, ResearchFilter, SupersededDetail }; export { filterManifestEntries }; interface PipelineManifestListParams extends ResearchFilter { type?: string; offset?: number; } /** pipeline.manifest.show - Get manifest entry details by ID */ export declare function pipelineManifestShow(researchId: string, projectRoot?: string): Promise; /** pipeline.manifest.list - List manifest entries with filters */ export declare function pipelineManifestList(params: PipelineManifestListParams, projectRoot?: string): Promise; /** pipeline.manifest.find - Find manifest entries by text (LIKE search on content + type) */ export declare function pipelineManifestFind(query: string, options?: { confidence?: number; limit?: number; }, projectRoot?: string): Promise; /** pipeline.manifest.pending - Get pending manifest items */ export declare function pipelineManifestPending(epicId?: string, projectRoot?: string): Promise; /** pipeline.manifest.stats - Manifest statistics */ export declare function pipelineManifestStats(epicId?: string, projectRoot?: string): Promise; /** pipeline.manifest.read - Read manifest entries with optional filter */ export declare function pipelineManifestRead(filter?: ResearchFilter, projectRoot?: string): Promise; /** pipeline.manifest.append - Append entry to pipeline_manifest table */ export declare function pipelineManifestAppend(entry: ExtendedManifestEntry, projectRoot?: string): Promise; /** pipeline.manifest.archive - Archive old manifest entries by date */ export declare function pipelineManifestArchive(beforeDate: string, projectRoot?: string): Promise; /** pipeline.manifest.compact - Dedup by contentHash (keep newest by createdAt) */ export declare function pipelineManifestCompact(projectRoot?: string): Promise; /** pipeline.manifest.validate - Validate manifest entries for a task */ export declare function pipelineManifestValidate(taskId: string, projectRoot?: string): Promise; /** pipeline.manifest.contradictions - Find entries with overlapping topics but conflicting key_findings */ export declare function pipelineManifestContradictions(projectRoot?: string, params?: { topic?: string; }): Promise>; /** pipeline.manifest.superseded - Identify entries replaced by newer work on same topic */ export declare function pipelineManifestSuperseded(projectRoot?: string, params?: { topic?: string; }): Promise>; /** pipeline.manifest.link - Link manifest entry to a task */ export declare function pipelineManifestLink(taskId: string, researchId: string, notes?: string, projectRoot?: string): Promise; /** * Read all manifest entries from the pipeline_manifest table. * Replaces readManifestEntries() from pipeline-manifest-compat. */ export declare function readManifestEntries(projectRoot?: string): Promise; /** * Filter manifest entries by criteria (alias for backward compatibility). */ export declare function filterEntries(entries: ExtendedManifestEntry[], filter: ResearchFilter): ExtendedManifestEntry[]; /** * Distill a manifest entry to brain.db observation (Phase 3, pending). */ export declare function distillManifestEntry(_entryId: string, _projectRoot?: string): Promise; /** * Migrate existing .cleo/MANIFEST.jsonl entries into the pipeline_manifest table. * Skips entries that already exist (by id). Renames MANIFEST.jsonl to * MANIFEST.jsonl.migrated when done. * * @returns Count of migrated and skipped entries. */ export declare function migrateManifestJsonlToSqlite(projectRoot?: string): Promise<{ migrated: number; skipped: number; }>; //# sourceMappingURL=pipeline-manifest-sqlite.d.ts.map