44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
/**
|
|
* Backend Extraction Output Types
|
|
*
|
|
* These types define the structured JSON returned by the backend extractor.
|
|
* Used ONLY by backend extraction, not by chat.
|
|
*/
|
|
|
|
// Structured item returned by Gemini for each category
|
|
export interface StructuredExtractedItem {
|
|
id?: string;
|
|
sourceText: string;
|
|
label?: string;
|
|
description?: string;
|
|
confidence: number;
|
|
importance: "primary" | "supporting";
|
|
}
|
|
|
|
export interface ExtractedInsight {
|
|
id: string;
|
|
type: "problem" | "user" | "feature" | "constraint" | "opportunity" | "other";
|
|
title: string;
|
|
description: string;
|
|
sourceText: string;
|
|
sourceKnowledgeItemId: string;
|
|
importance: "primary" | "supporting";
|
|
confidence: number;
|
|
}
|
|
|
|
export interface ExtractionOutput {
|
|
// Gemini returns rich objects, not just strings
|
|
problems: StructuredExtractedItem[];
|
|
targetUsers: StructuredExtractedItem[];
|
|
features: StructuredExtractedItem[];
|
|
constraints: StructuredExtractedItem[];
|
|
opportunities: StructuredExtractedItem[];
|
|
|
|
// These can remain as arrays (empty arrays OK)
|
|
insights: ExtractedInsight[];
|
|
uncertainties: string[];
|
|
missingInformation: string[];
|
|
overallConfidence: number;
|
|
}
|
|
|