@genkit-ai/telemetry-server
Version:
Genkit AI telemetry server
40 lines (39 loc) • 1.27 kB
TypeScript
import { TraceQueryFilter, type TraceData } from '@genkit-ai/tools-common';
import { Mutex } from 'async-mutex';
import { TraceQuery, TraceQueryResponse, TraceStore } from './types';
export declare class LocalFileTraceStore implements TraceStore {
private readonly storeRoot;
private readonly indexRoot;
private mutexes;
private filters;
private readonly index;
static defaultFilters: Record<string, string>;
constructor(options?: {
filters?: Record<string, string>;
storeRoot?: string;
indexRoot?: string;
useIndex?: boolean;
});
init(): Promise<void>;
load(id: string): Promise<TraceData | undefined>;
getMutex(id: string): Mutex;
save(id: string, rawTrace: TraceData): Promise<void>;
list(query?: TraceQuery): Promise<TraceQueryResponse>;
private listFromFiles;
private filter;
}
export interface IndexSearchResult {
pageLastIndex?: number;
data: Record<string, string>[];
}
export declare class Index {
private indexRoot;
private currentIndexFile;
constructor(indexRoot: string);
add(traceData: TraceData): void;
search(query: {
limit: number;
startFromIndex?: number;
filter?: TraceQueryFilter;
}): IndexSearchResult;
}