import type { PendingDecision } from '../../types/index.js'; /** Factual origin labels for content OpenLore serves to an agent or reviewer. */ export declare const SERVED_CONTENT_PROVENANCES: readonly ["reviewed-corpus", "local-unreviewed", "foreign-actor", "imported", "source-derived"]; export type ServedContentProvenance = (typeof SERVED_CONTENT_PROVENANCES)[number]; export interface ServedContentMetadata { provenance: ServedContentProvenance; } /** Human approval is the boundary; automatic or pending states remain unreviewed. */ export declare function decisionContentProvenance(decision: Pick): ServedContentProvenance; export type AnalysisContentProvenance = Extract; /** Persist the live graph's factual origin. The marker is local metadata, not bundle payload. */ export declare function writeAnalysisContentProvenance(analysisDir: string, provenance: AnalysisContentProvenance): Promise; /** Legacy analyses predate the marker and were locally built, so they remain source-derived. */ export declare function readAnalysisContentProvenance(rootPath: string): Promise; /** * Human-reviewed corpus is the default branch. Any branch, staged, unstaged, or * untracked difference under the path remains local-unreviewed. If Git cannot * establish that boundary, fail conservatively to local-unreviewed. */ export declare function reviewedFileContentProvenance(rootPath: string, relativePath: string): Promise>; /** * Classify bytes returned from the persisted spec index. A clean current file * cannot upgrade stale indexed text: every served excerpt must still occur in * that file before it may inherit the file's reviewed provenance. */ export declare function indexedSpecContentProvenance(rootPath: string, relativePath: string, servedValues: readonly string[]): Promise>; /** * Frame bytes for an agent without rewriting them. The selected delimiter is * checked against the content, so the enclosed content cannot contain (and * therefore cannot forge) either boundary line. */ export declare function frameServedContent(content: string, provenance: ServedContentProvenance | readonly ServedContentProvenance[], label: string): string; export type InjectionShape = 'imperative-override' | 'message-impersonation' | 'decision-steering'; export interface InjectionShapeMatch { shape: InjectionShape; excerpt: string; } export declare const INJECTION_SHAPE_LIMITS: string; /** Deterministic, offline lexical indicators. They diagnose text and never mutate it. */ export declare function detectInjectionShapes(content: string): InjectionShapeMatch[]; //# sourceMappingURL=served-content.d.ts.map