import { type KnowledgeEvidence, type KnowledgeEvidenceTier } from '../akinator/knowledge-path.js'; import type { SqliteDatabase } from '../db/adapter.js'; import { type EntryKind } from '../serialization/validate.js'; import { CURATOR_DRAFT_VERSION } from './curator-trust.js'; import { type EntryRecord } from './entries.js'; import { type Applicability, type MemoryClass, type MemorySignals } from './structured-memory.js'; export { CURATOR_DRAFT_VERSION } from './curator-trust.js'; export type CuratorDraftChange = 'portable-sections-generated' | 'project-references-normalized' | 'paths-generalized' | 'applicability-retained'; export interface CuratorDraft { version: typeof CURATOR_DRAFT_VERSION; title: string; summary: string; body: string; changes: CuratorDraftChange[]; } export interface CuratorCandidate { entryId: string; workspace: string; revision: number; updatedAt: string; kind: EntryKind; tags: string[]; memoryClass?: MemoryClass; applicability?: Applicability; skillName: string; overview: [string, string, string]; draft: CuratorDraft; score: number; reasons: string[]; warnings: string[]; knowledge: KnowledgeEvidence & { skillReady: boolean; readinessReasons: string[]; }; } export interface CuratorCandidatesInput { workspace?: string; cwd?: string; workspaces?: string[]; tags?: string[]; tagMode?: 'any' | 'all'; frameworks?: string[]; languages?: string[]; memoryClasses?: MemoryClass[]; tiers?: KnowledgeEvidenceTier[]; search?: string; limit?: number; cursor?: string; skillReadyOnly?: boolean; allWorkspaces?: boolean; includeGlobalized?: boolean; } export interface CuratorCandidatesResult { workspace: string | null; candidates: CuratorCandidate[]; count: number; truncated: boolean; nextCursor: string | null; totalApproximate: number; securityNotice: string; } export interface CuratorFacetResult { projects: Array<{ workspace: string; name: string; count: number; }>; tags: Array<{ value: string; count: number; }>; frameworks: Array<{ value: string; count: number; }>; languages: Array<{ value: string; count: number; }>; memoryClasses: Array<{ value: MemoryClass; count: number; }>; } export interface GlobalizeCuratorInput { workspace: string; entryId: string; expectedRevision: number; actor?: string; now?: string; } export interface GlobalizeCuratorResult { candidate: CuratorCandidate; global: EntryRecord; idempotent: boolean; } interface StructuredMetadata { memoryClass?: MemoryClass; applicability?: Applicability; signals?: MemorySignals; } export declare function regenerateCuratorDraft(entry: EntryRecord, metadata?: StructuredMetadata): CuratorDraft; export declare function curateMemoryCandidates(database: SqliteDatabase, input?: CuratorCandidatesInput): Promise; export declare function curatorFacets(database: SqliteDatabase, input?: { includeGlobalized?: boolean; workspace?: string; workspaces?: string[]; }): CuratorFacetResult; export declare function globalizeCuratorCandidate(database: SqliteDatabase, input: GlobalizeCuratorInput): GlobalizeCuratorResult; export declare function formatCuratorCandidate(candidate: CuratorCandidate): string; export declare function curatorCandidateForEntry(database: SqliteDatabase, input: { workspace: string; entryId: string; }): CuratorCandidate; //# sourceMappingURL=curator.d.ts.map