mongodb-chatbot-server
Version:
A chatbot server for retrieval augmented generation (RAG).
205 lines • 8.5 kB
TypeScript
import { Conversation, Message } from "mongodb-rag-core";
import { ObjectId } from "mongodb-rag-core/mongodb";
import { z } from "zod";
export type ApiMessage = z.infer<typeof ApiMessage>;
export declare const ApiMessage: z.ZodObject<{
id: z.ZodString;
role: z.ZodEnum<["system", "assistant", "user", "function"]>;
content: z.ZodString;
rating: z.ZodOptional<z.ZodBoolean>;
createdAt: z.ZodNumber;
references: z.ZodOptional<z.ZodArray<z.ZodObject<{
url: z.ZodString;
title: z.ZodString;
metadata: z.ZodOptional<z.ZodObject<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough">>>;
}, "strip", z.ZodTypeAny, {
url: string;
title: string;
metadata?: z.objectOutputType<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough"> | undefined;
}, {
url: string;
title: string;
metadata?: z.objectInputType<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough"> | undefined;
}>, "many">>;
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
role: "function" | "user" | "assistant" | "system";
id: string;
content: string;
createdAt: number;
rating?: boolean | undefined;
metadata?: Record<string, unknown> | undefined;
references?: {
url: string;
title: string;
metadata?: z.objectOutputType<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough"> | undefined;
}[] | undefined;
}, {
role: "function" | "user" | "assistant" | "system";
id: string;
content: string;
createdAt: number;
rating?: boolean | undefined;
metadata?: Record<string, unknown> | undefined;
references?: {
url: string;
title: string;
metadata?: z.objectInputType<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough"> | undefined;
}[] | undefined;
}>;
export type ApiConversation = z.infer<typeof ApiConversation>;
export declare const ApiConversation: z.ZodObject<{
_id: z.ZodString;
messages: z.ZodArray<z.ZodObject<{
id: z.ZodString;
role: z.ZodEnum<["system", "assistant", "user", "function"]>;
content: z.ZodString;
rating: z.ZodOptional<z.ZodBoolean>;
createdAt: z.ZodNumber;
references: z.ZodOptional<z.ZodArray<z.ZodObject<{
url: z.ZodString;
title: z.ZodString;
metadata: z.ZodOptional<z.ZodObject<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough">>>;
}, "strip", z.ZodTypeAny, {
url: string;
title: string;
metadata?: z.objectOutputType<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough"> | undefined;
}, {
url: string;
title: string;
metadata?: z.objectInputType<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough"> | undefined;
}>, "many">>;
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
role: "function" | "user" | "assistant" | "system";
id: string;
content: string;
createdAt: number;
rating?: boolean | undefined;
metadata?: Record<string, unknown> | undefined;
references?: {
url: string;
title: string;
metadata?: z.objectOutputType<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough"> | undefined;
}[] | undefined;
}, {
role: "function" | "user" | "assistant" | "system";
id: string;
content: string;
createdAt: number;
rating?: boolean | undefined;
metadata?: Record<string, unknown> | undefined;
references?: {
url: string;
title: string;
metadata?: z.objectInputType<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough"> | undefined;
}[] | undefined;
}>, "many">;
createdAt: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
createdAt: number;
_id: string;
messages: {
role: "function" | "user" | "assistant" | "system";
id: string;
content: string;
createdAt: number;
rating?: boolean | undefined;
metadata?: Record<string, unknown> | undefined;
references?: {
url: string;
title: string;
metadata?: z.objectOutputType<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough"> | undefined;
}[] | undefined;
}[];
}, {
createdAt: number;
_id: string;
messages: {
role: "function" | "user" | "assistant" | "system";
id: string;
content: string;
createdAt: number;
rating?: boolean | undefined;
metadata?: Record<string, unknown> | undefined;
references?: {
url: string;
title: string;
metadata?: z.objectInputType<{
sourceName: z.ZodOptional<z.ZodString>;
sourceType: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough"> | undefined;
}[] | undefined;
}[];
}>;
export declare function convertMessageFromDbToApi(message: Message, conversationId?: ObjectId): ApiMessage;
export declare function convertConversationFromDbToApi(conversation: Conversation): ApiConversation;
export declare function isValidIp(ip?: string): boolean;
export declare function areEquivalentIpAddresses(ip1: string, ip2: string): boolean;
export type RequestError = Error & {
name: "RequestError";
httpStatus: number;
};
export declare const makeRequestError: ({ message, httpStatus, stack: stackIn, }: Omit<RequestError, "name">) => RequestError;
//# sourceMappingURL=utils.d.ts.map