import { FileContent, DatasetItemInput } from "./types"; import { ObservationRecordInsertType, ScoreRecordInsertType, TraceRecordInsertType, DatasetRunItemRecordInsertType } from "../../../src/server"; /** * Generates realistic test data for traces, observations, and scores. * * Use generateXxxTraces() for creating different data types: * - generateDatasetTrace(): For dataset experiment runs (langfuse-prompt-experiments env) * - generateEvaluationTraces(): For evaluation data (langfuse-evaluation env) * - generateSyntheticTraces(): For large-scale synthetic data (default env) */ export declare class DataGenerator { private static instance; private fileContent; static getInstance(): DataGenerator; setFileContent(content: FileContent): void; private randomElement; private randomBoolean; private randomInt; /** * Creates dataset run items for dataset runs. * Use for: Dataset experiment scenarios. */ generateDatasetRunItem(input: DatasetItemInput & { runCreatedAt: number; }, projectId: string): DatasetRunItemRecordInsertType; /** * Creates traces from dataset items for experiment runs. * Use for: Dataset experiments scenarios. */ generateDatasetTrace(input: DatasetItemInput, projectId: string): TraceRecordInsertType; /** * Creates observations for dataset experiment traces with variable costs/latency. * Use for: Dataset experiments requiring detailed observation tracking. */ generateDatasetObservation(trace: TraceRecordInsertType, input: DatasetItemInput, projectId: string): ObservationRecordInsertType; /** * Creates scores for dataset experiment scores with variable values. * Use for: Dataset experiments requiring detailed score tracking. */ generateDatasetScore(trace: TraceRecordInsertType, input: DatasetItemInput, projectId: string, scoreNames: string[]): ScoreRecordInsertType; /** * Creates scores for dataset experiment traces with variable values. * Use for: Dataset experiments requiring detailed score tracking. */ generateDatasetRunScore(runId: string, input: { datasetName: string; runNumber: number; }, projectId: string, scoreNames: string[]): ScoreRecordInsertType; /** * Creates large-scale synthetic traces for performance testing. * Use for: Load testing, dashboard demos, realistic usage simulation. */ generateSyntheticTraces(projectId: string, count: number): TraceRecordInsertType[]; generateEvaluationObservations(traces: TraceRecordInsertType[], observationsPerTrace: number | undefined, projectId: string): ObservationRecordInsertType[]; /** * Creates synthetic observations with automatic prompt linking (5% rate). * Use for: Large datasets, hierarchical observation structures, cost variation. */ generateSyntheticObservations(traces: TraceRecordInsertType[], observationsPerTrace?: number): ObservationRecordInsertType[]; generateSyntheticScores(traces: TraceRecordInsertType[], observations: ObservationRecordInsertType[], scoresPerTrace?: number): ScoreRecordInsertType[]; /** * Creates a workflow trace with all possible observation types. */ generateComprehensiveAIWorkflowTrace(traceId: string, projectId: string): { trace: TraceRecordInsertType; observations: ObservationRecordInsertType[]; }; /** * Creates evaluation traces for testing evaluator configurations. * Use for: Evaluation testing, score validation, evaluator development. */ generateEvaluationTraces(projectId: string, count: number): TraceRecordInsertType[]; private generateTraceInput; private generateTraceOutput; private generateObservationInput; private generateObservationOutput; private generateEvaluationInput; private generateEvaluationOutput; /** * Creates realistic support chat session data with conversational flow. * Use for: Demonstrating session-based conversations with tool calls and scoring. */ generateSupportChatSessionData(projectId: string): { traces: TraceRecordInsertType[]; observations: ObservationRecordInsertType[]; scores: ScoreRecordInsertType[]; }; /** * Creates exactly one score per evaluation trace with prefixed IDs. * Use for: Evaluation traces that need score validation, evaluator testing. */ generateEvaluationScores(traces: TraceRecordInsertType[], _observations: ObservationRecordInsertType[], projectId: string): ScoreRecordInsertType[]; } //# sourceMappingURL=data-generators.d.ts.map