UNPKG

@langchain/core

Version:
1 lines 2.68 kB
{"version":3,"file":"record_manager.cjs","names":["Serializable"],"sources":["../../src/indexing/record_manager.ts"],"sourcesContent":["import { Serializable } from \"../load/serializable.js\";\n\n// Arbitrary value, used for generating namespaced UUIDs.\nexport const UUIDV5_NAMESPACE = \"10f90ea3-90a4-4962-bf75-83a0f3c1c62a\";\n\nexport type UpdateOptions = {\n groupIds?: (string | null)[];\n timeAtLeast?: number;\n};\n\nexport type ListKeyOptions = {\n before?: number;\n after?: number;\n groupIds?: (string | null)[];\n limit?: number;\n};\n\nexport interface RecordManagerInterface {\n /**\n * Creates schema in the record manager.\n * @returns Promise\n */\n createSchema(): Promise<void>;\n /**\n * Returns current time from the record manager.\n * @returns Current time\n */\n getTime(): Promise<number>;\n /**\n * Updates keys in the record manager.\n * @param keys List of keys to update\n * @param groupIds List of groupIds to update\n * @param timeAtLeast Update only if current time is at least this value\n * @returns Promise\n * @throws Error if timeAtLeast is provided and current time is less than timeAtLeast\n * @throws Error if number of keys does not match number of groupIds\n */\n update(keys: string[], updateOptions: UpdateOptions): Promise<void>;\n /**\n * Checks if keys exist in the record manager.\n * @param keys List of keys to check\n * @returns List of booleans indicating if key exists in same order as provided keys\n */\n exists(keys: string[]): Promise<boolean[]>;\n /**\n * Lists keys from the record manager.\n * @param before List keys before this timestamp\n * @param after List keys after this timestamp\n * @param groupIds List keys with these groupIds\n * @param limit Limit the number of keys returned\n * @returns List of keys\n *\n */\n listKeys(options: ListKeyOptions): Promise<string[]>;\n /**\n * Deletes keys from the record manager.\n * @param keys List of keys to delete\n */\n deleteKeys(keys: string[]): Promise<void>;\n}\n\nexport abstract class RecordManager\n extends Serializable\n implements RecordManagerInterface\n{\n lc_namespace = [\"langchain\", \"recordmanagers\"];\n\n abstract createSchema(): Promise<void>;\n\n abstract getTime(): Promise<number>;\n\n abstract update(keys: string[], updateOptions?: UpdateOptions): Promise<void>;\n\n abstract exists(keys: string[]): Promise<boolean[]>;\n\n abstract listKeys(options?: ListKeyOptions): Promise<string[]>;\n\n abstract deleteKeys(keys: string[]): Promise<void>;\n}\n"],"mappings":";;;AAGA,MAAa,mBAAmB;AA0DhC,IAAsB,gBAAtB,cACUA,uCAEV;CACE,eAAe,CAAC,aAAa,gBAAiB;AAa/C"}