genkitx-astra-db
Version:
An Astra DB indexer and retriever for Genkit
80 lines (77 loc) • 3.94 kB
text/typescript
import * as genkit from 'genkit';
import { z, Genkit } from 'genkit';
import { EmbedderArgument } from 'genkit/embedder';
import { GenkitPlugin } from 'genkit/plugin';
import { SomeDoc, Filter } from '@datastax/astra-db-ts';
type AstraDBClientOptions = {
applicationToken: string;
apiEndpoint: string;
keyspace?: string;
};
declare const astraDBRetrieverRef: <Schema extends SomeDoc>(params: {
collectionName: string;
displayName?: string;
}) => genkit.RetrieverReference<z.ZodObject<z.objectUtil.extendShape<{
k: z.ZodOptional<z.ZodNumber>;
}, {
filter: z.ZodOptional<z.ZodType<Filter<Schema>, z.ZodTypeDef, Filter<Schema>>>;
}>, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.objectUtil.extendShape<{
k: z.ZodOptional<z.ZodNumber>;
}, {
filter: z.ZodOptional<z.ZodType<Filter<Schema>, z.ZodTypeDef, Filter<Schema>>>;
}>>, any> extends infer T ? { [k in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.objectUtil.extendShape<{
k: z.ZodOptional<z.ZodNumber>;
}, {
filter: z.ZodOptional<z.ZodType<Filter<Schema>, z.ZodTypeDef, Filter<Schema>>>;
}>>, any>[k]; } : never, z.baseObjectInputType<z.objectUtil.extendShape<{
k: z.ZodOptional<z.ZodNumber>;
}, {
filter: z.ZodOptional<z.ZodType<Filter<Schema>, z.ZodTypeDef, Filter<Schema>>>;
}>> extends infer T_1 ? { [k_1 in keyof T_1]: z.baseObjectInputType<z.objectUtil.extendShape<{
k: z.ZodOptional<z.ZodNumber>;
}, {
filter: z.ZodOptional<z.ZodType<Filter<Schema>, z.ZodTypeDef, Filter<Schema>>>;
}>>[k_1]; } : never>>;
declare const astraDBIndexerRef: (params: {
collectionName: string;
displayName?: string;
}) => genkit.IndexerReference<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
declare function astraDB<EmbedderCustomOptions extends z.ZodTypeAny>(params: {
clientParams?: AstraDBClientOptions;
collectionName: string;
embedder?: EmbedderArgument<EmbedderCustomOptions>;
embedderOptions?: z.infer<EmbedderCustomOptions>;
}[]): GenkitPlugin;
declare function configureAstraDBRetriever<Schema extends SomeDoc, EmbedderCustomOptions extends z.ZodTypeAny>(ai: Genkit, params: {
clientParams?: AstraDBClientOptions;
collectionName: string;
embedder?: EmbedderArgument<EmbedderCustomOptions>;
embedderOptions?: z.infer<EmbedderCustomOptions>;
}): genkit.RetrieverAction<z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
k: z.ZodOptional<z.ZodNumber>;
}, {
filter: z.ZodOptional<z.ZodType<Filter<Schema>, z.ZodTypeDef, Filter<Schema>>>;
}>, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.objectUtil.extendShape<{
k: z.ZodOptional<z.ZodNumber>;
}, {
filter: z.ZodOptional<z.ZodType<Filter<Schema>, z.ZodTypeDef, Filter<Schema>>>;
}>>, any> extends infer T ? { [k in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<z.objectUtil.extendShape<{
k: z.ZodOptional<z.ZodNumber>;
}, {
filter: z.ZodOptional<z.ZodType<Filter<Schema>, z.ZodTypeDef, Filter<Schema>>>;
}>>, any>[k]; } : never, z.baseObjectInputType<z.objectUtil.extendShape<{
k: z.ZodOptional<z.ZodNumber>;
}, {
filter: z.ZodOptional<z.ZodType<Filter<Schema>, z.ZodTypeDef, Filter<Schema>>>;
}>> extends infer T_1 ? { [k_1 in keyof T_1]: z.baseObjectInputType<z.objectUtil.extendShape<{
k: z.ZodOptional<z.ZodNumber>;
}, {
filter: z.ZodOptional<z.ZodType<Filter<Schema>, z.ZodTypeDef, Filter<Schema>>>;
}>>[k_1]; } : never>>>;
declare function configureAstraDBIndexer<EmbedderCustomOptions extends z.ZodTypeAny>(ai: Genkit, params: {
clientParams?: AstraDBClientOptions;
collectionName: string;
embedder?: EmbedderArgument<EmbedderCustomOptions>;
embedderOptions?: z.infer<EmbedderCustomOptions>;
}): genkit.IndexerAction<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
export { astraDB, astraDBIndexerRef, astraDBRetrieverRef, configureAstraDBIndexer, configureAstraDBRetriever };