UNPKG

@langchain/community

Version:
1 lines • 6.2 kB
{"version":3,"file":"supabase.d.cts","names":["BaseTranslator","Comparator","Comparison","Operation","Operator","StructuredQuery","SupabaseFilterRPCCall","SupabaseMetadata","SupabaseVectorStore","ValueType","SupabaseTranslator","C","T"],"sources":["../../src/structured_query/supabase.d.ts"],"sourcesContent":["import { BaseTranslator, Comparator, Comparison, Operation, Operator, StructuredQuery } from \"@langchain/core/structured_query\";\nimport type { SupabaseFilterRPCCall, SupabaseMetadata, SupabaseVectorStore } from \"../vectorstores/supabase.js\";\n/**\n * Represents the possible values that can be used in a comparison in a\n * structured query. It can be a string or a number.\n */\ntype ValueType = {\n eq: string | number;\n ne: string | number;\n lt: string | number;\n lte: string | number;\n gt: string | number;\n gte: string | number;\n};\n/**\n * A specialized translator designed to work with Supabase, extending the\n * BaseTranslator class. It translates structured queries into a format\n * that can be understood by the Supabase database.\n * @example\n * ```typescript\n * const selfQueryRetriever = new SelfQueryRetriever({\n * llm: new ChatOpenAI({ model: \"gpt-4o-mini\" }),\n * vectorStore: new SupabaseVectorStore(),\n * documentContents: \"Brief summary of a movie\",\n * attributeInfo: [],\n * structuredQueryTranslator: new SupabaseTranslator(),\n * });\n *\n * const queryResult = await selfQueryRetriever.getRelevantDocuments(\n * \"Which movies are directed by Greta Gerwig?\",\n * );\n * ```\n */\nexport declare class SupabaseTranslator<T extends SupabaseVectorStore> extends BaseTranslator<T> {\n VisitOperationOutput: SupabaseFilterRPCCall;\n VisitComparisonOutput: SupabaseFilterRPCCall;\n allowedOperators: Operator[];\n allowedComparators: Comparator[];\n formatFunction(): string;\n /**\n * Returns a function that applies the appropriate comparator operation on\n * the attribute and value provided. The function returned is used to\n * filter data in a Supabase database.\n * @param comparator The comparator to be used in the operation.\n * @returns A function that applies the comparator operation on the attribute and value provided.\n */\n getComparatorFunction<C extends Comparator>(comparator: Comparator): (attr: string, value: ValueType[C]) => SupabaseFilterRPCCall;\n /**\n * Builds a column name based on the attribute and value provided. The\n * column name is used in filtering data in a Supabase database.\n * @param attr The attribute to be used in the column name.\n * @param value The value to be used in the column name.\n * @param includeType Whether to include the data type in the column name.\n * @returns The built column name.\n */\n buildColumnName(attr: string, value: string | number, includeType?: boolean): string;\n /**\n * Visits an operation and returns a string representation of it. This is\n * used in translating a structured query into a format that can be\n * understood by Supabase.\n * @param operation The operation to be visited.\n * @returns A string representation of the operation.\n */\n visitOperationAsString(operation: Operation): string;\n /**\n * Visits an operation and returns a function that applies the operation\n * on a Supabase database. This is used in translating a structured query\n * into a format that can be understood by Supabase.\n * @param operation The operation to be visited.\n * @returns A function that applies the operation on a Supabase database.\n */\n visitOperation(operation: Operation): this[\"VisitOperationOutput\"];\n /**\n * Visits a comparison and returns a string representation of it. This is\n * used in translating a structured query into a format that can be\n * understood by Supabase.\n * @param comparison The comparison to be visited.\n * @returns A string representation of the comparison.\n */\n visitComparisonAsString(comparison: Comparison): string;\n /**\n * Visits a comparison and returns a function that applies the comparison\n * on a Supabase database. This is used in translating a structured query\n * into a format that can be understood by Supabase.\n * @param comparison The comparison to be visited.\n * @returns A function that applies the comparison on a Supabase database.\n */\n visitComparison(comparison: Comparison): this[\"VisitComparisonOutput\"];\n /**\n * Visits a structured query and returns a function that applies the query\n * on a Supabase database. This is used in translating a structured query\n * into a format that can be understood by Supabase.\n * @param query The structured query to be visited.\n * @returns A function that applies the query on a Supabase database.\n */\n visitStructuredQuery(query: StructuredQuery): this[\"VisitStructuredQueryOutput\"];\n /**\n * Merges two filters into one. The merged filter can be used to filter\n * data in a Supabase database.\n * @param defaultFilter The default filter to be merged.\n * @param generatedFilter The generated filter to be merged.\n * @param mergeType The type of merge to be performed. It can be 'and', 'or', or 'replace'.\n * @returns The merged filter.\n */\n mergeFilters(defaultFilter: SupabaseFilterRPCCall | SupabaseMetadata | undefined, generatedFilter: SupabaseFilterRPCCall | undefined, mergeType?: string): SupabaseFilterRPCCall | SupabaseMetadata | undefined;\n}\nexport {};\n//# sourceMappingURL=supabase.d.ts.map"],"mappings":";;;;;;;AACgH;AAgChH;KA3BKS,SAAAA,GA2B6CD;EAA4CI,EAAAA,EAAAA,MAAAA,GAAAA,MAAAA;EACpEN,EAAAA,EAAAA,MAAAA,GAAAA,MAAAA;EACCA,EAAAA,EAAAA,MAAAA,GAAAA,MAAAA;EACLF,GAAAA,EAAAA,MAAAA,GAAAA,MAAAA;EACEH,EAAAA,EAAAA,MAAAA,GAAAA,MAAAA;EASYA,GAAAA,EAAAA,MAAAA,GAAAA,MAAAA;CAAwBA;;;;;;;;;;;;;;;AAbiC;;;;;cAAxES,6BAA6BF,6BAA6BR,eAAeY;wBACpEN;yBACCA;oBACLF;sBACEH;;;;;;;;;kCASYA,wBAAwBA,mCAAmCQ,UAAUE,OAAOL;;;;;;;;;;;;;;;;;oCAiB1EH;;;;;;;;4BAQRA;;;;;;;;sCAQUD;;;;;;;;8BAQRA;;;;;;;;8BAQAG;;;;;;;;;8BASAC,wBAAwBC,+CAA+CD,wDAAwDA,wBAAwBC"}