{"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"}