Project Files
packages / core / src / policyContracts.ts
export interface RagFileRef {
id: string;
name: string;
}
export type RagAnswerabilityGateDecision =
| "no-retrieval-needed"
| "retrieval-useful"
| "likely-unanswerable"
| "ambiguous";
export type RagAmbiguousQueryBehavior =
| "ask-clarification"
| "attempt-best-effort";
export interface RagAnswerabilityGateResult {
decision: RagAnswerabilityGateDecision;
confidence: number;
reasons: string[];
}
export interface RagQueryRewrite {
label: string;
text: string;
}
export interface RagCorrectiveAssessment {
shouldRetry: boolean;
reasons: string[];
averageScore: number;
aspectCoverage: number;
entryCount: number;
matchedAspectCount: number;
totalAspectCount: number;
}
export interface RagCorrectiveAssessmentOptions {
minAverageScore: number;
minAspectCoverage: number;
minEntryCount: number;
}
export interface RagCorrectiveRewritePlan {
rewrites: RagQueryRewrite[];
aspects: string[];
}
export interface RagSafetySanitizationOptions {
sanitizeRetrievedText: boolean;
stripInstructionalSpans: boolean;
}
export type RagStrictGroundingMode =
| "off"
| "warn-on-weak-evidence"
| "require-evidence";