mongodb-rag-core
Version:
Common elements used by MongoDB Chatbot Framework components.
122 lines • 4.02 kB
TypeScript
import { MongoClient } from "mongodb";
import { z } from "zod";
import { LlmOptions } from "./LlmOptions";
import OpenAI from "openai";
export declare const DatabaseInfoSchema: z.ZodObject<{
name: z.ZodString;
description: z.ZodString;
latestDate: z.ZodDate;
collections: z.ZodArray<z.ZodObject<{
name: z.ZodString;
description: z.ZodString;
schema: z.ZodAny;
examples: z.ZodArray<z.ZodAny, "many">;
indexes: z.ZodArray<z.ZodObject<{
description: z.ZodOptional<z.ZodString>;
name: z.ZodString;
key: z.ZodAny;
unique: z.ZodOptional<z.ZodBoolean>;
v: z.ZodOptional<z.ZodNumber>;
background: z.ZodOptional<z.ZodBoolean>;
"2dsphereIndexVersion": z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
name: string;
key?: any;
description?: string | undefined;
v?: number | undefined;
background?: boolean | undefined;
unique?: boolean | undefined;
"2dsphereIndexVersion"?: number | undefined;
}, {
name: string;
key?: any;
description?: string | undefined;
v?: number | undefined;
background?: boolean | undefined;
unique?: boolean | undefined;
"2dsphereIndexVersion"?: number | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
description: string;
name: string;
examples: any[];
indexes: {
name: string;
key?: any;
description?: string | undefined;
v?: number | undefined;
background?: boolean | undefined;
unique?: boolean | undefined;
"2dsphereIndexVersion"?: number | undefined;
}[];
schema?: any;
}, {
description: string;
name: string;
examples: any[];
indexes: {
name: string;
key?: any;
description?: string | undefined;
v?: number | undefined;
background?: boolean | undefined;
unique?: boolean | undefined;
"2dsphereIndexVersion"?: number | undefined;
}[];
schema?: any;
}>, "many">;
}, "strip", z.ZodTypeAny, {
description: string;
name: string;
latestDate: Date;
collections: {
description: string;
name: string;
examples: any[];
indexes: {
name: string;
key?: any;
description?: string | undefined;
v?: number | undefined;
background?: boolean | undefined;
unique?: boolean | undefined;
"2dsphereIndexVersion"?: number | undefined;
}[];
schema?: any;
}[];
}, {
description: string;
name: string;
latestDate: Date;
collections: {
description: string;
name: string;
examples: any[];
indexes: {
name: string;
key?: any;
description?: string | undefined;
v?: number | undefined;
background?: boolean | undefined;
unique?: boolean | undefined;
"2dsphereIndexVersion"?: number | undefined;
}[];
schema?: any;
}[];
}>;
export type DatabaseInfo = z.infer<typeof DatabaseInfoSchema>;
export interface GenerateAnnotatedDatabaseInfoParams {
mongoDb: {
mongoClient: MongoClient;
databaseName: string;
numSamplesPerCollection?: number;
};
latestDate?: Date;
llmOptions: LlmOptions;
openAiClient: OpenAI;
}
/**
Generated LLM-annotated information about a MongoDB database.
*/
export declare function generateAnnotatedDatabaseInfo({ mongoDb: { mongoClient, databaseName, numSamplesPerCollection }, latestDate, llmOptions, openAiClient, }: GenerateAnnotatedDatabaseInfoParams): Promise<DatabaseInfo>;
//# sourceMappingURL=generateAnnotatedDatabaseInfo.d.ts.map